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:
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
* 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
* Y won't upload anything to X's mailbox, or download anything from it, as Y doesn't yet know about X's mailbox
* Communication via X's mailbox won't work in either direction
* 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
* Y will check X's mailbox for messages and acks uploaded by X
* Communication via X's mailbox will work in both directions
### 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
* In Briar's connection settings, turn off wifi and Bluetooth connections on X and Y
* Take Y offline
* Install Mailbox 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
* 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
* Bring Y back online
* Expectation: X is shown as offline in Y's contact list
* Expectation: X's message does not appear in Y's conversation screen
* Y writes a message to X
* Expectation: Y's message is shown as not sent (clock icon) in Y's conversation screen
* While keeping Y online, bring X back online
* 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)
* Expectation: X's message appears in Y's conversation screen
* 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
* Expectation: Y's message is shown as sent and acked 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)
* While X is still offline, Y writes a message to X
* 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)
* Take Y offline
* Bring X back online
* Expecation: Y is shown as offline in X's contact list
* 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: 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)
* 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
* Briar build 34815eb1a51d3aac2f0978d0066c694c963afc3b
* Briar build dd3a9aa71ba44293be2c05e853c5cb652ce6bf67
* Mailbox build fe5453902347ef7ee91e24b373d340e6a9921f12
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
* Mailbox build fe5453902347ef7ee91e24b373d340e6a9921f12
1.
2.
HTC One m9 Android 7 (x) Samsung Core A01s Android 10 (y) Motorola E2 Android 6 (M)
= 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