briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-11-12T18:00:01Zhttps://code.briarproject.org/briar/briar/-/issues/2083Add eager mode to BSP spec2021-11-12T18:00:01ZakwizgranAdd eager mode to BSP specTransfer content securely via SD cards and USB memory sticks2021-07-31https://code.briarproject.org/briar/briar/-/issues/2082Protocol spec for transport key agreement client2021-11-12T17:16:42ZakwizgranProtocol spec for transport key agreement clientTransfer content securely via SD cards and USB memory sticks2021-07-31https://code.briarproject.org/briar/briar/-/issues/2080Improve text for sharing app offline feature2021-07-26T12:31:25ZIvanaImprove text for sharing app offline featureMaybe linked to #2011 - if any work by designer needed after review
for the purposes of this ticket, device1 means the device thatopens the hotspot and device2 is the one that will download the app from device1
#### Screen: Intro Start...Maybe linked to #2011 - if any work by designer needed after review
for the purposes of this ticket, device1 means the device thatopens the hotspot and device2 is the one that will download the app from device1
#### Screen: Intro Start Sharing
1. **Existing Text**
"Your phone will open a local hotspot and provide a small website with a download of this app."
**Comment**
This implies that the download can be done from the device1 – or that device1 can somehow download or push the app onto device 2
**Proposed Text**
Your phone will open a local hotspot and provide an IP address for the other phone to connect to. The other phone will then be able to download the Briar app from your phone.
2. **Existing Text**
Button 'Start sharing'
**Comment**
**Proposed Text**
'Open Local Hotspot'
#### Screen: Wi-Fi details screen
1. **Existing Text**
To download the app on another phone, please connect to this Wi-Fi network
**Comment**
This implies that the user1 needs to connect to the Wi-Fi network – when in reality it is user2 on device2
**Proposed Text**
For another phone to download the Briar app from your phone, it needs to connect to the local hotspot opened by your phone. To do that it needs to add the following Wi-Fi network in its device settings
2. **Existing Text**
Button: Start app sharing
**Comment**
**Proposed Text**
'Generate the IP address'
3. **Existing Text**
Instead of adding the network manually, you can also scan a QR code
**Comment**
this implies that the user1 needs to add the network or scan the code – actually it is the user2 who needs to do it
**Proposed Text**
Instead of adding the network manually, the other phone can also scan a QR code provided in the QR tab
4. **Existing Text**
Button: Start app sharing
**Comment**
It may not be immediately clear to the user when they need to press this button, so I would add a few words of text...
**Proposed text**
After the other device is connected to your hotspot, press the following button to generate the IP address from which it can download the Briar app
5. **Existing Text**
Button: 'Stop sharing'
**Comment**
**Proposed text**
'Close/delete/cancel the hotspot'
#### Wi-Fi details screen QR code tab
1. **Existing Text**
“To download the app on another phone, please scan this QR code to connect to this Wi-Fi network:
**Comment**
It is not the user1 on th ephone1 that needs to scan the code, but the user2 on phone2
**Proposed Text**
To be able to download the Briar app from your phone, the other phone needs to scan this QR code. This will connect it to your phone's local hotspot
2. **Existing Text**
QR code background cut off?
It seem that the buttons Start app sharing and stop sharing cut the bottom of the QR code background off – maybe not on every device... will check. But on Pixel2 they do. On Nokia 3.1 the cut off area is a bit smaller. On Samsung A01 Core, there is no cut off... the background has nice rounded corners (however, maybe the space between the QR code background and the buttons bellow could be increased?
#### IP address screen
1. **Existing Text**
After you are connected to the Wi-Fi, carefully enter this address in your browser
**Comment**
This reads as though the user 1 needs to enter this code, and it is actually the user2 on device2.
**Proposed Text**
After the other device is connected to the local hotspot on your phone, it needs to enter this address into its browser
This will open a small website from which they can download the Briar app.
2. **Existing Text**
Instead of typing the address manually, you can also scan QR code
**Comment**
This is addressed to user1 on device1 and it should be addressed to the user2 ondevice2
**Proposed Text**
Instead of typing the address manually, the other phone can scan the QR code provided in the QR tab
#### IP address screenQR tab
1. **Existing text**
After you are connected to the Wi-Fi scan this QR code to download the app
**Comment**
**Proposed Text*
When the other phone scans this QR code, this action will enter the IP address into its browser.
You need to keep the hotspot on your phone open (by staying on this screen) whilst the donwnload is ongoing. When the other phone has successfully downloaded the Briar app from your phone, you can close this screen by pressing Stop Sharing (or 'Close/delete/cancel hotspot' if button renamed)Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2079Check that timestamp is reasonable before deriving transport keys2021-07-06T14:21:54ZakwizgranCheck that timestamp is reasonable before deriving transport keysDeriving rotation mode transport keys with a very old timestamp may take a long time, as the keys need to be rotated from the period containing the very old timestamp to the current period. If we do this while holding a DB transaction th...Deriving rotation mode transport keys with a very old timestamp may take a long time, as the keys need to be rotated from the period containing the very old timestamp to the current period. If we do this while holding a DB transaction then the DB may be blocked. Sanity-check the timestamp before deriving rotation mode keys and reject it if it's unreasonably old.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2077Add DB methods for checking whether there's anything to send to a contact2021-07-06T10:50:14ZakwizgranAdd DB methods for checking whether there's anything to send to a contactTransfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2076Usability testing for transferring content via SD cards and USB sticks2021-08-31T13:10:44ZakwizgranUsability testing for transferring content via SD cards and USB sticksTransfer content securely via SD cards and USB memory sticksRenata GegajRenata Gegaj2021-07-31https://code.briarproject.org/briar/briar/-/issues/2071Remove ContactIds from RemovableDriveManager's task management2021-07-06T09:41:47ZTorsten GroteRemove ContactIds from RemovableDriveManager's task managementRemove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an ...Remove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an existing task.
* For reader tasks, we don't provide any progress information. We can just remove the progress monitoring stuff from the reader task, and have it post a single progress update when it's complete (success or error).Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2070Unit test for transport key agreement validator2021-06-23T14:08:44ZakwizgranUnit test for transport key agreement validatorTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2069Integration test for transport key agreement client2021-07-02T11:11:31ZakwizgranIntegration test for transport key agreement clientTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2065Implement UI of transfer data feature2021-07-06T09:41:34ZTorsten GroteImplement UI of transfer data featureTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2063Allow messages to be resent before they expire2021-07-06T09:41:53ZakwizgranAllow messages to be resent before they expireWhen sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports...When sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice realises that she accidentally used a drive belonging to her elderly mother, Carol, who uses the drive to store episodes of Desperate Housewives that she watches on the long bus ride to San Pedro de Atacama (Carol doesn't enjoy the austere beauty of the Atacama Desert, for reasons that are beyond the scope of this user story). Alice deletes the file and exports her messages again, using the right drive this time. Alice may expect that the new file contains all messages not seen by Bob, but in fact it doesn't contain any messages. The messages in the deleted file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice writes another message and wants to send this too. So she exports messages to the drive again. Alice may expect that if she overwrites the file she created the first time, the new file will contain all messages not seen by Bob. But in fact it will only contain the most recent message. The messages in the overwritten file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive and attaches it to a carrier pigeon. Knowing that the Atacama Desert is a harsh environment for pigeons, Alice also exports messages to a second drive, which she attaches to a carrier tortoise as a backup in case the pigeon succumbs to the arid climate. Alice may expect that the second drive contains the same messages as the first one, but in fact it doesn't contain any messages. The messages attached to the unfortunate pigeon won't be sendable again for one max round-trip time
To address these user stories we should send all unacked messages when syncing via removable drives. When syncing via mailboxes we should continue to use the current strategy of sending only messages that have not been sent before, or that were last sent more than one max round-trip time ago.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2061inform user if connection does not work because time is out of synch2021-08-27T11:41:52Zsysterinform user if connection does not work because time is out of synchIf the time is out of sync with the time of a contact, one cannot connect with them over bluetooth (haven't checked it with wifi/internet)
There is no further information in the app, why the connection fails and so it difficult for a u...If the time is out of sync with the time of a contact, one cannot connect with them over bluetooth (haven't checked it with wifi/internet)
There is no further information in the app, why the connection fails and so it difficult for a user to detect and correct the issue.
Time out of sync might happen often through the following:
- battery empty
- battery unplugged
- user has a spare phone that they haven't used since long and they just start it to test briar
If connection does not work because time is out of sync, the user should receive an inapp information.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2055Hide hotspot offline sharing feature behind feature flag2021-07-06T09:38:53ZTorsten GroteHide hotspot offline sharing feature behind feature flagInstall via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2051Rename app.apk to briar-X.Y.apk2021-07-06T09:39:08ZSebastianRename app.apk to briar-X.Y.apkIt probably makes sense to rename `app.apk` to something meaningful like `briar-X.Y.apk` on the hotspot download page, because that's the name it will end up with in the Downloads folder of the recipient. In case someone wants to copy th...It probably makes sense to rename `app.apk` to something meaningful like `briar-X.Y.apk` on the hotspot download page, because that's the name it will end up with in the Downloads folder of the recipient. In case someone wants to copy that over some other medium like email or USB stick, it's going to be easier to find.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2045Make retransmissions in the sync protocol more flexible2021-07-06T09:41:41ZDaniel LublinMake retransmissions in the sync protocol more flexibleDifferent transports need different retransmission behaviour. Retransmission is currently coupled with key rotation period.
For the Removable Drive we might want cause retransmissions every time that the data for a contact is written to...Different transports need different retransmission behaviour. Retransmission is currently coupled with key rotation period.
For the Removable Drive we might want cause retransmissions every time that the data for a contact is written to storage.
- user might might not be sure that the file was correctly saved, and on the actual removable drive, and immediately repeat the process
- user might be accumulating data daily for several days before removable drive is eventually dispatched
- drive might soon break or get lost in transit, and user want to repeat the process, retransmitting all messages again (getting them all onto the removable drive again)Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2044Decide whether we want to tell people how to disable unknown sources again2021-07-06T09:38:57ZSebastianDecide whether we want to tell people how to disable unknown sources againAfter downloading briar from somebody else's local hotspot, the user has the browser configure to install APKs downloaded from there, which is potentially unsafe. Maybe we should tell them how to disable that at some point (e.g. the same...After downloading briar from somebody else's local hotspot, the user has the browser configure to install APKs downloaded from there, which is potentially unsafe. Maybe we should tell them how to disable that at some point (e.g. the same time we're telling them how to enable that)Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2042Investigate integrity mechanisms2021-08-26T10:53:13ZSebastianInvestigate integrity mechanismsInstall via Bluetooth or Wi-Fiakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2039Implement HotspotErrorFragment2021-07-06T09:38:42ZTorsten GroteImplement HotspotErrorFragmentWhen the hotspot or the webserver can't start, we should show an error page and include an option to get to the feedback sender, so we can be notified about the issue.When the hotspot or the webserver can't start, we should show an error page and include an option to get to the feedback sender, so we can be notified about the issue.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2038Sync client to establish keys for newly added transports2021-06-17T13:36:49ZakwizgranSync client to establish keys for newly added transportsWrite a sync client that establishes transport keys with each contact for any transports that were added more recently than the contact was added.
Subtask of #1802Write a sync client that establishes transport keys with each contact for any transports that were added more recently than the contact was added.
Subtask of #1802Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2037Create RemovableDriveViewModel2021-06-22T19:04:27ZDaniel LublinCreate RemovableDriveViewModelTransfer content securely via SD cards and USB memory sticksDaniel LublinDaniel Lublin2021-07-31