briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-12-09T00:18:37Zhttps://code.briarproject.org/briar/briar/-/issues/187Implement I2P plugin2021-12-09T00:18:37Zstr4dImplement I2P plugin@akwizgran expressed a keen interest in this happening eventually. The basic idea is to add I2P as a transport, so that contacts can choose to communicate over I2P if they wish. It should be similar to the Tor plugin, and will probably b...@akwizgran expressed a keen interest in this happening eventually. The basic idea is to add I2P as a transport, so that contacts can choose to communicate over I2P if they wish. It should be similar to the Tor plugin, and will probably be easier to implement (because I2P has a native Java API).https://code.briarproject.org/briar/briar/-/issues/83Highlight replies to the user's posts2020-11-21T20:04:46ZakwizgranHighlight replies to the user's postsA user asked for some kind of visual indication when their forum posts had been replied to -- perhaps similar to the indication for new posts.A user asked for some kind of visual indication when their forum posts had been replied to -- perhaps similar to the indication for new posts.https://code.briarproject.org/briar/briar/-/issues/81Quote parent when replying to a forum post2020-11-21T20:04:59ZakwizgranQuote parent when replying to a forum postUsers asked for the ability to quote a post when replying to it, as is common in web-based forums.Users asked for the ability to quote a post when replying to it, as is common in web-based forums.https://code.briarproject.org/briar/briar/-/issues/12Timeout while adding a contact2020-11-21T20:35:27ZakwizgranTimeout while adding a contactSeveral users reported timeouts while adding contacts. The problem seemed to be more severe in larger groups. One user experienced a long series of timeouts before successfully adding a contact.
If this problem is caused in some cases b...Several users reported timeouts while adding contacts. The problem seemed to be more severe in larger groups. One user experienced a long series of timeouts before successfully adding a contact.
If this problem is caused in some cases by congestion at the Bluetooth MAC layer, we may be able to mitigate it by keeping a cache of discovered devices and trying to connect to them before performing discovery. If a group of users are adding each other as contacts, the first discovery by each user should put most of the other users' devices in the cache.
If this problem is caused in some cases by poorly performing Bluetooth drivers or hardware, we may not be able to work around it at the application level.
This could be caused by the limit of eight devices (one master and seven slaves) in a Bluetooth piconet. If so, closing any open Bluetooth connections before attempting a new connection may help.https://code.briarproject.org/briar/briar/-/issues/79Mark certain contacts as trusted2020-11-21T20:05:20ZakwizgranMark certain contacts as trustedA user asked for the ability to mark certain contacts as trusted. Trusted contacts might be treated differently - for example they might be allowed to invite people to a private group shared with them, or they might be allowed to initiat...A user asked for the ability to mark certain contacts as trusted. Trusted contacts might be treated differently - for example they might be allowed to invite people to a private group shared with them, or they might be allowed to initiate introductions.https://code.briarproject.org/briar/briar/-/issues/9Support copy and paste2022-10-27T21:53:59ZakwizgranSupport copy and pastehttps://code.briarproject.org/briar/briar/-/issues/74Descriptions for forums2020-11-21T20:05:47ZakwizgranDescriptions for forumsA user asked to be able to add descriptions to forums.
This would be a longer piece of text attached to the forum by its creator that potential subscribers could read when deciding whether to subscribe.A user asked to be able to add descriptions to forums.
This would be a longer piece of text attached to the forum by its creator that potential subscribers could read when deciding whether to subscribe.https://code.briarproject.org/briar/briar/-/issues/110Account backups2023-03-04T16:19:41ZakwizgranAccount backupsMake it possible for the user to backup their Briar account to another device. The backup should use much stronger PBKDF parameters as it's likely to be stored insecurely and doesn't need to be decrypted quickly.Make it possible for the user to backup their Briar account to another device. The backup should use much stronger PBKDF parameters as it's likely to be stored insecurely and doesn't need to be decrypted quickly.https://code.briarproject.org/briar/briar/-/issues/2Allow existing contacts to be re-added2023-03-15T13:04:32ZakwizgranAllow existing contacts to be re-addedRe-adding an existing contact currently throws a ContactExistsException. But re-adding a contact may be necessary if transport properties get out of sync, making it impossible to connect via BTP. If we re-add a contact we should keep any...Re-adding an existing contact currently throws a ContactExistsException. But re-adding a contact may be necessary if transport properties get out of sync, making it impossible to connect via BTP. If we re-add a contact we should keep any existing private messages and group subscriptions.
If one contact uses the same identity as last time and the other doesn't, they'll disagree about whether it's a re-add, so we can't re-derive the same transport keys. Can we reuse the contact ID (if any), import the new transport properties, delete the old transport keys (if any), and create new transport keys?https://code.briarproject.org/briar/briar/-/issues/71Explain why adding a contact failed2021-01-13T13:25:21ZakwizgranExplain why adding a contact failedA user asked to be shown the reason for a connection failing when adding a contact (e.g. timeout, Bluetooth disabled, wrong invitation code).
We can't distinguish a timeout from a wrong invitation code (entering the wrong code will caus...A user asked to be shown the reason for a connection failing when adding a contact (e.g. timeout, Bluetooth disabled, wrong invitation code).
We can't distinguish a timeout from a wrong invitation code (entering the wrong code will cause a timeout), but we may be able to distinguish some other reasons, e.g. Bluetooth discoverability timing out.https://code.briarproject.org/briar/briar/-/issues/109Sign releases with a PGP key2020-10-05T10:22:06ZakwizgranSign releases with a PGP keyhttps://code.briarproject.org/briar/briar/-/issues/70Sign out automatically2020-11-21T20:07:17ZakwizgranSign out automaticallyA user requested the option to sign out automatically after a configurable amount of time.
This was also suggested by a UX reviewer.A user requested the option to sign out automatically after a configurable amount of time.
This was also suggested by a UX reviewer.https://code.briarproject.org/briar/briar/-/issues/69"Minimise" inactive forum threads2020-11-21T20:07:46Zakwizgran"Minimise" inactive forum threadsFeedback from a user: "It would be nice to be able to minimise less active threads to reduce clutter."
~~We don't currently display forum messages in threads, but we should bear this in mind.~~Feedback from a user: "It would be nice to be able to minimise less active threads to reduce clutter."
~~We don't currently display forum messages in threads, but we should bear this in mind.~~https://code.briarproject.org/briar/briar/-/issues/104Confirm signing out2020-11-21T19:44:27ZakwizgranConfirm signing outSome of the UX reviewers asked for a confirmation dialog when signing out. Some users might find this annoying -- we should do A/B testing before committing to this.Some of the UX reviewers asked for a confirmation dialog when signing out. Some users might find this annoying -- we should do A/B testing before committing to this.https://code.briarproject.org/briar/briar/-/issues/66Tor plugin reports NOROUTE but network is available2020-11-21T20:08:10ZakwizgranTor plugin reports NOROUTE but network is availableA user submitted this debugging log. Mobile data is shown as available, enabled and connected, but Tor can't connect to the network.
```
Device type:
HTC One_M8 (Htc)
Android version:
4.4.4 (19)
Architecture:
armeabi-v7a, armeabi
Sys...A user submitted this debugging log. Mobile data is shown as available, enabled and connected, but Tor can't connect to the network.
```
Device type:
HTC One_M8 (Htc)
Android version:
4.4.4 (19)
Architecture:
armeabi-v7a, armeabi
System memory:
1827 MiB total, 505 MiB free, 96 MiB threshold
Virtual machine memory:
12 MiB allocated, 1 MiB free, 192 MiB maximum
Internal storage:
2641 MiB total, 380 MiB free
External storage:
25432 MiB total, 9201 MiB free
Mobile data:
Available, enabled, connected
Wi-Fi:
Not available, not enabled, not connected
Address: 0.0.0.0
Bluetooth:
Available, enabled, connectable, not discoverable
Address: XX:XX:XX:XX:XX:XX
Tor plugin:
Enabled, not running
Address: xxxxxxxxxxxxxxxx.onion
LAN plugin:
Enabled, not running
Bluetooth plugin:
Enabled, running
Address: XX:XX:XX:XX:XX:XX
Debugging log:
04-28 19:52:40.351 I/PollerImpl( 3821): Polling DroidtoothPlugin
04-28 19:52:40.561 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:40.561 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:40.561 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 152; recommendation warn)
04-28 19:52:41.651 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:41.651 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:41.651 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 153; recommendation warn)
04-28 19:52:42.691 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:42.691 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:42.691 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 154; recommendation warn)
04-28 19:52:43.671 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:43.671 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:43.671 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 155; recommendation warn)
04-28 19:52:44.721 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:44.721 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:44.721 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 156; recommendation warn)
04-28 19:52:45.631 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:52:45.631 I/TorPlugin( 3821): OR connection FAILED
04-28 19:52:45.631 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 157; recommendation warn)
04-28 19:53:01.891 I/DroidtoothPlugin( 3821): Scan mode: Connectable
04-28 19:53:06.861 I/AddContactActivity( 3821): Loading setting took 0 ms
04-28 19:53:06.881 W/ResourceType( 3821): No package identifier when getting name for resource number 0x00000001
04-28 19:53:06.881 I/InputMethodManager( 3821): [startInputInner] EditorInfo { packageName=org.briarproject, inputType=0x2, imeOptions=0x4006, privateImeOptions=null }, windowGainingFocus=android.view.ViewRootImpl$W@41eb05a8, mServedView=org.briarproject.android.invitation.CodeEntryView$1{41eaabd0 VFED..CL .F....ID 168,0-623,150 #1}
04-28 19:53:07.971 I/ContactListActivity( 3821): Full load took 1 ms
04-28 19:53:11.641 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:11.641 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:11.641 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 158; recommendation warn)
04-28 19:53:12.651 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:12.651 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:12.651 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 159; recommendation warn)
04-28 19:53:12.751 I/SettingsActivity( 3821): Loading settings took 2 ms
04-28 19:53:13.591 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:13.591 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:13.591 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 160; recommendation warn)
04-28 19:53:13.811 I/System ( 3821): exec(logcat -d -v time *:I @ org.briarproject.android.TestingActivity.getStatusMap:433)
04-28 19:53:14.581 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:14.581 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:14.581 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 161; recommendation warn)
04-28 19:53:15.671 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:15.671 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:15.671 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 162; recommendation warn)
04-28 19:53:15.711 I/DatabaseCleanerImpl( 3821): Checking free space
04-28 19:53:15.711 I/DatabaseComponentImpl( 3821): 9753812992 bytes free space
04-28 19:53:16.681 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:16.681 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:16.681 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 163; recommendation warn)
04-28 19:53:31.611 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:31.611 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.111 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.111 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.151 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.151 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.201 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.201 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.251 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.251 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.301 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.301 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.361 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.361 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.411 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.411 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.461 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.461 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.511 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.511 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.561 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.561 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.611 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.611 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.661 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.661 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.711 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.711 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.761 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.771 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.811 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.821 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.871 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.871 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.931 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.931 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:32.971 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:32.971 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.011 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.011 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.071 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.071 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.121 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.121 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.171 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.171 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.221 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.221 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.271 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.271 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.331 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.331 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.371 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.371 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.421 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.431 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:33.481 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:33.481 I/PhoneWindow( 3821): <VOLUME> Handle volume key by audio manager in PhoneWindow.java, keyCode = 24
04-28 19:53:35.471 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.511 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.561 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.611 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.661 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.711 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.761 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.811 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.861 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.911 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:35.971 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.021 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.071 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.121 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.171 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.221 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.271 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.321 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.371 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.431 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.491 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.531 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:36.581 W/KeyCharacterMap( 3821): Load KCM of non-default device may incur unexpected result
04-28 19:53:42.621 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:42.621 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:42.621 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 164; recommendation warn)
04-28 19:53:43.631 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:43.631 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:43.631 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 165; recommendation warn)
04-28 19:53:44.761 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:44.761 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:44.761 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 166; recommendation warn)
04-28 19:53:45.721 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:45.721 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:45.721 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 167; recommendation warn)
04-28 19:53:46.581 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:46.581 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:46.581 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 168; recommendation warn)
04-28 19:53:47.681 I/TorPlugin( 3821): OR connection LAUNCHED
04-28 19:53:47.681 I/TorPlugin( 3821): OR connection FAILED
04-28 19:53:47.681 I/TorPlugin( 3821): WARN Problem bootstrapping. Stuck at 80%: Connecting to the Tor network. (Network is unreachable; NOROUTE; count 169; recommendation warn)
04-28 19:53:57.711 I/PollerImpl( 3821): Polling AndroidLanTcpPlugin
04-28 19:54:08.151 I/System ( 3821): exec(logcat -d -v time *:I @ org.briarproject.android.TestingActivity.getStatusMap:433)
```https://code.briarproject.org/briar/briar/-/issues/102Describe how messages are delivered2021-01-13T10:59:20ZakwizgranDescribe how messages are deliveredCleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/98Show how many messages/posts are waiting to be sent2020-11-21T19:47:59ZakwizgranShow how many messages/posts are waiting to be sentThis might involve creating some kind of outbox on the dashboard that contains messages and posts that are waiting to be sent, with a badge similar to the badges for newly received messages and posts.This might involve creating some kind of outbox on the dashboard that contains messages and posts that are waiting to be sent, with a badge similar to the badges for newly received messages and posts.https://code.briarproject.org/briar/briar/-/issues/95Notifications for new versions2020-11-21T19:50:53ZakwizgranNotifications for new versionsUsers asked to be notified about new versions of the app.Users asked to be notified about new versions of the app.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/94Help text2020-11-21T19:54:07ZakwizgranHelp textUsers asked for more help text throughout the app.
We may be able to do this in a fairly unobtrusive way by showing help bubbles on the otherwise blank backgrounds of activities the first time they're shown.
We should be careful not to...Users asked for more help text throughout the app.
We may be able to do this in a fairly unobtrusive way by showing help bubbles on the otherwise blank backgrounds of activities the first time they're shown.
We should be careful not to give users too much reading to do the first time they use the app.https://code.briarproject.org/briar/briar/-/issues/61Ratcheting2020-11-21T20:16:11ZakwizgranRatchetingBriar's forward secrecy is based on periodic key rotation rather than ratcheting because we need to ensure forward secrecy even if no communication occurs for a long period, or communication only occurs in one direction. However, we coul...Briar's forward secrecy is based on periodic key rotation rather than ratcheting because we need to ensure forward secrecy even if no communication occurs for a long period, or communication only occurs in one direction. However, we could also use ratcheting opportunistically, so that the exposure of a transport key doesn't expose all future transport keys (the reverse of forward secrecy).
It would make sense to have a separate ratchet for each transport so that the ratchets for low-latency transports can advance quickly, but the ratchet keys for each transport could be synced over any transport.https://code.briarproject.org/briar/briar/-/issues/93Conversation backgrounds2020-11-21T19:57:08ZakwizgranConversation backgroundsUsers asked for the ability to change the background colour of a conversation or set a background image.Users asked for the ability to change the background colour of a conversation or set a background image.https://code.briarproject.org/briar/briar/-/issues/89Tag, categorise or prioritise forums2020-11-21T20:00:34ZakwizgranTag, categorise or prioritise forumsUsers asked for the ability to manage forums by tagging them, putting them into folders or prioritising them. Prioritising could mean flagging a forum as important in order to affect its sort order, or changing it to an archived state wh...Users asked for the ability to manage forums by tagging them, putting them into folders or prioritising them. Prioritising could mean flagging a forum as important in order to affect its sort order, or changing it to an archived state where new posts would no longer trigger notifications or visual indications.https://code.briarproject.org/briar/briar/-/issues/88Show recent activity on the dashboard2020-11-21T20:00:56ZakwizgranShow recent activity on the dashboardA user asked for a summary of recent activity to be shown on the dashboard - for example, this person replied to your post in this forum, or this person shared this forum with you.A user asked for a summary of recent activity to be shown on the dashboard - for example, this person replied to your post in this forum, or this person shared this forum with you.https://code.briarproject.org/briar/briar/-/issues/86Explain the app's privacy properties2021-02-17T19:06:53ZakwizgranExplain the app's privacy propertiesA user asked for a screen to be shown when the app was first run, explaining what privacy properties the app could and couldn't provide.A user asked for a screen to be shown when the app was first run, explaining what privacy properties the app could and couldn't provide.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/85Edit or delete forum and blog posts2021-10-26T10:35:44ZakwizgranEdit or delete forum and blog postsUsers asked for the ability to edit or delete forum posts after posting them.
The group discussed the censorship implications and the inability to force every subscriber to edit or delete their copy of the post. It was suggested that a ...Users asked for the ability to edit or delete forum posts after posting them.
The group discussed the censorship implications and the inability to force every subscriber to edit or delete their copy of the post. It was suggested that a request to edit or delete an earlier post could be posted, which would mark the post as edited or deleted in the UI while providing an option to show the original version.https://code.briarproject.org/briar/briar/-/issues/84Notifications for new messages while signed out2020-11-21T20:02:31ZakwizgranNotifications for new messages while signed outA user asked for notifications to be shown when messages or forums posts are received while the user is signed out.
We can't do this with the current architecture, but this ticket exists to document the demand for the feature.A user asked for notifications to be shown when messages or forums posts are received while the user is signed out.
We can't do this with the current architecture, but this ticket exists to document the demand for the feature.https://code.briarproject.org/briar/briar/-/issues/45Reduce mobile data consumption2021-12-13T14:17:30ZakwizgranReduce mobile data consumptionBriar uses a lot of bandwidth considering the small amount of data it transfers. The most likely culprit is the Tor plugin, which maintains circuits to several introduction points and regularly tries to build circuits to contacts' introd...Briar uses a lot of bandwidth considering the small amount of data it transfers. The most likely culprit is the Tor plugin, which maintains circuits to several introduction points and regularly tries to build circuits to contacts' introduction points. Can we reduce the amount of bandwidth it uses?
~~Ricochet has a nice solution to this: each time we (re)connect to Tor, try to connect to our peers, and while we remain connected, expect them to connect to us rather than vice versa.~~
~~https://github.com/ricochet-im/ricochet/issues/68~~
~~There may be a race condition, however, if our hidden service doesn't become reachable until after we've polled our contacts' services. Can we poll our own hidden service to check its reachability?~~
~~Another possible culprit is the LAN plugin, which will bind to an interface with a non-local address if no local address is available. This is meant to enable the plugin to work on internal networks that use non-local addresses, such as UCL -- but it may also lead to observable connections across the WAN, so perhaps we should change it.~~https://code.briarproject.org/briar/briar/-/issues/44Reduce battery consumption2022-11-02T18:28:35ZakwizgranReduce battery consumptionSeveral users reported that Briar used an excessive amount of battery power. They identified it as the single most important issue that would prevent them from regularly using the app.
Polling for connections to contacts is probably the...Several users reported that Briar used an excessive amount of battery power. They identified it as the single most important issue that would prevent them from regularly using the app.
Polling for connections to contacts is probably the biggest single factor here.https://code.briarproject.org/briar/briar/-/issues/43Private replies to forum posts2020-11-21T20:25:34ZakwizgranPrivate replies to forum posts
User feedback: "It would be good to be able to click someones name from a forum post and be able to private message them. At least there should be an option for a poster to choose if they want to be able to be contacted or not....maybe...
User feedback: "It would be good to be able to click someones name from a forum post and be able to private message them. At least there should be an option for a poster to choose if they want to be able to be contacted or not....maybe tick a box when posting."
It would only be possible to reply to posts from contacts - would that restriction be confusing?
How should the context of the reply be shown? There's a risk of confusing the users about who can see which parts of the conversation.https://code.briarproject.org/briar/briar/-/issues/42Show new messages/forum posts in navigation drawer2023-03-15T12:38:14ZakwizgranShow new messages/forum posts in navigation drawerFeedback from a user: "It would be good to have a place/notification for all new messages when you first go on the app, instead of separately clicking on contacts or forums and searching for messages."
We should show the number of unrea...Feedback from a user: "It would be good to have a place/notification for all new messages when you first go on the app, instead of separately clicking on contacts or forums and searching for messages."
We should show the number of unread private messages next to the Contacts button on the dashboard, and likewise for forum posts. Bonus points for putting the numbers in little red circles (long ago requested by another user).
Another user requested a timeline of recent activity on the dashboard - for example, this person replied to your post on this forum, or this person shared this forum with you.
**Update:** We have no dashboard anymore, but might want to show this in the navigation drawer (#431).https://code.briarproject.org/briar/briar/-/issues/39Wi-Fi Direct plugin2022-01-21T14:28:52ZakwizgranWi-Fi Direct pluginSome devices running Android 4.0 and later support Wi-Fi Direct, which has a legacy mode that allows older devices to connect to WFD devices. The legacy mode creates an access point on the WFD device, with a random SSID and password that...Some devices running Android 4.0 and later support Wi-Fi Direct, which has a legacy mode that allows older devices to connect to WFD devices. The legacy mode creates an access point on the WFD device, with a random SSID and password that must be communicated to the other device out of band. The other device connects as a client in the usual way. The access point doesn't share the WFD device's internet connection, if any.
This could be useful when devices are in wifi range of each other but there's no wifi network; the SSID and password will have to be synced across some other transport (e.g. Bluetooth). When adding contacts via QR codes, the SSID and password can be included in the QR code.
Get the `WifiP2pManager` system service, call `initialize()`, then call `createGroup()` to create an access point. Call `requestGroupInfo()` to get a `WifiP2pGroup`, then call `getNetworkName()` and `getPassphrase()` and to get the transport properties.
After connecting to the access point, how does the client know the access point's IP address? `WifiP2pGroup.getOwner()` returns a `WifiP2pDevice`, which contains a MAC address but not an IP address.
It seems from this example code that `WifiP2pInfo.groupOwnerAddress.toString()` can be passed as the hostname to `Socket.connect()`:
[http://www.cse.unsw.edu.au/~ezarepour/COMP9336/WiFiDirectActivity.java](https://web.archive.org/web/20140310040212/http://www.cse.unsw.edu.au/~ezarepour/COMP9336/WiFiDirectActivity.java)
Presumably we can put that string in the transport properties with the SSID and password.
We may be able to advertise the access point's current SSID and password (in encrypted and obfuscated form) via WFD service discovery:
* Alice creates a legacy mode AP via `WifiP2pManager.createGroup()`
* The AP has a random SSID and password, which Bob doesn't know
* Alice packs the SSID and password into a `WifiP2pServiceInfo`
* Alice advertises the service via `WifiP2pManager.addLocalService()`
* Bob discovers the service via `WifiP2pManager.addServiceRequest()`
* Bob unpacks the SSID and password and connects to the AP as a legacy
client
However, the Thali developers have run into performance and stability problems with WFD service discovery, so this may not be a viable approach.
https://code.briarproject.org/briar/briar/-/issues/1175Delete private group messages2020-11-18T22:38:48ZakwizgranDelete private group messagesUser feedback: "Will be good if you make function "delete message" and "delete message for all" into group chat. Its really important."
Related to #68, #85.User feedback: "Will be good if you make function "delete message" and "delete message for all" into group chat. Its really important."
Related to #68, #85.https://code.briarproject.org/briar/briar/-/issues/1192Chat resets to top not bottom.2022-05-14T16:34:26ZPratiwirChat resets to top not bottom.In a briar beta chat if I send an emoticon smiley then hit the keyboard symbol to use characters the chat resets to the top and I have to scroll all the way down to the end. It should be positioned at the end after using the keyboard sym...In a briar beta chat if I send an emoticon smiley then hit the keyboard symbol to use characters the chat resets to the top and I have to scroll all the way down to the end. It should be positioned at the end after using the keyboard symbol.https://code.briarproject.org/briar/briar/-/issues/1197Manual section needed for Bluetooth and Wi-fi.2020-11-18T22:43:47ZPratiwirManual section needed for Bluetooth and Wi-fi.I initially loaded Briar on three devices and added each to the other as a contact, as in the manual. I had bluetooth turned on and wi-fi too. The manual says that after scanning the QR code the devices will exchange information and the ...I initially loaded Briar on three devices and added each to the other as a contact, as in the manual. I had bluetooth turned on and wi-fi too. The manual says that after scanning the QR code the devices will exchange information and the contacts will be added. This works fine, but what isn't clear is how the process takes place. "You must meet up with the person you want to add as a contact." This implies that bluetooth or local Wi-fi is being used silently. This assumption creates confusion because I then assumed that in Android one just has to have the services activated and the rest is taken care of, as you might expect for easy use in a crisis.
I now think that for the devices to send local messages one has to host a hotspot over Wi-fi or bluetooth. So this should be clear in the manual, how to set up the Wi-fi links or bluetooth links properly and what the requirement is for adding contacts. Is it local bluetooth turned on, paired devices required or not, Wi-fi transmitters active, or logged onto same network, full internet access? Can both QR codes be sent by secure e-mail and scanned by the camera at remote locations at the same time, what is the time wimdow?
"If the internet's down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis." This is the only information in the manual and potentially wrong assumptions about it make actual testing and getting it working more difficult and confusing than it needs to be. The manual is quite compact, but needs additional concise information about what is going on.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1198Briar crashes or restarts on Samsung GT-I90822020-11-18T22:44:40ZakwizgranBriar crashes or restarts on Samsung GT-I9082@Pratiwir reported that Briar repeatedly crashes or restarts when switching between foreground apps on the Samsung GT-I9082.
Unfortunately the logs are too short to show anything that happened before Briar restarted. They just show the ...@Pratiwir reported that Briar repeatedly crashes or restarts when switching between foreground apps on the Samsung GT-I9082.
Unfortunately the logs are too short to show anything that happened before Briar restarted. They just show the later stages of Briar starting up.
Maybe we should change the ACRA config to increase the amount of logcat data attached to the feedback.
* Android version: 4.1.2
* Phone Model: Samsung GT-I9082 (baffinxx)
* Briar version: 0.16.20 (89f50bb)https://code.briarproject.org/briar/briar/-/issues/1200Menu options to jump to start/end of conversation2020-11-18T22:34:04ZakwizgranMenu options to jump to start/end of conversationUser feedback: "We should be able to go to the start or end of the chat."User feedback: "We should be able to go to the start or end of the chat."https://code.briarproject.org/briar/briar/-/issues/1201Trust indicator in conversation view2022-11-18T16:46:06ZakwizgranTrust indicator in conversation viewA user asked for trust indicators to be shown in the conversation view.
"It might also be useful to show some sort of security information to be able to check that we are talking directly to who we think we are without a man in the midd...A user asked for trust indicators to be shown in the conversation view.
"It might also be useful to show some sort of security information to be able to check that we are talking directly to who we think we are without a man in the middle."https://code.briarproject.org/briar/briar/-/issues/1202Minimise long messages in UI2020-11-18T22:32:22ZakwizgranMinimise long messages in UIUser feedback: "It would be nice to be able to minimize very long text bubbles. This is a standard feature on many computer notebook environments."User feedback: "It would be nice to be able to minimize very long text bubbles. This is a standard feature on many computer notebook environments."https://code.briarproject.org/briar/briar/-/issues/1203Attractive backgrounds2020-11-18T22:31:55ZPratiwirAttractive backgroundsI would like to suggest more personalised user features.
Change colors of bubbles and backgrounds. Be able to shift the overall displayed emoticon colors to personal taste. Add backgrounds for other users of a group chat or forum to ac...I would like to suggest more personalised user features.
Change colors of bubbles and backgrounds. Be able to shift the overall displayed emoticon colors to personal taste. Add backgrounds for other users of a group chat or forum to access.
If possible allow for development of scripts to animate dynamic backgrounds, but strictly limited to the background area of the chat and bubble boundary outlines, up to the user to invoke. If this were possible it could add features that other messaging services don't have.https://code.briarproject.org/briar/briar/-/issues/1204Device pipes2020-11-18T22:31:15ZPratiwirDevice pipesI would like a feature where it is possible to send a data stream from one device to another. This would be useful for relaying local internet of things data, current ip address, etc. Perhaps briar could receive and send data between oth...I would like a feature where it is possible to send a data stream from one device to another. This would be useful for relaying local internet of things data, current ip address, etc. Perhaps briar could receive and send data between other programs running on each device, to a particular pipe session that could be set up between users. The linux pipe system might be possible to use.
https://unix.stackexchange.com/questions/342787/how-to-use-pipe-to-apply-a-text-to-a-program
Tor has the unique ability to be immune to dynamic ip address changes, set up vpn etc, but it may be possible to extend briar to enable easily set up data links, if so then it would be easier for the end user and attractive for geeks.https://code.briarproject.org/briar/briar/-/issues/1206Install validation2020-11-18T22:29:19ZPratiwirInstall validationThere have been discussions about hardware db keys but these security features of course assume that users have the correct original software on their devices. If this isn't the case then messages could be leaking.
Some general backgrou...There have been discussions about hardware db keys but these security features of course assume that users have the correct original software on their devices. If this isn't the case then messages could be leaking.
Some general background.
Play store, so far as I know, isn't solely located in jurisdictions free of secret court orders, although there are servers for different regions. Distributed software sometimes does vary, depending on the ip address from which it is requested. I have experienced this when doing md5 checks myself.
Play store also has a serious weakness, it works by using google account login, so even if you download over tor you can't be completely anonymous and you will have difficulty creating any google account using tor.
So Play Store might not be advisable if you think you may have been adversely profiled.
In addition there is also the possibility that https can be intercepted and compromised.
https://www.eff.org/deeplinks/2011/10/how-secure-https-today
Either issue might affect users targeted by ip address and not using tor.
Downloading as an apk file at least gives the possibility to check the hash sum. Also downloading over tor will make it difficult for individual users to be targeted.
So, given these considerations, and that apk files may be used frequently I think it is probably important to have file hashes readily available on a website. Will this be the case?
I am also wondering if there is a way to do an application integrity check from a console as root? Perhaps a small script could be available for this purpose? System file checks can be a good added level of security. I would like to think the application could do this automatically for all users, but it seems this might be difficult to guarantee, and the only really secure way would be via the console. Has anyone any ideas on this?https://code.briarproject.org/briar/briar/-/issues/1208Explain what the clock icon means2022-11-29T14:31:01ZPratiwirExplain what the clock icon meansI am getting a clock symbol for each new chat bubble. I switched to tor, the connection is working. 3 days of trial left. I go to the main contacts screen and select the top left three bars menu, at the bottom left both internet and wifi...I am getting a clock symbol for each new chat bubble. I switched to tor, the connection is working. 3 days of trial left. I go to the main contacts screen and select the top left three bars menu, at the bottom left both internet and wifi symbols are green.
Each contact displays how long ago I typed a message.
I'd like to see some way to get the server status if possible, ideally the response time could be translated to a color with a note of the last round trip time.
I don't know the server ip, in fact multiping on android seems to be working fine over tor.
Just don't know if the server is down or it is some other problem.https://code.briarproject.org/briar/briar/-/issues/1209Unable to add users with Samsung galaxy S8 as contacts2020-11-18T22:17:31ZJoshUnable to add users with Samsung galaxy S8 as contactsI have a OnePlus 3 and I am able to add anyone as contact unless they have a galaxy S8. I have tried pairing via Bluetooth, rebooting both phones, nothing gets the process to work.
Both people can be added as contacts if the invite feat...I have a OnePlus 3 and I am able to add anyone as contact unless they have a galaxy S8. I have tried pairing via Bluetooth, rebooting both phones, nothing gets the process to work.
Both people can be added as contacts if the invite feature is used, but then messages can only be sent when we are both online, never in offline mode.https://code.briarproject.org/briar/briar/-/issues/1220Notification when messages are shown on the display (read receipts)2022-11-18T17:24:07ZmicressorNotification when messages are shown on the display (read receipts)I have
* [X] I have searched open and closed issues for duplicates
There is a read confirmation in the Signal messenger. As soon as the message is shown on the display, the colour of the good signs changes.
Is something like this alre...I have
* [X] I have searched open and closed issues for duplicates
There is a read confirmation in the Signal messenger. As soon as the message is shown on the display, the colour of the good signs changes.
Is something like this already implemented in briar? I didn't find a hint in the wiki and the manual.https://code.briarproject.org/briar/briar/-/issues/1223Detect whether contact being added is on same wifi network2020-11-18T22:05:45ZakwizgranDetect whether contact being added is on same wifi networkWhen adding a contact in person, it would be useful to be able to detect whether the contact is on the same wifi network. We could do this by including a short hash of the SSID in the QR code.When adding a contact in person, it would be useful to be able to detect whether the contact is on the same wifi network. We could do this by including a short hash of the SSID in the QR code.https://code.briarproject.org/briar/briar/-/issues/1224Explain when no transports can be used for adding a contact2020-08-12T16:23:17ZakwizgranExplain when no transports can be used for adding a contactWhen adding a contact in person, there are various circumstances where we can tell as soon as we've scanned the contact's QR code that we won't be able to communicate. For example:
* Both devices support Bluetooth, but neither device kno...When adding a contact in person, there are various circumstances where we can tell as soon as we've scanned the contact's QR code that we won't be able to communicate. For example:
* Both devices support Bluetooth, but neither device knows its own Bluetooth address (Android 8, see #1147)
* Both devices support wifi but they're on different networks (see #1223, #1178)
* One device only supports Bluetooth, the other only supports wifi
If the user declines to activate Bluetooth and there's no wifi connection, we can tell even sooner that we won't be able to communicate.
We should detect these situations and explain the problem to the user in an actionable way.https://code.briarproject.org/briar/briar/-/issues/1226### after a contact's name are confusing2022-10-10T18:35:57ZAndres### after a contact's name are confusingThere are ### after contacts' names in the list of members of a group. These are different for different contacts? What do they mean? Why are they there?There are ### after contacts' names in the list of members of a group. These are different for different contacts? What do they mean? Why are they there?https://code.briarproject.org/briar/briar/-/issues/1283improve password strenght indicator2020-11-18T02:34:08Zwugacohaimprove password strenght indicatorright now if you insert 1234567890 as your password the stenght indicator shows a long green bar, which reassures the user that the password is not weak..which is not the point. The indicator should be improved (KeepassX shows such stren...right now if you insert 1234567890 as your password the stenght indicator shows a long green bar, which reassures the user that the password is not weak..which is not the point. The indicator should be improved (KeepassX shows such strength if you add symbols and letters).https://code.briarproject.org/briar/briar/-/issues/20Make messages searchable2020-11-21T20:32:52ZakwizgranMake messages searchableWhen a message is fully reassembled, extract a list of words from the message body and place them in a separate DB column, which can be full-text indexed.When a message is fully reassembled, extract a list of words from the message body and place them in a separate DB column, which can be full-text indexed.https://code.briarproject.org/briar/briar/-/issues/1285Support OPML feeds2020-11-18T02:31:16ZakwizgranSupport OPML feedsA user asked for the ability to import OPML feeds as well as RSS. It looks like ROME has a module for OPML: http://rometools.github.io/rome-opml/A user asked for the ability to import OPML feeds as well as RSS. It looks like ROME has a module for OPML: http://rometools.github.io/rome-opml/https://code.briarproject.org/briar/briar/-/issues/1296Feature request: Use SMS as data channel for selected users2019-09-30T11:05:39ZJens KorteFeature request: Use SMS as data channel for selected usersSMS could be used as an additional data channel beside bluetooth, WLAN and internet. Briar would become a replacement for an encrypting SMS app then. Even if the signal strength is weak, SMS will be send if signal is acceptable for a sho...SMS could be used as an additional data channel beside bluetooth, WLAN and internet. Briar would become a replacement for an encrypting SMS app then. Even if the signal strength is weak, SMS will be send if signal is acceptable for a short time.https://code.briarproject.org/briar/briar/-/issues/1299Unable to add contacts: IP address is not in LAN2020-11-18T02:17:29ZakwizgranUnable to add contacts: IP address is not in LAN* Android version: 5.1.1
* Phone model: Nubia NX512J
* Briar version: 1.0.3 (e83d8bb)
* User feedback: "Add contacts does not work."
```
"Bluetooth address" : "90:[scrubbed]:1D",
"Bluetooth address from settings" : "90:[scru...* Android version: 5.1.1
* Phone model: Nubia NX512J
* Briar version: 1.0.3 (e83d8bb)
* User feedback: "Add contacts does not work."
```
"Bluetooth address" : "90:[scrubbed]:1D",
"Bluetooth address from settings" : "90:[scrubbed]:1D",
"Bluetooth status" : "Available, enabled, connectable, not discoverable",
"Mobile data status" : "Available, enabled, not connected",
"Wi-Fi Direct" : "Supported",
"Wi-Fi address" : "37.[scrubbed].223",
"Wi-Fi status" : "Available, enabled, connected"
```
The phone is connected to wifi, but the IP address is not a LAN address.
Possibly related to #699, #1209.https://code.briarproject.org/briar/briar/-/issues/1300Share button for RSS articles2020-11-18T02:15:37ZakwizgranShare button for RSS articlesUser feedback: "Nice RSS-Feature! I miss the "share"-button though. It is not very convenient to only share the link without the title of the article."User feedback: "Nice RSS-Feature! I miss the "share"-button though. It is not very convenient to only share the link without the title of the article."https://code.briarproject.org/briar/briar/-/issues/1302Connection chooser rejects connection when retrying adding a contact2021-04-07T16:57:57ZakwizgranConnection chooser rejects connection when retrying adding a contact* Android version: 8.0.0
* Phone model: Samsung SM-G950F (dreamltexx)
* Briar version: 1.0.5 (183f0c5)
* User feedback: "Add contacts did not work. Devices were in the same WLAN."
Log:
```
05-28 10:31:56.933 I/KeyAgreementConnector: org...* Android version: 8.0.0
* Phone model: Samsung SM-G950F (dreamltexx)
* Briar version: 1.0.5 (183f0c5)
* User feedback: "Add contacts did not work. Devices were in the same WLAN."
Log:
```
05-28 10:31:56.933 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:57.434 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:57.935 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:58.435 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:58.936 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:59.437 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:31:59.938 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:00.197 I/TorPlugin: OR connection CLOSED
05-28 10:32:00.208 I/TorPlugin: Online: true, wifi: true
05-28 10:32:00.208 I/TorPlugin: Country code: DE
05-28 10:32:00.208 I/TorPlugin: Enabling network
05-28 10:32:00.440 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:00.940 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:01.441 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:01.941 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:02.442 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:02.943 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:03.443 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:03.944 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:04.445 I/KeyAgreementConnector: org.briarproject.bramble.lan: Waiting for data
05-28 10:32:04.528 I/KeyAgreementConnector: Stopping BQP listeners
05-28 10:32:04.530 I/ConnectionChooserImpl: Closing 0 unused connections
05-28 10:32:04.531 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
05-28 10:32:04.533 I/CameraView: Opening camera
05-28 10:32:04.539 I/CameraView: Using back-facing camera
05-28 10:32:04.602 I/CameraView: Screen rotation 0 degrees, camera orientation 90 degrees
05-28 10:32:04.605 I/CameraView: Scene modes: [auto, hdr]
05-28 10:32:04.606 I/CameraView: Focus modes: [auto, infinity, macro, continuous-video, continuous-picture]
05-28 10:32:04.606 I/CameraView: Size 1920x1080, stretch 1.03125, zoom 4.1472, score 0.23381966
05-28 10:32:04.606 I/CameraView: Size 1440x1080, stretch 1.375, zoom 3.1104, score 0.23381966
05-28 10:32:04.606 I/CameraView: Size 1088x1088, stretch 1.8333333, zoom 2.367488, score 0.2303938
05-28 10:32:04.606 I/CameraView: Size 1280x720, stretch 1.03125, zoom 1.8432, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 1056x704, stretch 1.2222222, zoom 1.486848, score 0.55027944
05-28 10:32:04.606 I/CameraView: Size 1024x768, stretch 1.375, zoom 1.572864, score 0.46238753
05-28 10:32:04.606 I/CameraView: Size 960x720, stretch 1.375, zoom 1.3824, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 800x450, stretch 1.03125, zoom 1.3888888, score 0.6981818
05-28 10:32:04.606 I/CameraView: Size 720x720, stretch 1.8333333, zoom 1.0368, score 0.52609426
05-28 10:32:04.606 I/CameraView: Size 720x480, stretch 1.2222222, zoom 1.4467592, score 0.56552726
05-28 10:32:04.606 I/CameraView: Size 640x480, stretch 1.375, zoom 1.6276041, score 0.44683638
05-28 10:32:04.606 I/CameraView: Size 352x288, stretch 1.5, zoom 4.9321337, score 0.135168
05-28 10:32:04.606 I/CameraView: Size 320x240, stretch 1.375, zoom 6.5104165, score 0.111709096
05-28 10:32:04.606 I/CameraView: Size 256x144, stretch 1.03125, zoom 13.563368, score 0.07149382
05-28 10:32:04.607 I/CameraView: Size 176x144, stretch 1.5, zoom 19.728535, score 0.033792
05-28 10:32:04.607 I/CameraView: Best size 800x450
05-28 10:32:04.619 I/CameraView: Video stabilisation enabled: false
05-28 10:32:04.619 I/CameraView: Scene mode: auto
05-28 10:32:04.619 I/CameraView: Focus mode: continuous-picture
05-28 10:32:04.619 I/CameraView: Flash mode: off
05-28 10:32:04.619 I/CameraView: Preview size: 800x450
05-28 10:32:04.647 I/KeyAgreementConnector: Starting BQP listeners
05-28 10:32:04.650 I/BluetoothConnectionLimiterImpl: Key agreement ended
05-28 10:32:04.678 I/KeyAgreementConnector: Listening via org.briarproject.bramble.lan
05-28 10:32:04.681 I/BluetoothConnectionLimiterImpl: Key agreement started, closing 0 connections
05-28 10:32:04.704 I/CameraView: Surface created
05-28 10:32:04.704 I/CameraView: Surface changed: 1080x1980
05-28 10:32:04.708 I/CameraView: Size 1920x1080, stretch 1.03125, zoom 4.1472, score 0.23381966
05-28 10:32:04.708 I/CameraView: Size 1440x1080, stretch 1.375, zoom 3.1104, score 0.23381966
05-28 10:32:04.708 I/CameraView: Size 1088x1088, stretch 1.8333333, zoom 2.367488, score 0.2303938
05-28 10:32:04.708 I/CameraView: Size 1280x720, stretch 1.03125, zoom 1.8432, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 1056x704, stretch 1.2222222, zoom 1.486848, score 0.55027944
05-28 10:32:04.708 I/CameraView: Size 1024x768, stretch 1.375, zoom 1.572864, score 0.46238753
05-28 10:32:04.708 I/CameraView: Size 960x720, stretch 1.375, zoom 1.3824, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 800x450, stretch 1.03125, zoom 1.3888888, score 0.6981818
05-28 10:32:04.708 I/CameraView: Size 720x720, stretch 1.8333333, zoom 1.0368, score 0.52609426
05-28 10:32:04.708 I/CameraView: Size 720x480, stretch 1.2222222, zoom 1.4467592, score 0.56552726
05-28 10:32:04.708 I/CameraView: Size 640x480, stretch 1.375, zoom 1.6276041, score 0.44683638
05-28 10:32:04.708 I/CameraView: Size 352x288, stretch 1.5, zoom 4.9321337, score 0.135168
05-28 10:32:04.708 I/CameraView: Size 320x240, stretch 1.375, zoom 6.5104165, score 0.111709096
05-28 10:32:04.708 I/CameraView: Size 256x144, stretch 1.03125, zoom 13.563368, score 0.07149382
05-28 10:32:04.708 I/CameraView: Size 176x144, stretch 1.5, zoom 19.728535, score 0.033792
05-28 10:32:04.708 I/CameraView: Best size 800x450
05-28 10:32:04.718 I/CameraView: Video stabilisation enabled: false
05-28 10:32:04.719 I/CameraView: Scene mode: auto
05-28 10:32:04.719 I/CameraView: Focus mode: continuous-picture
05-28 10:32:04.719 I/CameraView: Flash mode: off
05-28 10:32:04.719 I/CameraView: Preview size: 800x450
05-28 10:32:04.719 I/CameraView: Starting preview
05-28 10:32:04.946 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.lan
05-28 10:32:04.946 I/ConnectionChooserImpl: Already stopped
05-28 10:32:05.046 I/ShowQrCodeFragment: Local payload is 36 bytes
05-28 10:32:06.819 I/Poller: Polling plugin org.briarproject.bramble.lan
05-28 10:32:07.890 I/CameraView: Stopping preview
05-28 10:32:07.890 I/KeyAgreementConnector: Stopping BQP listeners
05-28 10:32:07.891 I/ConnectionChooserImpl: Closing 0 unused connections
05-28 10:32:07.891 I/BluetoothConnectionLimiterImpl: Key agreement ended
05-28 10:32:07.891 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
05-28 10:32:08.068 I/CameraView: Releasing camera
05-28 10:32:08.182 I/QrCodeDecoder: Camera has changed, ignoring preview frame
05-28 10:32:08.192 I/CameraView: Surface destroyed
```
Notes:
* 10:31:56.933 - At the start of the log the device has made a connection via wifi and it's waiting for data - this might be because the other device hasn't scanned this device's QR code yet.
* 10:32:04.528 - The connection attempt is cancelled and the ConnectionChooserImpl is stopped.
* 10:32:04.533 - The camera is reopened. This is too soon after the previous event to be the result of a manual action.
* 10:32:04.647 - A new connection attempt starts. The BluetoothConnectionLimiter gets a KeyAgreementStoppedListeningEvent when the old key agreement task is stopped, then a KeyAgreementListeningEvent when the new task is started.
* 10:32:04.946 - A connection is made via wifi, but the ConnectionChooserImpl rejects it because it's already been stopped
It looks like the ConnectionChooserImpl instance is being reused, which shouldn't happen. This may mean the KeyAgreementTaskImpl instance is also being reused.https://code.briarproject.org/briar/briar/-/issues/1303IllegalArgumentException: parameter must be a descendant of this view2021-11-04T11:04:02ZakwizgranIllegalArgumentException: parameter must be a descendant of this viewTwo crash reports from the same user:
* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version:
* 1.0.4 (f31219d)
* 1.0.5 (183f0c5)
* User feedback:
* "Sending message to contact. (Message contains \" and ' charact...Two crash reports from the same user:
* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version:
* 1.0.4 (f31219d)
* 1.0.5 (183f0c5)
* User feedback:
* "Sending message to contact. (Message contains \" and ' characters.)"
* "Briar in foreground, no user action."
First log:
```
05-18 13:22:51.117 I/EmojiProvider: Loaded page emoji_smiley_people.png
05-18 13:22:55.909 I/KeyboardAwareLinearLayout: onKeyboardOpen(282)
05-18 13:23:47.110 I/ConversationActivity: Storing message took 298 ms
05-18 13:23:49.311 I/ConversationActivity: Messages sent
05-18 13:23:49.598 I/BriarRecyclerView: Updating Content...
05-18 13:23:49.630 I/ConversationActivity: Marking read took 2 ms
05-18 13:23:51.009 I/ConversationActivity: Messages acked
05-18 13:23:52.434 I/BriarRecyclerView: Adding Handler Callback
05-18 13:23:52.435 I/AndroidDatabaseConfig: Database key has been set: true
05-18 13:23:52.634 I/ContactListFragment: Full load took 192 ms
```
Crashed at 13:23:53.397
Second log:
```
05-25 09:06:43.627 I/EmojiProvider: Loading page emoji_smiley_people.png
05-25 09:06:43.836 I/ConversationActivity: Marking read took 207 ms
05-25 09:06:44.282 I/EmojiProvider: Loaded page emoji_smiley_people.png
05-25 09:06:48.501 I/ConversationActivity: Storing message took 366 ms
05-25 09:06:48.710 I/BriarRecyclerView: Adding Handler Callback
05-25 09:06:48.711 I/AndroidDatabaseConfig: Database key has been set: true
```
Crashed at 09:06:49.050
Stacktrace:
```
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5459)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:5388)
at android.view.ViewRootImpl.scrollToRectOrFocus(ViewRootImpl.java:3073)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2683)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2608)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2215)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6344)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```
It looks like both crashes happened after sending and receiving private messages containing emoji, then switching away from the private conversation. In the first crash the switch was to the contact list - in the second crash it's not clear.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1308Configurable colours for text balloons2020-11-18T02:03:46ZakwizgranConfigurable colours for text balloonsA user asked for the ability to change the colours of text balloons.A user asked for the ability to change the colours of text balloons.https://code.briarproject.org/briar/briar/-/issues/1310NPE during enter transition2021-11-04T11:03:44ZakwizgranNPE during enter transition* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version: 1.0.4 (f31219d)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.Window.getAllowReturnTransitionOverlap()' o...* Android version: 7.1.2
* Phone model: Samsung GT-I9100
* Briar version: 1.0.4 (f31219d)
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.Window.getAllowReturnTransitionOverlap()' on a null object reference
at android.app.EnterTransitionCoordinator.allowOverlappingTransitions(EnterTransitionCoordinator.java:676)
at android.app.EnterTransitionCoordinator.sendSharedElementDestination(EnterTransitionCoordinator.java:188)
at android.app.EnterTransitionCoordinator.viewsReady(EnterTransitionCoordinator.java:129)
at android.app.EnterTransitionCoordinator$2.onPreDraw(EnterTransitionCoordinator.java:154)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6344)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
```
Unfortunately there's no clue in the stacktrace about where this crash happens. Might have been fixed by !821 if we're lucky.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1311Secure Scuttlebutt plugin2020-11-17T18:26:34ZakwizgranSecure Scuttlebutt pluginA user asked for the ability to use Secure Scuttlebutt as a transport.A user asked for the ability to use Secure Scuttlebutt as a transport.https://code.briarproject.org/briar/briar/-/issues/1312Include user manual in app2022-11-18T17:32:16ZakwizgranInclude user manual in appA user asked for the manual to be included in the app. This was always the plan but it doesn't look like we had a ticket for it.
Related to #94, #315.A user asked for the manual to be included in the app. This was always the plan but it doesn't look like we had a ticket for it.
Related to #94, #315.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1313Tor fails to start if previous Tor instance is still running2023-03-15T12:55:10ZakwizgranTor fails to start if previous Tor instance is still runningI ran into this issue a couple of times while debugging #1293, and now I've seen it in a user feedback log (also affected by #1293, as far as I can tell).
```
05-25 14:25:08.926 I/TorPlugin: May 25 16:25:08.926 [notice] Tor 0.2.9.14 (gi...I ran into this issue a couple of times while debugging #1293, and now I've seen it in a user feedback log (also affected by #1293, as far as I can tell).
```
05-25 14:25:08.926 I/TorPlugin: May 25 16:25:08.926 [notice] Tor 0.2.9.14 (git-73e1a45b461ab669) running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.2n and Zlib 1.2.8.
05-25 14:25:08.939 I/TorPlugin: May 25 16:25:08.927 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
05-25 14:25:08.939 I/TorPlugin: May 25 16:25:08.927 [notice] Read configuration file "/data/data/org.briarproject.briar.android/app_tor/torrc".
05-25 14:25:08.939 I/TorPlugin: May 25 16:25:08.935 [notice] Opening Control listener on 127.0.0.1:59051
05-25 14:25:08.939 I/TorPlugin: May 25 16:25:08.935 [warn] Could not bind to 127.0.0.1:59051: Address already in use. Is Tor already running?
05-25 14:25:08.940 I/TorPlugin: May 25 16:25:08.935 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
05-25 14:25:08.940 I/TorPlugin: May 25 16:25:08.935 [err] Reading config failed--see warnings above.
05-25 14:25:08.940 W/TorPlugin: Tor exited with value 1
```
The problem occurs because the previous Tor instance is still using the control port. This is unlikely to happen if Tor starts and stops normally, because the shutdown command takes effect very quickly. But if Briar fails to open the control connection (e.g. due to #1293 or similar bugs), Tor won't exit until a short time after Briar exits, during which time Briar may have been relaunched. I think this could also happen if Briar crashes and is immediately relaunched.https://code.briarproject.org/briar/briar/-/issues/1315Wifi icon is sometimes green when not connected to wifi2020-11-17T18:29:53ZakwizgranWifi icon is sometimes green when not connected to wifi* Android version: 7.1.2
* Phone model: Samsung GT-I9195 (lineage_serranoltexx)
* Briar version: 1.0.8 (a44a68f)
* User feedback: "Sometimes (also while writing this) the Wifi icon is green even when Wifi is turned off."
The log doesn't...* Android version: 7.1.2
* Phone model: Samsung GT-I9195 (lineage_serranoltexx)
* Briar version: 1.0.8 (a44a68f)
* User feedback: "Sometimes (also while writing this) the Wifi icon is green even when Wifi is turned off."
The log doesn't show any sign of connectivity changes, so this may be a UI issue.https://code.briarproject.org/briar/briar/-/issues/1330Can't click "got it" during password setup2019-02-28T19:44:25ZShannon StorkCan't click "got it" during password setupWhen a tester set up a password and clicked the (i) on the top right, he couldn't click "got it" and had to tap out of the box. Device: Samsung s8+ (Android 8.x)When a tester set up a password and clicked the (i) on the top right, he couldn't click "got it" and had to tap out of the box. Device: Samsung s8+ (Android 8.x)https://code.briarproject.org/briar/briar/-/issues/1335Delete account without signing out2023-07-11T10:11:01ZakwizgranDelete account without signing outA user asked for the ability to delete their account in an emergency without signing out and using the "forgot password" button.A user asked for the ability to delete their account in an emergency without signing out and using the "forgot password" button.https://code.briarproject.org/briar/briar/-/issues/1337Scroll to bottom when writing new post in private group2020-11-18T01:46:13ZakwizgranScroll to bottom when writing new post in private groupUser feedback: "In private conversations, when you tap the text bar to begin typing and it expands, the message history lifts up as well so that you are still seeing the most recent message above what you are typing. In groups, that is n...User feedback: "In private conversations, when you tap the text bar to begin typing and it expands, the message history lifts up as well so that you are still seeing the most recent message above what you are typing. In groups, that is not the case. When the typing bar expands, it covers the most recent messages and you have to scroll down to see them. I find the behavior in the private conversations more convenient."https://code.briarproject.org/briar/briar/-/issues/1346Add LaTeX support for messages.2020-11-16T15:38:15ZIdRather NotAdd LaTeX support for messages.Just as the title says, LaTeX support(or something like it) for Mathematical and Chemical formulas and equations would be a really nice thing to have and a feature that would be a reason for academic people (at least those in science cou...Just as the title says, LaTeX support(or something like it) for Mathematical and Chemical formulas and equations would be a really nice thing to have and a feature that would be a reason for academic people (at least those in science courses) to switch to Briar or use it to discuss assignments/research.https://code.briarproject.org/briar/briar/-/issues/1361Long blog post scrolls to top while reading2020-11-17T16:07:38ZakwizgranLong blog post scrolls to top while reading* Android version: 7.1.2
* Briar version: 1.0.11
* User feedback: "When reading RSS posts on the blogs page, often as I'm scrolling down through a long article the screen jumps back up and displays sections of the article I've already re...* Android version: 7.1.2
* Briar version: 1.0.11
* User feedback: "When reading RSS posts on the blogs page, often as I'm scrolling down through a long article the screen jumps back up and displays sections of the article I've already read. Not a critical issue, but it makes it hard to read long articles in the app since it causes me to lose my place every few paragraphs."
Since the article is long enough to scroll through, I'm assuming this refers to the single post ("read more") view.https://code.briarproject.org/briar/briar/-/issues/1363IllegalArgumentException: Scrapped or attached views may not be recycled2021-11-04T11:03:42ZakwizgranIllegalArgumentException: Scrapped or attached views may not be recycled* Android version: 8.1.0
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.0.13 (55d8f85)
Stacktrace:
```
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true android...* Android version: 8.1.0
* Phone model: OnePlus A5000 (OnePlus5)
* Briar version: 1.0.13 (55d8f85)
Stacktrace:
```
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true android.support.v7.widget.RecyclerView{bb19834 VFED.V... ........ 0,0-1080,1599 #7f09012b app:id/recyclerView}, adapter:org.briarproject.briar.android.contact.ConversationAdapter@40dedd1, layout:android.support.v7.widget.LinearLayoutManager@90a2036, context:org.briarproject.briar.android.contact.ConversationActivity@b8d5bc6
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:6053)
at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5997)
at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:292)
at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:342)
at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:358)
at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:365)
at android.support.v7.widget.GapWorker.run(GapWorker.java:396)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6753)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```
Log:
```
08-08 21:39:57.411 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
08-08 21:39:57.412 I/ConnectionRegistryImpl: Contact connected
08-08 21:39:57.412 I/ConversationActivity: Contact connected
08-08 21:39:57.615 I/Poller: Polling plugin org.briarproject.bramble.tor
08-08 21:39:57.621 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
08-08 21:39:57.621 I/TorPlugin: Connecting to ojd[scrubbed]
08-08 21:40:03.376 I/BriarRecyclerView: Adding Handler Callback
08-08 21:40:03.376 I/AndroidDatabaseConfig: Database key has been set: true
```
The last two log lines suggest an activity had just started. The previous log lines show that ConversationActivity was recently active, and that's reported as the context of the crash in the stacktrace. So the crash may have occurred while navigating away from ConversationActivity.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1388Discussion: Only poll contacts if necessary2021-12-13T14:13:45ZBen WieDiscussion: Only poll contacts if necessaryFor some transports we could reduce the polling effort if we only poll contacts that we want to sent messages/ACKs to. This works for transports where both peers are able to connect to each other if one is able to.For some transports we could reduce the polling effort if we only poll contacts that we want to sent messages/ACKs to. This works for transports where both peers are able to connect to each other if one is able to.https://code.briarproject.org/briar/briar/-/issues/1397Quote private message when replying2022-09-30T11:22:02ZakwizgranQuote private message when replyingUser feedback: "Please add the ability to quote the messages of the interlocutor."
Related to #81.User feedback: "Please add the ability to quote the messages of the interlocutor."
Related to #81.https://code.briarproject.org/briar/briar/-/issues/1398IndexOutOfBoundsException in contact list2021-11-04T11:03:43ZakwizgranIndexOutOfBoundsException in contact list* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
S...* Android version: 7.0
* Briar version: 1.1.1 (9476782)
* Phone model: AGM A8 (T88Q_14)
* User feedback: "Spontaneously crashes by itself. The impact of any third-party applications is not noticed. I cannot name any apparent reasons."
Stacktrace:
```
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{91bdea4 position=3 id=-1, old Pos=3, pLpos:-1 scrap [attachedScrap] tmpDetached no parent} android.support.v7.widget.RecyclerView{63190e8 VFED.V... .F....I. 0,0-720,1120 #7f09012d app:id/recyclerView}, adapter:org.briarproject.briar.android.contact.ContactListAdapter@cb5480b, layout:android.support.v7.widget.LinearLayoutManager@8a536e8, context:org.briarproject.briar.android.navdrawer.NavDrawerActivity@679576e
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5610)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5792)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3763)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3527)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1855)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1171)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:724)
at android.view.View.layout(View.java:17523)
at android.view.ViewGroup.layout(ViewGroup.java:5612)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6307)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6086)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1400Explain that if Tor is turned off, nothing will be sent via the internet2020-11-15T20:11:59ZakwizgranExplain that if Tor is turned off, nothing will be sent via the internetUser feedback: "Settings should indicate that if Tor is turned off, messages will not be sent via the internet (there is no non-Tor P2P WAN option)."User feedback: "Settings should indicate that if Tor is turned off, messages will not be sent via the internet (there is no non-Tor P2P WAN option)."CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1401Make transport indicators usable by colourblind users2020-11-15T20:10:45ZakwizgranMake transport indicators usable by colourblind usersUser feedback: "For productivity purposes I use my phone in greyscale mode, it's at the same time a simulation of color blindness. I've noticed that it's hard to distinguish the internet/WiFi/Bluetooth indicators' active green from the i...User feedback: "For productivity purposes I use my phone in greyscale mode, it's at the same time a simulation of color blindness. I've noticed that it's hard to distinguish the internet/WiFi/Bluetooth indicators' active green from the inactive grey. The solution could be putting a dot/underscore to indicate WiFi is enabled."https://code.briarproject.org/briar/briar/-/issues/1402Green send button might be mistaken for online indicator2020-11-15T20:10:14ZakwizgranGreen send button might be mistaken for online indicatorUser feedback: "#1252 I think green color of the send button is a mistake, because it can indicate contact is online. Maybe blue, like outgoing message bubbles."User feedback: "#1252 I think green color of the send button is a mistake, because it can indicate contact is online. Maybe blue, like outgoing message bubbles."https://code.briarproject.org/briar/briar/-/issues/1404Phone resets when Briar is running in background2019-03-01T14:22:33ZakwizgranPhone resets when Briar is running in background* Android version: 7.1.2
* Briar version: 1.0.13
User feedback: "I am not so sure that this a bug in briar, but since last update my phone is often resetting when briar is signed in. What i have noticed is that briar cannot negotiate a ...* Android version: 7.1.2
* Briar version: 1.0.13
User feedback: "I am not so sure that this a bug in briar, but since last update my phone is often resetting when briar is signed in. What i have noticed is that briar cannot negotiate a new connection when app is in background or when screen is locked. Example is i am signing in and switch to browser app - ten minutes later i will look back and app is still signing in. When sign in finished i return to browser, look back in ten minutes and only then it finds contacts online (while i an looking at the app) and receives messages. Once it is signed in and connection is found then it works in background fine and will receive messages. If i am not checking briar while signing in and making connection though, phone will sooner or later reset. Same if i am changing type of internet connection, like i am going from WiFi to data. I must keep app open and active until it finds contacts again or else phone will reset. As i say, i am not sure this is caused by briar, but it started near time of last update and by keeping app open during such times i have almost stopped sudden resets which before were happening many times each day."
Unfortunately the user didn't include a log, details of the phone or an email address.https://code.briarproject.org/briar/briar/-/issues/1406User feedback screen: Possibility to share/save device data2020-11-15T20:08:27ZmicressorUser feedback screen: Possibility to share/save device dataIt would be helpful if it could also be possible to edit the data via a different channel (Email / Save as...). This would make it easier to create a dedicated bug report.It would be helpful if it could also be possible to edit the data via a different channel (Email / Save as...). This would make it easier to create a dedicated bug report.https://code.briarproject.org/briar/briar/-/issues/1407Allow conversation view to be more compact2020-11-15T20:07:49ZakwizgranAllow conversation view to be more compactUser feedback: "Please add an option to make the chat message view more compact. I do not like the whitespace between two messages. I have a small device with bad resolution and would like to use every pixel for information."User feedback: "Please add an option to make the chat message view more compact. I do not like the whitespace between two messages. I have a small device with bad resolution and would like to use every pixel for information."https://code.briarproject.org/briar/briar/-/issues/1408Reduce memory usage2020-11-15T20:07:02ZakwizgranReduce memory usageA user asked for Briar to use less memory.A user asked for Briar to use less memory.https://code.briarproject.org/briar/briar/-/issues/1410Share content from another app as a Briar message2020-11-15T20:06:29ZmicressorShare content from another app as a Briar message### Steps to reproduce
1. For example: open a RSS or podcast app.
2. Select an article/podcast
3. Select share button
### Actual behaviour
It is not possible to select briar as a target.
### Expected behaviour
It should be possible to ...### Steps to reproduce
1. For example: open a RSS or podcast app.
2. Select an article/podcast
3. Select share button
### Actual behaviour
It is not possible to select briar as a target.
### Expected behaviour
It should be possible to select briar for sharing.https://code.briarproject.org/briar/briar/-/issues/1411RSS/ATOM: Name of the menus2020-11-15T20:05:22ZmicressorRSS/ATOM: Name of the menusIt seems like Briar understands RSS and ATOM feeds.
Ideally, the description of the menus would be general. For example "Manage Feeds", "Import Feed", "Enter the URL of the RSS/ATOM feed".It seems like Briar understands RSS and ATOM feeds.
Ideally, the description of the menus would be general. For example "Manage Feeds", "Import Feed", "Enter the URL of the RSS/ATOM feed".https://code.briarproject.org/briar/briar/-/issues/1412Briar's liberapay account is not configured to accept new payments2020-11-15T20:04:24ZmicressorBriar's liberapay account is not configured to accept new paymentsTried to setup from my side, but got an error.Tried to setup from my side, but got an error.https://code.briarproject.org/briar/briar/-/issues/1419Online status in contact list can be confused with radio button2020-11-16T10:31:13ZTorsten GroteOnline status in contact list can be confused with radio buttonThe circle on the right of the avatar gives you an impression of a select radio button instead of online status.
![Online_1](/uploads/05ec34f3580ae8f05846fd807b516e9f/Online_1.png)
Placing the green circle on the corner of the avatar m...The circle on the right of the avatar gives you an impression of a select radio button instead of online status.
![Online_1](/uploads/05ec34f3580ae8f05846fd807b516e9f/Online_1.png)
Placing the green circle on the corner of the avatar might be more understandable:
![online](/uploads/055feea1e3c6de24587eb05c75b10f78/online.png)https://code.briarproject.org/briar/briar/-/issues/1422ActivityRecord not found for ConversationActivity2022-06-13T15:11:23ZakwizgranActivityRecord not found for ConversationActivity* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J727A (j7popelteuc)
* User feedback: "It would not open any more."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: Activit...* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J727A (j7popelteuc)
* User feedback: "It would not open any more."
Stacktrace:
```
java.lang.IllegalArgumentException: reportSizeConfigurations: ActivityRecord not found for: Token{72da83 ActivityRecord{c281601 u0 org.briarproject.briar.android/.contact.ConversationActivity t-1 f}}
at android.os.Parcel.readException(Parcel.java:2025)
at android.os.Parcel.readException(Parcel.java:1967)
at android.app.IActivityManager$Stub$Proxy.reportSizeConfigurations(IActivityManager.java:9838)
at android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:3102)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1711)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6958)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
```
Log:
```
10-08 10:37:18.003 I/AndroidAccountManager: No database key in preferences
10-08 10:37:18.005 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:18.005 I/SplashScreenActivity: Account exists
10-08 10:37:18.403 I/AndroidAccountManager: No database key in preferences
10-08 10:37:18.403 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:28.469 I/AndroidAccountManager: No database key in preferences
10-08 10:37:28.470 I/AccountManagerImpl: Found database key in primary file
10-08 10:37:29.093 I/BriarService: Created
10-08 10:37:29.114 I/LifecycleManagerImpl: Starting services
10-08 10:37:49.668 I/IdentityManagerImpl: No local author to store
10-08 10:37:49.671 I/IdentityManagerImpl: Local author loaded
10-08 10:37:49.679 I/AndroidNetworkManager: Received broadcast android.net.conn.CONNECTIVITY_CHANGE
10-08 10:37:55.291 I/PluginManagerImpl: Starting poller
10-08 10:37:55.292 I/PluginManagerImpl: Starting simplex plugins
10-08 10:37:55.292 I/PluginManagerImpl: Starting duplex plugins
10-08 10:37:55.308 I/AndroidLanTcpPlugin: Not connected to wifi
10-08 10:37:55.309 I/TorPlugin: Starting Tor
10-08 10:37:55.401 I/BluetoothPlugin: Local address null
10-08 10:37:55.452 I/BriarRecyclerView: Adding Handler Callback
10-08 10:37:57.166 I/TorPlugin: Oct 08 06:37:57.161 [notice] Tor 0.2.9.16 (git-645ef2e2854b2225) running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.2o and Zlib 1.2.8.
10-08 10:37:57.213 I/TorPlugin: Oct 08 06:37:57.165 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.167 [notice] Read configuration file \"/data/user/0/org.briarproject.briar.android/app_tor/torrc\".
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.191 [notice] Opening Control listener on 127.0.0.1:59051
10-08 10:37:57.214 I/TorPlugin: Oct 08 06:37:57.191 [notice] DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
10-08 10:37:57.216 I/TorPlugin: Auth cookie created
10-08 10:37:58.718 I/BriarRecyclerView: Adding Handler Callback
10-08 10:37:59.346 I/BriarRecyclerView: Removing Handler Callback
10-08 10:38:00.017 I/KeyboardAwareLinearLayout: onKeyboardOpen(542)
10-08 10:38:00.628 I/TorPlugin: Online: true, wifi: false
10-08 10:38:00.628 I/TorPlugin: Country code: US
10-08 10:38:00.628 I/TorPlugin: Enabling network, not using bridges
10-08 10:38:00.646 I/TorPlugin: NOTICE DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
10-08 10:38:00.646 I/RenewableWakeLock: Acquiring wake lock LocationManagerService
10-08 10:38:00.667 I/TorPlugin: NOTICE Opening Socks listener on 127.0.0.1:59050
10-08 10:38:01.703 I/TorPlugin: NOTICE Bootstrapped 80%: Connecting to the Tor network
10-08 10:38:01.704 I/TorPlugin: OR connection LAUNCHED $7AA7FC80E3E0D32E929D2CC094EACF529C95264C~steinpilz
10-08 10:38:01.705 I/TorPlugin: OR connection LAUNCHED $1E17564CDD5A6B70A6F73C053A479BC5EE2D0A89~Unnamed
10-08 10:38:01.930 I/TorPlugin: NOTICE Bootstrapped 85%: Finishing handshake with first hop
10-08 10:38:02.641 I/TorPlugin: OR connection CONNECTED $1E17564CDD5A6B70A6F73C053A479BC5EE2D0A89~Unnamed
10-08 10:38:02.660 I/TorPlugin: NOTICE Bootstrapped 90%: Establishing a Tor circuit
10-08 10:38:02.660 I/TorPlugin: OR connection CONNECTED $7AA7FC80E3E0D32E929D2CC094EACF529C95264C~steinpilz
10-08 10:38:02.934 I/TorPlugin: First circuit built
10-08 10:38:03.696 I/TorPlugin: NOTICE Tor has successfully opened a circuit. Looks like client functionality is working.
10-08 10:38:03.696 I/TorPlugin: NOTICE Bootstrapped 100%: Done
10-08 10:38:03.697 I/FeedManagerImpl: Tor started, scheduling RSS feed fetcher
10-08 10:38:03.698 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:38:24.455 I/BriarRecyclerView: Removing Handler Callback
10-08 10:38:25.001 I/TorPlugin: Creating hidden service
10-08 10:38:25.028 I/TorPlugin: Hidden service tsb[scrubbed]
10-08 10:38:25.078 I/TorPlugin: Connecting to vye[scrubbed]
10-08 10:38:34.140 I/TorPlugin: Connected to vye[scrubbed]
10-08 10:38:35.400 I/DuplexOutgoingSession: Generated ack: false
10-08 10:38:35.446 I/DuplexOutgoingSession: Next send time decreased
10-08 10:38:35.446 I/DuplexOutgoingSession: Checking for retransmittable messages
10-08 10:38:35.446 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:35.485 I/ConnectionRegistryImpl: Outgoing connection registered: org.briarproject.bramble.tor
10-08 10:38:35.485 I/ConnectionRegistryImpl: Contact connected
10-08 10:38:35.533 I/DuplexOutgoingSession: Next send time decreased
10-08 10:38:35.591 I/DuplexOutgoingSession: Generated offer: true
10-08 10:38:35.592 I/DuplexOutgoingSession: Sent offer
10-08 10:38:35.592 I/DuplexOutgoingSession: Generated request: false
10-08 10:38:35.634 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:35.684 I/DuplexOutgoingSession: Generated offer: false
10-08 10:38:35.962 I/DuplexOutgoingSession: Generated request: true
10-08 10:38:35.962 I/DuplexOutgoingSession: Sent request
10-08 10:38:35.963 I/DuplexOutgoingSession: Generated request: false
10-08 10:38:37.048 I/DuplexOutgoingSession: Generated batch: true
10-08 10:38:37.048 I/DuplexOutgoingSession: Sent batch
10-08 10:38:37.091 I/DuplexOutgoingSession: Generated batch: false
10-08 10:38:37.619 I/DuplexOutgoingSession: Generated ack: true
10-08 10:38:37.619 I/DuplexOutgoingSession: Sent ack
10-08 10:38:37.786 I/DuplexOutgoingSession: Generated ack: false
10-08 10:38:45.493 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:38:45.496 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
10-08 10:38:50.421 I/BriarRecyclerView: Adding Handler Callback
10-08 10:39:00.649 I/RenewableWakeLock: Renewing wake lock LocationManagerService
10-08 10:39:03.698 I/FeedManagerImpl: Updating RSS feeds...
10-08 10:39:03.785 I/FeedManagerImpl: Done updating RSS feeds
10-08 10:39:05.679 I/TorPlugin: Descriptor uploaded
10-08 10:39:05.849 I/TorPlugin: Descriptor uploaded
10-08 10:39:07.478 I/TorPlugin: Descriptor uploaded
10-08 10:39:07.619 I/DuplexOutgoingSession: Sending keepalive
10-08 10:39:07.738 I/TorPlugin: Descriptor uploaded
10-08 10:39:08.159 I/TorPlugin: Descriptor uploaded
10-08 10:39:10.053 I/TorPlugin: Descriptor uploaded
10-08 10:39:11.885 I/DuplexOutgoingSession: Generated request: true
10-08 10:39:11.886 I/DuplexOutgoingSession: Sent request
10-08 10:39:11.886 I/DuplexOutgoingSession: Generated request: false
10-08 10:39:13.477 I/DuplexOutgoingSession: Generated ack: true
10-08 10:39:13.477 I/DuplexOutgoingSession: Sent ack
10-08 10:39:13.638 I/ConversationActivity: Message received, adding
10-08 10:39:13.660 I/DuplexOutgoingSession: Generated ack: false
10-08 10:39:36.968 I/DuplexOutgoingSession: Checking for retransmittable messages
10-08 10:39:37.036 I/DuplexOutgoingSession: Generated batch: false
10-08 10:39:37.081 I/DuplexOutgoingSession: Generated offer: false
10-08 10:39:43.478 I/DuplexOutgoingSession: Sending keepalive
10-08 10:39:45.494 I/Poller: Polling plugin org.briarproject.bramble.tor
10-08 10:39:45.498 I/ConnectionRegistryImpl: 1 contacts connected: org.briarproject.bramble.tor
10-08 10:40:00.651 I/RenewableWakeLock: Renewing wake lock LocationManagerService
10-08 10:40:08.417 I/BriarRecyclerView: Adding Handler Callback
```
From the log, it looks like the crash happened soon after startup, after sending and receiving private messages. The last line of the log suggests a transition between activities was in progress.
(Incidentally, when reading logs I often rely on the BriarRecyclerView's messages about its handler callback to make guesses about what's happening to the UI. Maybe we should just log the name of each activity when it starts and stops?)Android 1.4https://code.briarproject.org/briar/briar/-/issues/1424Prompted to 'allow unknown sources' when trying to install briar via its f-dr...2020-11-15T19:59:13ZlazzPrompted to 'allow unknown sources' when trying to install briar via its f-droid repository despite the privileged extension being installedWhen trying to install briar through its third party f-droid repository I get prompted to 'allow unknown sources' by android despite f-droid's privileged extension being installed and working with the main repo as well as other third par...When trying to install briar through its third party f-droid repository I get prompted to 'allow unknown sources' by android despite f-droid's privileged extension being installed and working with the main repo as well as other third party repos.
It has been hinted that this might be due to the briar project not using the current master of fdroid, where issues of that kind have been solved.
It was suggested that you look at https://gitlab.com/fdroid/admin/issues/65 for reference and check whether some of the problematic setup sounds familiar to you and applies to your setup.
Using the latest fdroid tools should solve this issue.https://code.briarproject.org/briar/briar/-/issues/1439Notification light no longer shows when lockscreen notifications are disabled2020-11-15T19:49:18ZakwizgranNotification light no longer shows when lockscreen notifications are disabled* Android version: 6.0.1
* Phone model: Samsung SM-G900F (kltexx)
* Briar version: 1.1.3 (779d873)
* User feedback: "It was well before the update, ie if I turned off the notification on the lock screen, only the notification LED flashed...* Android version: 6.0.1
* Phone model: Samsung SM-G900F (kltexx)
* Briar version: 1.1.3 (779d873)
* User feedback: "It was well before the update, ie if I turned off the notification on the lock screen, only the notification LED flashed but no one knew because there was no information about where it came from but I knew that I had info from someone. Now how do I turn off I have no information about whether I have a message. Why you removed it?"
Presumably this is related to !925, which was released in version 1.1.2. (If I remember right, 1.1.2 was a beta-only release, so this user may have upgraded from 1.1.1 to 1.1.3, the version reported above.)https://code.briarproject.org/briar/briar/-/issues/1440Expel members from private groups2021-10-21T15:47:37ZakwizgranExpel members from private groupsA user asked for the ability to expel members from private groups.A user asked for the ability to expel members from private groups.https://code.briarproject.org/briar/briar/-/issues/1441Expel members from forums2020-11-15T19:47:45ZakwizgranExpel members from forumsA user asked for the ability to expel members from forums.
This is less likely to be feasible than #1440, but I'm recording the request anyway.
Related to #512.A user asked for the ability to expel members from forums.
This is less likely to be feasible than #1440, but I'm recording the request anyway.
Related to #512.https://code.briarproject.org/briar/briar/-/issues/1443Flat conversation view for private groups2019-11-20T13:08:01ZakwizgranFlat conversation view for private groupsA user asked for private groups to be shown in a flat (unthreaded) view.
We've had requests for this before and never opened a ticket because a simple flat view based on message creation time or arrival time wouldn't work well with Bria...A user asked for private groups to be shown in a flat (unthreaded) view.
We've had requests for this before and never opened a ticket because a simple flat view based on message creation time or arrival time wouldn't work well with Briar's asynchronous message delivery. But apps like Slack and Mattermost have experimented with new ways to show asynchronous replies in a flat view, so perhaps the request should be considered.https://code.briarproject.org/briar/briar/-/issues/1444Show large emoji when no other text is included2020-11-15T19:46:01ZakwizgranShow large emoji when no other text is includedA user asked for emoji to be enlarged when the message contains no other text.A user asked for emoji to be enlarged when the message contains no other text.https://code.briarproject.org/briar/briar/-/issues/1457IllegalArgumentException when resuming activity2021-11-04T11:03:44ZakwizgranIllegalArgumentException when resuming activity* Android version: 7.0
* Phone model: Motorola Moto G (5) Plus (potter)
* Briar version: 1.1.1 (9476782)
Stacktrace:
```
java.lang.RuntimeException: Unable to resume activity {org.briarproject.briar.android/org.briarproject.briar.androi...* Android version: 7.0
* Phone model: Motorola Moto G (5) Plus (potter)
* Briar version: 1.1.1 (9476782)
Stacktrace:
```
java.lang.RuntimeException: Unable to resume activity {org.briarproject.briar.android/org.briarproject.briar.android.contact.ConversationActivity}: java.lang.IllegalArgumentException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3421)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3461)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
Caused by: java.lang.IllegalArgumentException
at android.os.Parcel.readException(Parcel.java:1687)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.isTopOfTask(ActivityManagerNative.java:5569)
at android.app.Activity.isTopOfTask(Activity.java:5969)
at android.app.Activity.onResume(Activity.java:1256)
at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:485)
at org.briarproject.briar.android.activity.BriarActivity.onResume(BriarActivity.java:82)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1291)
at android.app.Activity.performResume(Activity.java:6776)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3398)
... 8 more
java.lang.IllegalArgumentException
at android.os.Parcel.readException(Parcel.java:1687)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.isTopOfTask(ActivityManagerNative.java:5569)
at android.app.Activity.isTopOfTask(Activity.java:5969)
at android.app.Activity.onResume(Activity.java:1256)
at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:485)
at org.briarproject.briar.android.activity.BriarActivity.onResume(BriarActivity.java:82)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1291)
at android.app.Activity.performResume(Activity.java:6776)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3398)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3461)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
```Android 1.4https://code.briarproject.org/briar/briar/-/issues/1458Sign-in reminder isn't shown when phone starts2020-11-15T19:35:47ZakwizgranSign-in reminder isn't shown when phone startsA user reported that the sign-in reminder isn't show when their phone starts.
While looking into power management I found that many phones restrict which apps can receive the boot completed broadcast. As with other power management rest...A user reported that the sign-in reminder isn't show when their phone starts.
While looking into power management I found that many phones restrict which apps can receive the boot completed broadcast. As with other power management restrictions, there's sometimes an intent for opening the screen where this is managed:
https://stackoverflow.com/questions/48945300/how-to-open-window-of-autostart-application-for-all-devices/48945679#48945679
https://stackoverflow.com/questions/48166206/how-to-start-power-manager-of-all-android-manufactures-to-enable-background-and#
Related to #1260, #1292.https://code.briarproject.org/briar/briar/-/issues/1466Add screenshots of Briar interface to f-droid page2021-01-14T19:46:07Zduyeyix@ethersportz.infoAdd screenshots of Briar interface to f-droid pageF-droid allows to have a gallery with screenshots from the app, it is a good way to show the user what the app looks like. I think Briar should have screenshots as well, log-in menu,man page,chat menu and so on. If you search "dandelior*...F-droid allows to have a gallery with screenshots from the app, it is a good way to show the user what the app looks like. I think Briar should have screenshots as well, log-in menu,man page,chat menu and so on. If you search "dandelior*" a disapora* client, you see they have a nice gallery.CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1472Explain how Briar is different (rename the "blog"?)2022-11-18T17:24:07ZBjarni RĂșnar EinarssonExplain how Briar is different (rename the "blog"?)Hi! Thanks for Briar, I'm very impressed with what you've done so far.
I was testing it for a bit (the wife and I now have the world's most secure shopping-list app!), and I wanted to share my first impression before it fades. Please fe...Hi! Thanks for Briar, I'm very impressed with what you've done so far.
I was testing it for a bit (the wife and I now have the world's most secure shopping-list app!), and I wanted to share my first impression before it fades. Please feel free to close this issue if you feel it's unhelpful or redundant.
Basically, my dominant feeling was confusion.
What is all this stuff? How does it work? The messages and contacts are straightforward, and the private groups as well... but the forums and blogs had me scratching my head. I still don't fully get them.
How do people discover a blog, or a forum? Are they completely public? Are they shared word-of-mouth over messages? Are there any access controls?
The fact that I couldn't edit or delete blog posts after writing a couple of inane tests was very unsettling - this goes against the expectations any normal user will have for something named "blog", and it's bad enough that after perfectly normal "test behaviour" one is likely going to be forced to delete one's account and start over because anyone with a quirky (let alone risque) sense of humour is likely to write "test posts" that absolutely shouldn't stay on the public record.
I'm technical enough to understand that a lot of this has to do with the underlying p2p distribution, and is also likely emergent from the design goal of making things censorship resistant. But for someone less technical, these limitations are simply baffling and disconcerting. They're also a major roadblock to adoption - I will never use a blog like this as a casual, social tool for expressing myself, and I would strongly recommend against their use to anyone else as well. For personal safety, being able to edit and delete and curate ones' public identity is vital.
There is absolutely a place and a need in this world for a feature like this - but my personal feeling is it needs to be carefully explained and shouldn't be called "blog", as that word implies all sorts of casual social interactions which this is simply inappropriate for (in its current iteration).
But obviously these are just my opinions, I hope they're helpful!CleopatraCleopatrahttps://code.briarproject.org/briar/briar/-/issues/1488Gradle witness pins platform specific dependency2020-11-15T19:21:52ZRonaldGradle witness pins platform specific dependencyNo dependency for integrity assertion 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff'No dependency for integrity assertion 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff'https://code.briarproject.org/briar/briar/-/issues/1491Future dates display as "now"2020-11-15T19:20:47ZMatemĂ ticFuture dates display as "now"Steps to reproduce:
- Use two devices with a 1h clock offset
- Add both to a private group
- Exchange messages
- In the device which is behind, all messages will show a time of "now"
This is very confusing and makes it difficult to noti...Steps to reproduce:
- Use two devices with a 1h clock offset
- Add both to a private group
- Exchange messages
- In the device which is behind, all messages will show a time of "now"
This is very confusing and makes it difficult to notice that the devices clocks are off.
Possible solution: show "invalid time" instead, to help the owner of the misconfigured device notice the issue.
The correct solution is #1098, but even if that were in place, there may be cases where this could help, and I can't think of it doing much damage.https://code.briarproject.org/briar/briar/-/issues/1499Tor process crashes2023-09-15T16:50:20ZTorsten GroteTor process crashesWhen enabling/disabling the Tor plugin in quick succession one sometimes can get the Tor process to exit.
There's two ways that have been observed so far:
The first one prints an exception whenever trying to make control commands:
```r...When enabling/disabling the Tor plugin in quick succession one sometimes can get the Tor process to exit.
There's two ways that have been observed so far:
The first one prints an exception whenever trying to make control commands:
```ruby
W/TorPlugin: java.io.IOException: Tor is no longer running
java.io.IOException: Tor is no longer running
at net.freehaven.tor.control.TorControlConnection.react(TorControlConnection.java:325)
```
The second one doesn't print anything to the log. The TorPlugin seems to hang (only prints on the event thread) and signing out of Briar isn't possible anymore. It just hangs at the sign out fragment.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1511Settings to increase polling time2021-12-13T14:13:45ZDmitry RubtsovSettings to increase polling timeSince Briar takes a lot of battery power (up to 20% of my Galaxy Note 9), I want to customize update frequency for incoming messages. I think, that it is easy and usefulSince Briar takes a lot of battery power (up to 20% of my Galaxy Note 9), I want to customize update frequency for incoming messages. I think, that it is easy and usefulhttps://code.briarproject.org/briar/briar/-/issues/1521Cannot resolve symbol R after build2020-11-15T19:06:59ZnicedeveloperCannot resolve symbol R after buildI'm also encountering "can not resolve symbol R" error
import org.briarproject.briar.R; , where R is in redI'm also encountering "can not resolve symbol R" error
import org.briarproject.briar.R; , where R is in redhttps://code.briarproject.org/briar/briar/-/issues/1523RuntimeException: Camera is being used after Camera.release() was called2021-03-24T16:26:51ZakwizgranRuntimeException: Camera is being used after Camera.release() was called* Android version: 6.0.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone models: Samsung GT-I9100 and GT-I9300 (m0xx)
* User feedback: "I could not scan other device. They could scan me. I have Replicant 6.003."
Stacktrace:
```
java.lang.Runti...* Android version: 6.0.1
* Briar version: 1.1.5 (8f4c3c4)
* Phone models: Samsung GT-I9100 and GT-I9300 (m0xx)
* User feedback: "I could not scan other device. They could scan me. I have Replicant 6.003."
Stacktrace:
```
java.lang.RuntimeException: Camera is being used after Camera.release() was called
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:1999)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1152)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
```
We have four reports of this crash, one on the GT-I9100 (running Replicant) and three on the GT-I9300 (probably also running Replicant, as it's the same Android version as the GT-I9100, and the version's too high to be a factory ROM).
This looks like a Replicant bug: camera calls are being made asynchronously. I'll report it upstream. I'm not adding it to the current milestone as there doesn't seem to be anything we can do.https://code.briarproject.org/briar/briar/-/issues/1524DeadSystemException2022-07-13T14:58:33ZakwizgranDeadSystemException* Android version: 8.1.0
* Briar version: "N/A" (perhaps the package manager is unavailable?)
* Phone model: Motorola Moto G4 Plus (lineage_athene)
Stacktrace:
```
android.os.DeadSystemException
at android.os.PowerManager$WakeLo...* Android version: 8.1.0
* Briar version: "N/A" (perhaps the package manager is unavailable?)
* Phone model: Motorola Moto G4 Plus (lineage_athene)
Stacktrace:
```
android.os.DeadSystemException
at android.os.PowerManager$WakeLock.release(PowerManager.java:1463)
at android.os.PowerManager$WakeLock$1.run(PowerManager.java:1328)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```
[Docs](https://developer.android.com/reference/android/os/DeadSystemException.html) for this exception:
> The core Android system has died and is going through a runtime restart. All running apps will be promptly killed.
[This thread](https://groups.google.com/forum/#!topic/android-platform/VVHA6-eRB3c) explains that a runtime restart is a form of soft reboot.
Doesn't look like there's anything we can do here. Creating this ticket for documentation only.https://code.briarproject.org/briar/briar/-/issues/1525IllegalThreadStateException when starting contact exchange task2021-11-04T11:03:43ZakwizgranIllegalThreadStateException when starting contact exchange task* Android version: 8.1.0
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: OnePlus A0001 (bacon)
* User feedback: "Tried to connect @ 35C3 during the event."
Stacktrace:
```
java.lang.IllegalThreadStateException
at java.lang.Threa...* Android version: 8.1.0
* Briar version: 1.1.5 (8f4c3c4)
* Phone model: OnePlus A0001 (bacon)
* User feedback: "Tried to connect @ 35C3 during the event."
Stacktrace:
```
java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:724)
at org.briarproject.bramble.contact.ContactExchangeTaskImpl.startExchange(ContactExchangeTaskImpl.java:113)
at org.briarproject.briar.android.keyagreement.ContactExchangeActivity.lambda$startContactExchange$0(ContactExchangeActivity.java:66)
at org.briarproject.briar.android.keyagreement.-$$Lambda$ContactExchangeActivity$fyog59L3yYwzJYBvp0hzYrpHYRo.run(Unknown Source:4)
at org.briarproject.briar.android.controller.DbControllerImpl.lambda$runOnDbThread$0(DbControllerImpl.java:35)
at org.briarproject.briar.android.controller.-$$Lambda$DbControllerImpl$SwC9ndeQwlnMM-VN8yvqCJG1ESc.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
```
This exception is thrown if start() is called when the thread isn't in the initial state. A couple of guesses about how this could have happened:
* A ContactExchangeTask instance was reused across multiple contacts
* A ContactExchangeActivity instance received multiple KeyAgreementFinishedEvents, possibly relating to different contacts, each of which cause it to start its ContactExchangeTask
Assigning to myself as I'm refactoring this code for remote contacts.Android 1.4