briar merge requestshttps://code.briarproject.org/briar/briar/-/merge_requests2022-05-26T12:52:41Zhttps://code.briarproject.org/briar/briar/-/merge_requests/1571Draft: Error handling for mailbox uploads2022-05-26T12:52:41ZakwizgranDraft: Error handling for mailbox uploadsThis branch makes it possible to resend messages and acks without waiting for retransmission timeouts if an exception or crash happens when writing to a high-latency simplex transport (such as a file that will be uploaded to a mailbox).
...This branch makes it possible to resend messages and acks without waiting for retransmission timeouts if an exception or crash happens when writing to a high-latency simplex transport (such as a file that will be uploaded to a mailbox).
Each SimplexOutgoingSession can optionally have a unique SyncSessionId associated with it. If the session has an ID, the IDs of any messages sent or acked during the session are stored in the database. If the session completes successfully, the message IDs are removed. If an IO exception occurs, the session is "reset" by resetting the retransmission times of any messages sent in the session and raising the ack flags of any messages acked in the session, so that the messages are eligible to be sent/acked again immediately.
Any incomplete sessions that are found in the DB at startup are reset, so that if the app crashes before a session completes, any messages sent/acked in the session are eligible to be sent/acked again after restarting the app.
SimplexOutgoingSession is refactored to do all its work on a single IO thread, which fixes #1319.
The equals() methods are removed from subclasses of UniqueId, as these methods broke the contract of equals(). The superclass Bytes already has an equals() method that would consider any subclass instance with the same contents to be equal, but the subclass equals() methods would not consider a superclass instance with the same contents to be equal. This shouldn't have any impact on existing code as we don't make comparisons between different UniqueId types.
Closes #1319, #2226Mailbox: Manage mailbox connectionshttps://code.briarproject.org/briar/briar/-/merge_requests/1543Draft: Resolve "Decode QR code for pairing with mailbox"2021-11-03T11:46:22ZDaniel LublinDraft: Resolve "Decode QR code for pairing with mailbox"Closes #2167Closes #2167Mailbox: PairingDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar/-/merge_requests/1527Draft: Resolve "Hotspot QR codes aren't fully visible without scrolling"2021-08-24T12:56:16ZDaniel LublinDraft: Resolve "Hotspot QR codes aren't fully visible without scrolling"Closes #2148Closes #2148Install via Bluetooth or Wi-FiDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar/-/merge_requests/1339Draft: Resolve "Migrate SetupController to ViewModel"2021-01-12T13:28:57ZDaniel LublinDraft: Resolve "Migrate SetupController to ViewModel"Closes #1865Closes #1865Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1529Draft: Resolve "Usability testing for transferring content via SD cards and U...2021-08-30T09:22:06ZDaniel LublinDraft: Resolve "Usability testing for transferring content via SD cards and USB sticks"Closes #2076Closes #2076Transfer content securely via SD cards and USB memory sticksDaniel LublinDaniel Lublinhttps://code.briarproject.org/briar/briar/-/merge_requests/1539Factor out power management UI code into library2021-11-01T13:16:39ZTorsten GroteFactor out power management UI code into libraryMailbox: Manage app lifecyclehttps://code.briarproject.org/briar/briar/-/merge_requests/1348Use ContactListViewModel in ContactChooserFragment and IntroductionActivity2021-02-04T17:18:23ZSebastianUse ContactListViewModel in ContactChooserFragment and IntroductionActivityCloses #1905
Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact ...Closes #1905
Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact list used updates properly
* On some device (A) repeat steps from 1.
* While the contact selection list is open: use a different device (B) and sent a message to (A). Make sure the number of unread messages displayed on (A) updates and also the contact moves up to the top as it now is the contact with the last recent message
3. Check that selecting a contact works
* Repeat steps from 1.
* select a contact and check that the next screen show the expected contactsAdapt to changes in the Android platformTorsten GroteTorsten Grote