briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-02-27T21:46:09Zhttps://code.briarproject.org/briar/briar/-/issues/1760Connection protocols (mock-up)2021-02-27T21:46:09ZtuquequeConnection protocols (mock-up)Hey... I participated a few weeks ago in the usability testing calls you're running from time to time and I mentioned in that call that I would create a quick mock-up of what I think would improve, simplify and unify the redundancy of th...Hey... I participated a few weeks ago in the usability testing calls you're running from time to time and I mentioned in that call that I would create a quick mock-up of what I think would improve, simplify and unify the redundancy of the connection protocols present in the lower part of the screen in the Hamburger menu and inside the Settings.
![BriarMockUp2](/uploads/c329efbf4d5582906ca0de7afa588de3/BriarMockUp2.gif)
Hopefully the animated gif is pretty self explanatory. I think this concept would unify those settings (so there's no need to actually go to the settings to get more information about the switches)... and it makes those frequently accessed settings much more readily available to the user.
Greets!https://code.briarproject.org/briar/briar/-/issues/2307Connections to Tor v3 hidden services fail repeatedly after about 1 second2023-03-15T12:45:52ZakwizgranConnections to Tor v3 hidden services fail repeatedly after about 1 secondConnections to Tor v3 hidden services sometimes fail repeatedly with `java.io.IOException: Connection failed: Host unreachable` after about 1 second, despite the remote peer being online.
To reproduce this, it's helpful to prevent the r...Connections to Tor v3 hidden services sometimes fail repeatedly with `java.io.IOException: Connection failed: Host unreachable` after about 1 second, despite the remote peer being online.
To reproduce this, it's helpful to prevent the remote peer from making outgoing connections (eg change the check at the top of TorPlugin#createConnection() from `if (getState() != ACTIVE) return null` to `if(getState() != ACTIVE || true) return null` for the remote peer only). This ensures that the local peer won't receive any incoming connections that would prevent it from polling.
Next, start both peers and wait for the local peer to connect to the remote peer. Disable Tor on the remote peer, wait for the local peer to notice that the connection has been lost, then re-enable Tor on the remote peer. The local peer's subsequent connection attempts will continue to fail after about 1 second each for about the next 2 minutes, despite the remote peer being online.
I wonder if Tor is storing some kind of internal state related to previous connection failures that causes subsequent connection attempts to fail early. This may be deliberate (eg avoiding frequent HS descriptor lookups or rendezvous attempts for the same hidden service). Still, it causes Briar to take longer than necessary to reconnect to a contact who has been offline.
Alternatively, perhaps the remote peer isn't reconnecting quickly to its introduction points after coming back online.https://code.briarproject.org/briar/briar/-/issues/2006Connectivity broadcasts aren't received on Huawei P8 Lite 20172021-04-29T14:34:34ZakwizgranConnectivity broadcasts aren't received on Huawei P8 Lite 2017The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar ...The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar uses these broadcasts to detect connectivity changes, so it may be missing connectivity changes on the P8 Lite 2017.https://code.briarproject.org/briar/briar-desktop/-/issues/319Connectivity issues after suspend/hibernate2023-03-08T14:07:07ZSebastianConnectivity issues after suspend/hibernateAs @akwizgran [pointed out here](https://code.briarproject.org/briar/briar-desktop/-/issues/183#note_60283):
> I think Linux takes network interfaces down on suspend/hibernate (wake-on-LAN is handled at the hardware level), so we might
...As @akwizgran [pointed out here](https://code.briarproject.org/briar/briar-desktop/-/issues/183#note_60283):
> I think Linux takes network interfaces down on suspend/hibernate (wake-on-LAN is handled at the hardware level), so we might
need to listen for some kind of event indicating that the device has come out of suspend/hibernate and force a connectivity check. Such events exist on certain flavours of Linux but I don't know how they're implemented (dbus?) or whether anything similar exists on Win/Mac.
I think we also already got reports that briar desktop was offline after coming back from suspend also it appeared online in the own user interface.https://code.briarproject.org/briar/briar-desktop/-/issues/488Consider adding "X-GNOME-UsesNotifications=true" to desktop file2023-02-17T18:01:49ZSebastianConsider adding "X-GNOME-UsesNotifications=true" to desktop fileSee https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$Xm7xnquFI5NTtTJzMCVk6chyqwoRTFcoqTah9wdXG1U?via=matrix.org&via=gnome.org&via=kde.org
and search the web for "X-GNOME-UsesNotifications=true".See https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$Xm7xnquFI5NTtTJzMCVk6chyqwoRTFcoqTah9wdXG1U?via=matrix.org&via=gnome.org&via=kde.org
and search the web for "X-GNOME-UsesNotifications=true".https://code.briarproject.org/briar/briar-desktop/-/issues/334Consider builds for Debian oldstable (10 / Buster)2022-05-03T02:08:46ZSebastianConsider builds for Debian oldstable (10 / Buster)There might still be a number of distros with their latest version based on that version of Debian.
A known example is Deepin 20.5, release 1st of April 2022.
Maybe we should get an overview over significant distros still based on olds...There might still be a number of distros with their latest version based on that version of Debian.
A known example is Deepin 20.5, release 1st of April 2022.
Maybe we should get an overview over significant distros still based on oldstable.https://code.briarproject.org/briar/briar/-/issues/1495Consider network to be disabled when entering doze without being whitelisted2020-11-15T19:17:29ZakwizgranConsider network to be disabled when entering doze without being whitelistedIf the user removes us from the doze whitelist we may lose network connectivity when entering doze.
AndroidNetworkManager should check whether we're whitelisted for doze when entering doze, and if not (which must mean the user removed u...If the user removes us from the doze whitelist we may lose network connectivity when entering doze.
AndroidNetworkManager should check whether we're whitelisted for doze when entering doze, and if not (which must mean the user removed us from the whitelist), it should consider the network to be disabled and broadcast an event so the Tor plugin can disable Tor's network connectivity.https://code.briarproject.org/briar/briar-desktop/-/issues/163Consider offloading avatar loading to the IoExecutor2023-02-01T14:11:02ZSebastianConsider offloading avatar loading to the IoExecutorCurrently we load avatar images on the db thread, maybe that's not optimalCurrently we load avatar images on the db thread, maybe that's not optimalhttps://code.briarproject.org/briar/briar/-/issues/1574Consider separating the package structures for bramble-java and bramble-core2020-11-15T18:21:38ZiwakehConsider separating the package structures for bramble-java and bramble-coreConsider using a separate package for ```bramble-java``` (e.g. ```org.briarproject.bramble.java.*```)
Currently, ```bramble-java``` provides the same packages as ```bramble-core```.
Some ```bramble-java``` classes extend package-private...Consider using a separate package for ```bramble-java``` (e.g. ```org.briarproject.bramble.java.*```)
Currently, ```bramble-java``` provides the same packages as ```bramble-core```.
Some ```bramble-java``` classes extend package-private classes from ```bramble-core``` (mostly in bluetooth). Hmm ....
When briar is going to use java >= 9 and provides modules this needs to be addressed anyway.
(I believe briar should be around for many, many new java versions to come ;-)https://code.briarproject.org/briar/briar-mailbox/-/issues/80Consider starting mailbox before phone has been unlocked by user2023-08-28T16:00:11ZSebastianConsider starting mailbox before phone has been unlocked by userSee !50 in particular https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/50#note_58609See !50 in particular https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/50#note_58609https://code.briarproject.org/briar/briar/-/issues/2074contackt working but there is no green2021-06-15T17:52:53ZWuukocontackt working but there is no greenunable to make new contacts even rhough both persons are online at thr same timeunable to make new contacts even rhough both persons are online at thr same timehttps://code.briarproject.org/briar/briar/-/issues/26Contact details screen2023-06-16T18:29:14ZakwizgranContact details screen* Indication of whether the contact is connected (and via which transports)
* Indication of whether the contact was added directly or introduced
* Indication of whether the contact is using a mailbox
* Indication of whether what features...* Indication of whether the contact is connected (and via which transports)
* Indication of whether the contact was added directly or introduced
* Indication of whether the contact is using a mailbox
* Indication of whether what features are supported by the contact (e.g forums, blogs)
* History of sharing and introduction events
* Button for introducing to another contact
* Button for deleting contacthttps://code.briarproject.org/briar/briar/-/issues/1023Contact did not appear online for 30 minutes2020-11-19T14:21:26ZakwizgranContact did not appear online for 30 minutesA tester reported that Briar took 30 minutes to recognise that a contact was online.
This might be a connectivity issue, or it could be related to the polling interval.A tester reported that Briar took 30 minutes to recognise that a contact was online.
This might be a connectivity issue, or it could be related to the polling interval.https://code.briarproject.org/briar/briar/-/issues/2146Contact list - add symbols for unsent, sent and acknowledged messages next to...2021-08-16T14:08:59ZIvanaContact list - add symbols for unsent, sent and acknowledged messages next to the time stampWith the possibility now to export unsent messages onto a removable medium, the user may have some unsent to be exported messages in some conversations, whereas in other conversations they may have already exported all unsent messages, e...With the possibility now to export unsent messages onto a removable medium, the user may have some unsent to be exported messages in some conversations, whereas in other conversations they may have already exported all unsent messages, etc.
To make it easier for the user to see in which conversations there are unsent, sent or acknowledged messages, maybe the appropriate symbols can be added next to the timestamp for each contact in the contact list.
If done similarly as can be seen on the screenshot below, then the user would know that in the conversation with Belle, there are still messages that are not sent and some that are not acknowledged. ![device-2021-08-10-105617](/uploads/7c5ab2017b728eeba8415f0ad9ca1656/device-2021-08-10-105617.png)https://code.briarproject.org/briar/briar/-/issues/2236Contact list doesn't scroll to top after adding contact2021-11-30T12:19:21ZakwizgranContact list doesn't scroll to top after adding contactA user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after re...A user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after returning from a private conversation. If messages have been sent or received in the conversation, moving it to the top of the list, then it may no longer be visible when returning to the contact list.https://code.briarproject.org/briar/briar/-/issues/1107Contact List Sorting (message received, online status)2020-11-19T13:30:41ZTorsten GroteContact List Sorting (message received, online status)Having now ~30 contacts reveals some small inconveniences that only happen with a larger contact list.
For example, the list is currently sorted by the time messages have been created. So when you finally manage to get an old message sy...Having now ~30 contacts reveals some small inconveniences that only happen with a larger contact list.
For example, the list is currently sorted by the time messages have been created. So when you finally manage to get an old message synced, the unread message bubble and the contact might already be way down, so you overlook the new messages. Sorting the list by the time a message was received might help with that.
Also, when you have many contacts, some might be inactive and never come online. Usually, only a small subset of users is online and users have a higher interest in knowing which users are online and can be communicated with right away. Taking a users online status into account for sorting or offering the option to hide offline users might improve things here.https://code.briarproject.org/briar/briar/-/issues/921Contact seemed to remain online after phone was reused2020-11-19T15:25:24ZakwizgranContact seemed to remain online after phone was reusedThis issue arose in user testing when one of the devices was reused by another tester.
User A with device X and user B with device Y added each other as contacts. Then user C took over device Y and created a new account. User A continue...This issue arose in user testing when one of the devices was reused by another tester.
User A with device X and user B with device Y added each other as contacts. Then user C took over device Y and created a new account. User A continued to see user B as online.
This may have been caused by a Bluetooth channel remaining open between the devices, causing user A to think that a connection to user B was still open. Perhaps a subsequent connection between user A and user C either reused the channel or otherwise caused it to remain open rather than timing out, or perhaps the Bluetooth stack on device X simply doesn't time out connections in a reasonable time.
If any of those speculations are right, we should work out how to avoid relying on Bluetooth to time out the connection and time out after a reasonable time in the Bramble stack instead.
We should also check that Bluetooth connections are being disposed of properly when they're closed.https://code.briarproject.org/briar/briar/-/issues/1735Contact trust level2020-11-15T15:50:28ZVladislavContact trust levelContact Checkboxes:
1. Allow/disallow connections other than tor (bluetooth, wifi direct)
2. Allow/disallow connection trough friends of this friend ('A' can communicate with D trough C whom trust your friend B, A is not a friend with C)...Contact Checkboxes:
1. Allow/disallow connections other than tor (bluetooth, wifi direct)
2. Allow/disallow connection trough friends of this friend ('A' can communicate with D trough C whom trust your friend B, A is not a friend with C)
That will become something like trusted lookup service, you mentioned here https://code.briarproject.org/briar/briar/issues/1730
3. Allow/disallow connection trough my friends
4. Trust/deep level - max distant friend, max level of friends of friends of friends you allow.https://code.briarproject.org/briar/briar/-/issues/1936Contact was shown as offline when online2021-02-17T11:15:26ZakwizgranContact was shown as offline when online* Android version: 10
* Phone model: Huawei LYA-L29 (LYA-L29RU)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Very often displays incorrect information about the network status of another contact. The interlocutor is online for all...* Android version: 10
* Phone model: Huawei LYA-L29 (LYA-L29RU)
* Briar version: 1.2.13 (5fdc7e7)
* User feedback: "Very often displays incorrect information about the network status of another contact. The interlocutor is online for all network conditions, and displays as if he is not available."
Edited log:
```
02-12 20:59:14.597 I/DuplexOutgoingSession: Sending keepalive
02-12 20:59:44.598 I/DuplexOutgoingSession: Sending keepalive
02-12 20:59:53.360 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
02-12 20:59:53.367 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 20:59:53.367 I/TorPlugin: Country code: RU
02-12 20:59:53.367 I/TorPlugin: Charging: false
02-12 20:59:53.367 I/TorPlugin: Enabling network
02-12 20:59:53.367 I/TorPlugin: Using obfs4 bridges
02-12 20:59:53.367 I/TorPlugin: Disabling connection padding
02-12 21:00:02.666 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
02-12 21:00:02.672 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.bluetooth
02-12 21:00:09.531 I/BaseActivity: Creating SplashScreenActivity
02-12 21:00:09.575 I/BaseActivity: Creating NavDrawerActivity
02-12 21:00:09.597 I/BaseActivity: Starting NavDrawerActivity
02-12 21:00:09.598 I/BaseActivity: Resuming NavDrawerActivity
02-12 21:00:10.158 I/BaseActivity: Destroying SplashScreenActivity
02-12 21:00:14.598 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:16.395 I/BaseActivity: Pausing NavDrawerActivity
02-12 21:00:16.818 I/BaseActivity: Stopping NavDrawerActivity
02-12 21:00:17.015 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
02-12 21:00:17.019 I/ConnectionRegistryImpl: 1 contacts connected or better: org.briarproject.bramble.tor
02-12 21:00:17.020 I/TorPlugin: Connecting to v3 wwi[scrubbed]
02-12 21:00:17.793 I/TorPlugin: Connected to v3 wwi[scrubbed]
02-12 21:00:17.824 I/DuplexOutgoingSession: Generated ack: false
02-12 21:00:17.827 I/DuplexOutgoingSession: Generated batch: false
02-12 21:00:17.830 I/DuplexOutgoingSession: Generated offer: false
02-12 21:00:17.830 I/DuplexOutgoingSession: Generated request: false
02-12 21:00:18.981 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
02-12 21:00:18.982 I/ConnectionRegistryImpl: Contact connected
02-12 21:00:18.982 I/ConnectionRegistryImpl: Setting connection priority: org.briarproject.bramble.tor
02-12 21:00:28.954 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_OFF
02-12 21:00:28.959 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 21:00:28.959 I/TorPlugin: Country code: RU
02-12 21:00:28.959 I/TorPlugin: Charging: false
02-12 21:00:28.959 I/TorPlugin: Enabling network
02-12 21:00:28.959 I/TorPlugin: Using obfs4 bridges
02-12 21:00:28.959 I/TorPlugin: Disabling connection padding
02-12 21:00:33.955 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.584 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.720 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:34.942 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:35.030 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:39.403 I/TorPlugin: V3 descriptor uploaded
02-12 21:00:44.598 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:47.823 I/DuplexOutgoingSession: Sending keepalive
02-12 21:00:50.914 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
02-12 21:00:50.918 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
02-12 21:00:50.918 I/TorPlugin: Country code: RU
02-12 21:00:50.918 I/TorPlugin: Charging: false
02-12 21:00:50.918 I/TorPlugin: Enabling network
02-12 21:00:50.918 I/TorPlugin: Using obfs4 bridges
02-12 21:00:50.918 I/TorPlugin: Disabling connection padding
02-12 21:00:57.771 I/BaseActivity: Starting NavDrawerActivity
02-12 21:00:57.772 I/BaseActivity: Resuming NavDrawerActivity
02-12 21:01:02.667 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
02-12 21:01:02.673 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.bluetooth
02-12 21:01:05.717 I/TorPlugin: V3 descriptor uploaded
02-12 21:01:06.601 I/TorPlugin: V3 descriptor uploaded
02-12 21:01:06.988 I/BaseActivity: Pausing NavDrawerActivity
02-12 21:01:07.007 I/BaseActivity: Creating SettingsActivity
02-12 21:01:07.026 I/BaseActivity: Starting SettingsActivity
02-12 21:01:07.060 I/BaseActivity: Resuming SettingsActivity
02-12 21:01:07.539 I/BaseActivity: Stopping NavDrawerActivity
02-12 21:01:11.405 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
02-12 21:01:11.418 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.lan
02-12 21:01:11.539 I/BaseActivity: Pausing SettingsActivity
02-12 21:01:11.551 I/BaseActivity: Creating FeedbackActivity
```
Notes:
* A duplex connection to a contact is open at the start of the log
* Later log messages from the poller show that this is a Tor connection, rather than Bluetooth or LAN
* A second Tor connection is made at 21:00:17
* The Tor hidden service descriptor is being uploaded, which may indicate that the device recently came online, or may be the daily republishing of the descriptor
The reported issue could be a UI bug (failing to show/update the online state of one or both contacts), or it could be a network or power management issue at the contact's end, causing the contact's Tor connection to be lost.https://code.briarproject.org/briar/briar/-/issues/833ContactExchangeTaskImpl keeps a reference to KeyAgreementActivity2020-11-21T12:38:56ZakwizgranContactExchangeTaskImpl keeps a reference to KeyAgreementActivityKeyAgreementActivity implements ContactExchangeListener, an interface that ContactExchangeTaskImpl uses to keep the UI informed about its progress. ContactExchangeTaskImpl keeps a reference to the activity via this interface, but the act...KeyAgreementActivity implements ContactExchangeListener, an interface that ContactExchangeTaskImpl uses to keep the UI informed about its progress. ContactExchangeTaskImpl keeps a reference to the activity via this interface, but the activity may be destroyed before the task completes.
The activity's listener methods use runOnUiThreadUnlessDestroyed(), so they should return safely if they're called after the activity's destroyed, but the activity instance will be leaked until the task completes.