Update messages uploaded Y knows x has mb

Ivana
2022-09-28 10:59:23 +00:00
parent cf73a0326e
commit 29a47cd7fe

@@ -14,68 +14,68 @@ The expected results are defined here
Scenarios: Scenarios:
When X has a mailbox, but Y doesn't yet know about X's mailbox: When X has a mailbox, and Y knows about X's mailbox:
* X will upload messages and acks for Y to X's mailbox * X will upload messages and acks for Y to X's mailbox
* Y will upload messages and acks for X to X's mailbox
* X will check X's mailbox for messages and acks uploaded by Y * X will check X's mailbox for messages and acks uploaded by Y
* Y won't upload anything to X's mailbox, or download anything from it, as Y doesn't yet know about X's mailbox * Y will check X's mailbox for messages and acks uploaded by X
* Communication via X's mailbox won't work in either direction * Communication via X's mailbox will work in both directions
* This problem will resolve itself when Y receives X's update informing Y about X's mailbox, which will happen the next time X and Y are online at the same time
### Scenario 2: X has a mailbox that Y doesn't know about ### Scenario 3: X has a mailbox that Y knows about
In this scenario, X and Y become contacts and then Y goes offline. While Y is offline, X links a mailbox (M). Y doesn't know about X's mailbox, because no connection has happened between X and Y since X linked the mailbox. In this scenario, X and Y become contacts and then X links a mailbox (M) while Y is online. Y learns about X's mailbox, because there has been a connection between X and Y since X linked the mailbox. Then Y goes offline.
While Y is offline, X writes a message to Y. X's message is uploaded to X's mailbox (one tick). Then X goes offline and Y comes back online. Y doesn't download X's message from X's mailbox because Y doesn't know about the mailbox yet. While Y is offline, X writes a message to Y. X's message is uploaded to X's mailbox (one tick). Then X goes offline and Y comes back online. Y knows about X's mailbox, so Y downloads X's message from the mailbox.
While X is offline, Y writes a message to X. Y's message is not uploaded to X's mailbox (clock icon), because Y doesn't know about the mailbox yet. Then X comes back online. While X is offline, Y writes a message to X. Y knows about X's mailbox so Y's message is uploaded to X's mailbox (one tick), along with an ack for X's message. Then Y goes offline and X comes back online. X downloads Y's message and the ack for X's message from X's mailbox. X's message is shown as sent and acked (two ticks). X uploads an ack for Y's message to X's mailbox. Then X goes offline and Y comes back online.
When X and Y are online at the same time, both messages are sent and acked (two ticks). While X is offline, Y downloads the ack for Y's message from X's mailbox. Y's message is shown as sent and acked (two ticks).
* Install Briar on X and Y [] Install Briar on X and Y
* Add X and Y as contacts * Add X and Y as contacts
* In Briar's connection settings, turn off wifi and Bluetooth connections on X and Y * In Briar's connection settings, turn off wifi and Bluetooth connections on X and Y
* Take Y offline
* Install Mailbox on M * Install Mailbox on M
* Link Briar running on X with Mailbox running on M * Link Briar running on X with Mailbox running on M
* Wait a few seconds for X's update informing Y about X's mailbox to be delivered to Y
* Take Y offline
* X writes a message to Y * X writes a message to Y
* Expectation: the message is shown as sent (one tick) in X's conversation screen (after a delay of up to 2 minutes for X to connect to M and upload the message) * Expectation: the message is shown as sent (one tick) in X's conversation screen (after a delay of up to 2 minutes for X to connect to M and upload the message)
* Take X offline * Take X offline
* Bring Y back online * Bring Y back online
* Expectation: X is shown as offline in Y's contact list * Expectation: X is shown as offline in Y's contact list
* Expectation: X's message does not appear in Y's conversation screen * Expectation: X's message appears in Y's conversation screen (after a delay of up to 2 minutes for Y to connect to M and download the message)
* Y writes a message to X * While X is still offline, Y writes a message to X
* Expectation: Y's message is shown as not sent (clock icon) in Y's conversation screen * Expectation: Y's message is shown as sent (one tick) in Y's conversation screen (after a delay of up to 2 minutes for Y to connect to M and upload the message)
* While keeping Y online, bring X back online * Take Y offline
* Expectation: X is shown as online in Y's contact list and vice versa (after a delay of up to 2 minutes for X and Y to connect to each other) * Bring X back online
* Expectation: X's message appears in Y's conversation screen * Expecation: Y is shown as offline in X's contact list
* Expectation: X's message is shown as sent and acked (two ticks) in X's conversation screen * Expectation: Y's message appears in X's conversation screen (after a delay of up to 2 minutes for X to connect to M and download the message)
* Expectation: Y's message appears in X's conversation screen * Expectation: X's message is shown as sent and acked (two ticks) in X's conversation screen (after a delay of up to 2 minutes for X to connect to M and download the ack)
* Expectation: Y's message is shown as sent and acked in Y's conversation screen * Take X offline
* Bring Y back online
* Expectation: X is shown as offline in Y's contact list
* Expectation: Y's message is shown as sent and acked (two ticks) in Y's conversation screen (after a delay of up to 2 minutes for Y to connect to M and download the ack)
Executed with the following devices and versions of software Executed with the following devices and versions of software
* Briar build 34815eb1a51d3aac2f0978d0066c694c963afc3b * Briar build dd3a9aa71ba44293be2c05e853c5cb652ce6bf67
* Mailbox build fe5453902347ef7ee91e24b373d340e6a9921f12 * Mailbox build fe5453902347ef7ee91e24b373d340e6a9921f12
Devices: Devices:
1. Samsung Mini 9195 Android 4.4.2 Briar (X) Pixel 2 Android 11 Briar (Y) Nokia 3.2 Android 10 Mailbox 1. Samsung Mini 9195 Android 4.4.2 Briar (X) Samsung A01S Core Android 10 Briar (Y) HTC One M9 Android 7 (M)
= OK =
Executed with the following devices and versions of software
* Briar build 04011e50bc92f4c220187c93dc7330fae2cb96c9 2.
* Mailbox build fe5453902347ef7ee91e24b373d340e6a9921f12
1.
HTC One m9 Android 7 (x) Samsung Core A01s Android 10 (y) Motorola E2 Android 6 (M) HTC One m9 Android 7 (x) Samsung Core A01s Android 10 (y) Motorola E2 Android 6 (M)
= OK = OK
1. Huawei CDY NX9A Android 10 (X) XIAOMI Mi 11 Lite 5G Android 11 (Y) Samsung 6810 S Android 4.1.2 (M) 3. Huawei CDY NX9A Android 10 (X) XIAOMI Mi 11 Lite 5G Android 11 (Y) Samsung 6810 S Android 4.1.2 (M)
= OK = OK