briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-08-04T12:13:59Zhttps://code.briarproject.org/briar/briar/-/issues/2117Make passwords more user friendly2021-08-04T12:13:59ZSebastianMake passwords more user friendly* Avoid '5' and 'S' which can be hard to distinguish
* Maybe use only digits for the password* Avoid '5' and 'S' which can be hard to distinguish
* Maybe use only digits for the passwordInstall via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2105Let contacts know if removable drive transport isn't supported2021-09-02T12:26:52ZakwizgranLet contacts know if removable drive transport isn't supportedAndroid devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties ...Android devices running API < 19 where the removable drive feature isn't supported should let their contacts know that the feature isn't supported. This could be done by not configuring the plugin on API < 19, so no transport properties will be sent.
A nicer but more complex solution would be to send different transport properties on API < 19 (supported = false), so the contact's device knows that we're running a Briar version that's aware of the transport, but our device doesn't support it, and thus the contact's UI can show an appropriate message.
Subtask of #1802.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2104Show startup failure activity immediately instead of showing a notification2021-07-28T10:11:31ZakwizgranShow startup failure activity immediately instead of showing a notificationWhen testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.When testing #2061 we found that the startup failure notification wasn't very noticeable, so it appeared that the app had just closed itself. Let's show the startup failure activity immediately and skip the notification.Transfer content securely via SD cards and USB memory sticksIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2103Check whether we have transport keys before trying to send data via removable...2021-07-06T20:10:49ZakwizgranCheck whether we have transport keys before trying to send data via removable driveAs well as checking whether the contact supports the transport, we should check whether transport keys have been derived.
Subtask of #1802.As well as checking whether the contact supports the transport, we should check whether transport keys have been derived.
Subtask of #1802.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2101Incrementing counter for group info request twice2021-07-06T09:40:25ZSebastianIncrementing counter for group info request twiceI just noticed, when we're requesting group info, I see this output:
```
07-05 12:39:44.503 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 1
07-05 12:39:45.520 19900-19900/org.briarproject.b...I just noticed, when we're requesting group info, I see this output:
```
07-05 12:39:44.503 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 1
07-05 12:39:45.520 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 3
07-05 12:39:46.541 19900-19900/org.briarproject.briar.android.debug I/HotspotManager: requestGroupInfo attempt: 5
```
seems like we increment the `attempt` variable twice.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2100We're asking for location permission although we probably don't need to on AP...2021-08-27T11:41:03ZSebastianWe're asking for location permission although we probably don't need to on API < 29Test instructions: on a device on API level 28 or lower, make sure we do not ask for the location permission. I.e. first go to the app settings and if the location permission is currently granted to the app, then revoke it. Afterwards st...Test instructions: on a device on API level 28 or lower, make sure we do not ask for the location permission. I.e. first go to the app settings and if the location permission is currently granted to the app, then revoke it. Afterwards start the app sharing procedure and expect that we do not ask for the location permission.
When starting the hotspot, we ask the user for the location permission on all API levels, although we probably only need to do this on API 29+.
At least on API 23 we can still successfully start the hotspot and share the app even if the location permission is denied.Install via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2099Transfer Data state lost when Activity and ViewModel get destroyed2021-07-26T15:12:43ZTorsten GroteTransfer Data state lost when Activity and ViewModel get destroyedWhen using the Notorious Developer Option: if I put Briar into the background while a write task is running, then relaunch it from the recent apps list when the task has finished, the `SendFragment` is still shown with the button disable...When using the Notorious Developer Option: if I put Briar into the background while a write task is running, then relaunch it from the recent apps list when the task has finished, the `SendFragment` is still shown with the button disabled and no progress bar. Without the notorious option the `FinalFragment` is shown as expected.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2093Inconsistency when navigating back to intro fragment and rotating device2021-08-27T11:42:38ZSebastianInconsistency when navigating back to intro fragment and rotating deviceOne can start the hotspot and go back to the intro fragment and then rotate the screen. It will then act as if you clicked the button. Maybe tricky to fix, unless going back to the intro fragment should kill the hotspot? Alternatively we...One can start the hotspot and go back to the intro fragment and then rotate the screen. It will then act as if you clicked the button. Maybe tricky to fix, unless going back to the intro fragment should kill the hotspot? Alternatively we could not put the intro fragment onto the back stack, making "back" navigate off the hotspot activity and back to the settings directly.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2092Tapping "start hotspot" twice quickly can mess up the UI2021-08-27T11:41:38ZSebastianTapping "start hotspot" twice quickly can mess up the UI* possibly, "next" can also be tapped twice
* in other places, we just disable buttons after being tapped* possibly, "next" can also be tapped twice
* in other places, we just disable buttons after being tappedInstall via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2091Add a transport property that just indicates that the transport is supported2021-07-02T18:01:34ZakwizgranAdd a transport property that just indicates that the transport is supportedWe need to know whether it's possible to communicate with a given contact via removable drives. The presence of transport keys doesn't necessarily mean the contact supports the transport, as when adding a contact we derive keys for all t...We need to know whether it's possible to communicate with a given contact via removable drives. The presence of transport keys doesn't necessarily mean the contact supports the transport, as when adding a contact we derive keys for all transports we support, without knowing whether the contact also supports them.
For all existing transports we can use transport properties to check whether the contact supports the transport. But the removable drive transport doesn't have any properties.
Add a "supported" property for all transports, so that we can tell which transports a contact supports regardless of whether any properties are needed for establishing a connection.
We may also be able to use this property for key derivation when adding a contact, so that we only derive keys for transports both parties support.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2090Crash after double-tap of Start Sharing button2021-08-27T11:40:55ZIvanaCrash after double-tap of Start Sharing buttonSteps to reproduce:
- Goto settings > share Briar app offline
- on the first screen that shows, double tap the Start Sharing button
Expected results:
- this should be handled gracefully, either treated as single tap and proceeding ont...Steps to reproduce:
- Goto settings > share Briar app offline
- on the first screen that shows, double tap the Start Sharing button
Expected results:
- this should be handled gracefully, either treated as single tap and proceeding onto the following screen, or staying on the same screen, or returning to the Briar settings page - but it should not crash.
Actual results:
- Briar crashes.
First identified on HTCOne M9 (API 24), Android Studio logs attached plus device crash report sent from device itself. Reproduced multiple times. Then also reproduced on Pixel2, API30[crash_HTC_One_M9_24062021.txt](/uploads/5410d133dcff90deceeff4501a30853c/crash_HTC_One_M9_24062021.txt)[Crash_HTC_One_M9_24062021_2.txt](/uploads/0a6cf2ca4d42c83683fbf19f1acea9d4/Crash_HTC_One_M9_24062021_2.txt)Install via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2087Hotspot view model loses state when activity gets recreated2021-07-06T09:40:01ZSebastianHotspot view model loses state when activity gets recreatedTest instructions:
* Enable the developer option "don't keep activities" (Device Settings → System → Developer options → Apps section → Don't keep activities)
* Open briar
* Go to the share briar offline activity (Briar Settings → Share ...Test instructions:
* Enable the developer option "don't keep activities" (Device Settings → System → Developer options → Apps section → Don't keep activities)
* Open briar
* Go to the share briar offline activity (Briar Settings → Share Briar offline)
* Start sharing (revealing the Wifi configuration for the receiving device)
* Switch to any different app
* Switch back to briar
* Observe that you're back at the intro screen of the offline hotspot feature
* Start sharing again (revealing the Wifi configuration again)
* Make sure that sharing is still working, i.e. connect with a second device and download briar
![Screen16](/uploads/a5d8089ee928db9f41a4d317f1255496/Screen16.png)![Screen15](/uploads/4bea1ed9bfea8f8d5b4626c1541b9d34/Screen15.png)Install via Bluetooth or Wi-FiIvanaIvana2021-07-31https://code.briarproject.org/briar/briar/-/issues/2086QR-Code margin and rounded corners color not white in dark mode2021-07-06T09:39:46ZSebastianQR-Code margin and rounded corners color not white in dark mode![Screen14](/uploads/6382fb9eb7de39e2ad9e04a7e7b30a92/Screen14.png)![Screen14](/uploads/6382fb9eb7de39e2ad9e04a7e7b30a92/Screen14.png)Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2084Aborted introduction sessions can't be retried2021-06-28T12:48:17ZakwizgranAborted introduction sessions can't be retriedWhile working on #2079 I discovered that if an introduction session is aborted while handling an incoming message, subsequent attempts to retry the introduction (with the same introducer and introducees) will fail.
This happens because ...While working on #2079 I discovered that if an introduction session is aborted while handling an incoming message, subsequent attempts to retry the introduction (with the same introducer and introducees) will fail.
This happens because the sender records the ID of the message that triggered the abort in the session, but the recipient doesn't. Any subsequent message with the same sender and recipient is rejected by the recipient because it depends on the message that triggered the abort, not on that message's predecessor as the recipient expects.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://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-31