briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-08-17T05:41:15Zhttps://code.briarproject.org/briar/briar/-/issues/2283Add menu item to select custom tor bridge2022-08-17T05:41:15ZJohan SchmurgeAdd menu item to select custom tor bridgeAdd menu item to select custom tor bridge. In some countries public tor bridges are blocked, and app does not work. Using custom bridges resolve this problem as it do in tor browser.Add menu item to select custom tor bridge. In some countries public tor bridges are blocked, and app does not work. Using custom bridges resolve this problem as it do in tor browser.https://code.briarproject.org/briar/briar/-/issues/2282iOS feasibility study2022-03-03T17:03:06ZakwizgraniOS feasibility studyTo know whether Briar can be viable on iOS we need to answer the following questions.
Online:
* Can the app run a Tor hidden service on iOS? (Bearing in mind that this requires a wake lock on Android to prevent Tor's circuits from timin...To know whether Briar can be viable on iOS we need to answer the following questions.
Online:
* Can the app run a Tor hidden service on iOS? (Bearing in mind that this requires a wake lock on Android to prevent Tor's circuits from timing out when the CPU sleeps.)
* Can the hidden service keep running for a limited time when the app goes into the background?
* Can the app wake periodically while running in the background, connect to a mailbox via Tor and check for messages?
* If the app finds messages when checking the mailbox, can it (a) store the messages in the local database, (b) show a notification?
Offline:
* Can the app advertise a UUID/other info via BLE such that nearby iOS/Android devices can discover it?
* Can the app scan for UUIDs/other info advertised via BLE by nearby iOS/Android devices?
* Can the app make/receive GATT connections to/from iOS/Android devices?
* Can the app make/receive L2CAP-CoC connections to/from iOS/Android devices?
* Can the app provide a wifi hotspot (without internet access)? Can it make/receive TCP connections to/from devices connected to the hotspot?
* Can the app connect to a wifi hotspot (without internet access) provided by another device? Can it make/receive TCP connections to/from other devices connected to the hotspot?
For all of the above we need to know:
* Differences between foreground and background behaviour
* API limits such as rate limits, number of UUIDs that can be scanned for
* Any other circumstances that could affect the behaviour, such as screen being off, low battery, device reboot, user not bringing the app to the foreground for a long time
* Whether user interaction is neededhttps://code.briarproject.org/briar/briar-desktop/-/issues/328Message spacing for sequential messages2022-03-03T03:43:36ZpaulMessage spacing for sequential messagesThis is a feature in Apple's iMessage that I didn't realize was useful until I started using Briar Android and Desktop frequently. For sequential messages that are sent within ~1 minute of each other, by the same contact, Apple changes t...This is a feature in Apple's iMessage that I didn't realize was useful until I started using Briar Android and Desktop frequently. For sequential messages that are sent within ~1 minute of each other, by the same contact, Apple changes the spacing to about 1-2px. The result is that message bubbles sent in the same window are grouped together and are easier to read as a collective group.
Not sure how hard this would be to implement on the back end, but there's a chance compose makes it fairly easy.https://code.briarproject.org/briar/briar/-/issues/2279KeyStoreException: Too many operations2022-06-13T15:00:46ZakwizgranKeyStoreException: Too many operations* Android version: 11
* Phone model: Google Pixel 4a (sunfish)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-07 10:57:20.650 I/BriarApplicationImpl: Created
12-07 10:57:20.673 I/BaseActivity: Creating SplashScreenActivity
12-07 10:57:20....* Android version: 11
* Phone model: Google Pixel 4a (sunfish)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-07 10:57:20.650 I/BriarApplicationImpl: Created
12-07 10:57:20.673 I/BaseActivity: Creating SplashScreenActivity
12-07 10:57:20.683 I/BaseActivity: Starting SplashScreenActivity
12-07 10:57:20.685 I/BaseActivity: Resuming SplashScreenActivity
12-07 10:57:21.193 I/BaseActivity: Pausing SplashScreenActivity
12-07 10:57:21.206 I/BaseActivity: Creating NavDrawerActivity
12-07 10:57:21.242 I/BaseActivity: Starting NavDrawerActivity
12-07 10:57:21.243 I/BaseActivity: Resuming NavDrawerActivity
12-07 10:57:21.243 I/BriarActivity: Not signed in, launching StartupActivity
12-07 10:57:21.252 I/BaseActivity: Pausing NavDrawerActivity
12-07 10:57:21.259 I/BaseActivity: Creating StartupActivity
12-07 10:57:21.271 I/AccountManagerImpl: Found database key in primary file
12-07 10:57:21.272 I/BaseActivity: Starting StartupActivity
12-07 10:57:21.289 I/BaseActivity: Resuming StartupActivity
12-07 10:57:21.340 I/BaseActivity: Stopping NavDrawerActivity
12-07 10:57:21.758 I/BaseActivity: Stopping SplashScreenActivity
12-07 10:57:21.758 I/BaseActivity: Destroying SplashScreenActivity
12-07 10:57:22.336 I/BaseActivity: Pausing StartupActivity
12-07 10:57:22.918 I/BaseActivity: Stopping StartupActivity
12-07 10:57:25.564 I/BaseActivity: Starting StartupActivity
12-07 10:57:25.565 I/BaseActivity: Resuming StartupActivity
12-07 10:57:26.387 I/AccountManagerImpl: Found database key in primary file
12-07 10:57:27.178 I/AndroidKeyStrengthener: Loaded key from keystore
```
Stacktrace:
```
java.lang.RuntimeException: java.security.InvalidKeyException: Keystore operation failed
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:101)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:407)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:214)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:200)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0(StartupViewModel.java:112)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(Unknown Source:0)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$5aurY1rQupylNVXCUST5DjfL1L4.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.AndroidKeyStoreHmacSpi.ensureKeystoreOperationInitialized(AndroidKeyStoreHmacSpi.java:184)
at android.security.keystore.AndroidKeyStoreHmacSpi.engineInit(AndroidKeyStoreHmacSpi.java:101)
at javax.crypto.Mac.chooseProvider(Mac.java:443)
at javax.crypto.Mac.init(Mac.java:513)
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:98)
... 9 more
Caused by: android.security.KeyStoreException: Too many operations
at android.security.KeyStore.getKeyStoreException(KeyStore.java:1301)
... 16 more
```https://code.briarproject.org/briar/briar/-/issues/2278KeyStoreException: Invalid operation handle2022-06-13T15:00:46ZakwizgranKeyStoreException: Invalid operation handle* Android version: 11
* Phone model: Motorola Moto G(9) Power (cebu_retailn)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-16 06:37:45.374 I/BriarApplicationImpl: Created
12-16 06:37:45.449 I/BaseActivity: Creating SplashScreenActivity
1...* Android version: 11
* Phone model: Motorola Moto G(9) Power (cebu_retailn)
* Briar version: 1.4.1 (6517f3f)
Log:
```
12-16 06:37:45.374 I/BriarApplicationImpl: Created
12-16 06:37:45.449 I/BaseActivity: Creating SplashScreenActivity
12-16 06:37:45.512 I/BaseActivity: Starting SplashScreenActivity
12-16 06:37:45.513 I/BaseActivity: Resuming SplashScreenActivity
12-16 06:37:45.998 I/BaseActivity: Pausing SplashScreenActivity
12-16 06:37:46.057 I/BaseActivity: Creating NavDrawerActivity
12-16 06:37:46.131 I/BaseActivity: Starting NavDrawerActivity
12-16 06:37:46.134 I/BaseActivity: Resuming NavDrawerActivity
12-16 06:37:46.134 I/BriarActivity: Not signed in, launching StartupActivity
12-16 06:37:46.174 I/BaseActivity: Pausing NavDrawerActivity
12-16 06:37:46.193 I/BaseActivity: Creating StartupActivity
12-16 06:37:46.217 I/AccountManagerImpl: Found database key in primary file
12-16 06:37:46.220 I/BaseActivity: Starting StartupActivity
12-16 06:37:46.302 I/BaseActivity: Resuming StartupActivity
12-16 06:37:46.514 I/BaseActivity: Stopping NavDrawerActivity
12-16 06:37:46.913 I/BaseActivity: Stopping SplashScreenActivity
12-16 06:37:46.914 I/BaseActivity: Destroying SplashScreenActivity
12-16 06:37:52.674 I/AccountManagerImpl: Found database key in primary file
12-16 06:37:57.264 I/AndroidKeyStrengthener: Loaded key from keystore
```
Stacktrace:
```
java.security.ProviderException: Keystore operation failed
at android.security.keystore.AndroidKeyStoreHmacSpi.engineDoFinal(AndroidKeyStoreHmacSpi.java:242)
at javax.crypto.Mac.doFinal(Mac.java:667)
at javax.crypto.Mac.doFinal(Mac.java:742)
at org.briarproject.briar.android.AndroidKeyStrengthener.strengthenKey(AndroidKeyStrengthener.java:99)
at org.briarproject.bramble.crypto.CryptoComponentImpl.decryptWithPassword(CryptoComponentImpl.java:407)
at org.briarproject.bramble.account.AccountManagerImpl.loadAndDecryptDatabaseKey(AccountManagerImpl.java:214)
at org.briarproject.bramble.account.AccountManagerImpl.signIn(AccountManagerImpl.java:200)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0(StartupViewModel.java:112)
at org.briarproject.briar.android.login.StartupViewModel.lambda$validatePassword$0$StartupViewModel(Unknown Source:0)
at org.briarproject.briar.android.login.-$$Lambda$StartupViewModel$5aurY1rQupylNVXCUST5DjfL1L4.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: android.security.KeyStoreException: Invalid operation handle
at android.security.KeyStore.getKeyStoreException(KeyStore.java:1301)
at android.security.keystore.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:176)
at android.security.keystore.AndroidKeyStoreHmacSpi.engineDoFinal(AndroidKeyStoreHmacSpi.java:236)
... 12 more
```https://code.briarproject.org/briar/briar-desktop/-/issues/325Librem 5 LibraryLoadException2022-02-28T08:00:35ZpaulLibrem 5 LibraryLoadExceptionFrom Briar matrix:
> Hi! I am trying to run briar-desktop (java version) on a Librem 5 phone (Debian-based aarch64 GNU/Linux). I am getting an exception, where the relevant part seems to be:
```java
Caused by: org.jetbrains.skiko.Library...From Briar matrix:
> Hi! I am trying to run briar-desktop (java version) on a Librem 5 phone (Debian-based aarch64 GNU/Linux). I am getting an exception, where the relevant part seems to be:
```java
Caused by: org.jetbrains.skiko.LibraryLoadException: Cannot find libskiko-linux-xrm64.so.sha256, proper native dependency missing.
```https://code.briarproject.org/briar/briar-desktop/-/issues/319Connectivity issues after suspend/hibernate2023-03-08T14:07:07ZSebastianConnectivity issues after suspend/hibernateAs @akwizgran [pointed out here](https://code.briarproject.org/briar/briar-desktop/-/issues/183#note_60283):
> I think Linux takes network interfaces down on suspend/hibernate (wake-on-LAN is handled at the hardware level), so we might
...As @akwizgran [pointed out here](https://code.briarproject.org/briar/briar-desktop/-/issues/183#note_60283):
> I think Linux takes network interfaces down on suspend/hibernate (wake-on-LAN is handled at the hardware level), so we might
need to listen for some kind of event indicating that the device has come out of suspend/hibernate and force a connectivity check. Such events exist on certain flavours of Linux but I don't know how they're implemented (dbus?) or whether anything similar exists on Win/Mac.
I think we also already got reports that briar desktop was offline after coming back from suspend also it appeared online in the own user interface.https://code.briarproject.org/briar/briar-desktop/-/issues/317Better TAB navigation in combination with password reveal buttons2022-02-21T23:06:27ZMikolai GütschowBetter TAB navigation in combination with password reveal buttonsThe following discussion from !177 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/177#note_63754): (+1 comment)
> I just noticed that stepping through ...The following discussion from !177 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/177#note_63754): (+1 comment)
> I just noticed that stepping through the text fields using the TAB/Enter keys does not work very nicely anymore since the "reveal password" button is in between two text fields. Not sure what should be the expected behavior here though, since having the reveal password buttons accessible is definitely a must as well. Perhaps changing the tab order?https://code.briarproject.org/briar/briar-desktop/-/issues/316Add list of contributors to About dialog2022-02-22T01:29:02ZMikolai GütschowAdd list of contributors to About dialogE.g. like it's done in Transportr. What are your thoughts on this @nico @sebkur?E.g. like it's done in Transportr. What are your thoughts on this @nico @sebkur?https://code.briarproject.org/briar/tor-reproducer/-/issues/8Do hardening of builds2022-02-15T10:04:12ZNicoDo hardening of buildsThe following discussion from !17 should be addressed:
- [ ] @akwizgran started a [discussion](https://code.briarproject.org/briar/tor-reproducer/-/merge_requests/17#note_59064): (+2 comments)
> I think you mentioned somewhere tha...The following discussion from !17 should be addressed:
- [ ] @akwizgran started a [discussion](https://code.briarproject.org/briar/tor-reproducer/-/merge_requests/17#note_59064): (+2 comments)
> I think you mentioned somewhere that you had to drop `-O3` (which is commented as "needed for FORTIFY_SOURCE" in the Linux build), but I couldn't find where you mentioned it. I can't remember where the FORTIFY_SOURCE comment came from - possibly the Guardian Project's original Makefile? Any idea whether it's important?https://code.briarproject.org/briar/briar-desktop/-/issues/304Scrollbar Visual Bug2022-03-14T04:33:36ZpaulScrollbar Visual BugWhile scrolling through messages, the scrollbar often changes size and position.
![scrollbar-visual-bug](/uploads/a2ba5d9aeb45c5064c4fcd0ae7181394/scrollbar-visual-bug.gif)While scrolling through messages, the scrollbar often changes size and position.
![scrollbar-visual-bug](/uploads/a2ba5d9aeb45c5064c4fcd0ae7181394/scrollbar-visual-bug.gif)https://code.briarproject.org/briar/briar/-/issues/2263Status of Tor plugin is unclear in connections screen2022-02-11T12:35:00ZakwizgranStatus of Tor plugin is unclear in connections screenWhen the "Use mobile data" setting is turned off or the "Connect to the Internet only when charging" setting is turned on, Briar might not connect to the internet even though the parent setting, "Connect to contacts via the Internet", is...When the "Use mobile data" setting is turned off or the "Connect to the Internet only when charging" setting is turned on, Briar might not connect to the internet even though the parent setting, "Connect to contacts via the Internet", is turned on.
In the main settings screen this is hopefully clear because all the settings are shown. But in the connections screen we only show the parent setting and the current status. So it may not be obvious that Briar is offline, or how to change this.https://code.briarproject.org/briar/briar/-/issues/2262Improve warning about being offline when adding a contact remotely2022-02-11T12:16:38ZakwizgranImprove warning about being offline when adding a contact remotelyIf the user adds a contact remotely while Briar is offline (ie not connected to Tor), we don't show any indication that Briar doesn't have an internet connection until the user reaches the pending contact list, and when the warning is sh...If the user adds a contact remotely while Briar is offline (ie not connected to Tor), we don't show any indication that Briar doesn't have an internet connection until the user reaches the pending contact list, and when the warning is shown it doesn't give any guidance about what the user could do to solve the problem.https://code.briarproject.org/briar/briar-desktop/-/issues/302Allow to translate metainfo.xml2022-02-11T11:49:51ZNicoAllow to translate metainfo.xmlFollow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/128Follow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/128https://code.briarproject.org/briar/briar-desktop/-/issues/301Use shrinked version for native distribution2022-09-15T05:18:11ZMikolai GütschowUse shrinked version for native distributionThe following discussion from !134 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/134#note_62165): (+1 comment)
> What's still going to be tricky is to ...The following discussion from !134 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/134#note_62165): (+1 comment)
> What's still going to be tricky is to ship the shrinked jar file along with our `deb`, because we somehow need to tweak it to use that file. Seemed like no-one on the kotlinlang slack knew how to do that, but I'll try to figure something out.https://code.briarproject.org/briar/briar-desktop/-/issues/299Further reduce .jar size by excluding tor binaries for other architectures2022-02-09T15:42:12ZNicoFurther reduce .jar size by excluding tor binaries for other architecturesFollow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/141#note_62471:
> Don't know if it's related to this, but in briar-headless we also strip tor binaries of other architectures:
>
> https://code.briarproject.org/bri...Follow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/141#note_62471:
> Don't know if it's related to this, but in briar-headless we also strip tor binaries of other architectures:
>
> https://code.briarproject.org/briar/tor-reproducer/-/blob/234280ef8891b1bcb4768e5906896467e880f067/build-tor.py#L195
This has the potential of reducing the .jar by some more MB.https://code.briarproject.org/briar/briar-desktop/-/issues/298Try to make ktlint fail with missing i18n on main source set2022-04-03T10:36:20ZSebastianTry to make ktlint fail with missing i18n on main source sethttps://code.briarproject.org/briar/briar-desktop/-/issues/297For long outgoing message, scroll to bottom when opening the chat2022-02-05T20:45:04ZMikolai GütschowFor long outgoing message, scroll to bottom when opening the chatSame might apply to already read, incoming messages.
Currently, when opening the Georgy Voronoy chat, the chat view always jumps to the *start* of the last message.
![image](/uploads/1d39f4c178334db5b6db2ab83ca7ce40/image.png)Same might apply to already read, incoming messages.
Currently, when opening the Georgy Voronoy chat, the chat view always jumps to the *start* of the last message.
![image](/uploads/1d39f4c178334db5b6db2ab83ca7ce40/image.png)https://code.briarproject.org/briar/briar-desktop/-/issues/296connection is not restored2022-02-22T09:44:17Zmicressorconnection is not restoredConnection is not restored when switching from one LAN network to another LAN network (different IP range).
The contact status remains offline.
Fix by restarting the briar desktop app
version: 0.1.0-betaConnection is not restored when switching from one LAN network to another LAN network (different IP range).
The contact status remains offline.
Fix by restarting the briar desktop app
version: 0.1.0-betahttps://code.briarproject.org/briar/briar-desktop/-/issues/294Can Briar work over an existing Tor network? Tor over Tor?2022-02-04T19:17:58ZLucy LuCan Briar work over an existing Tor network? Tor over Tor?Can Briar work over an existing Tor network?
Many users concerned with security, privacy, anonymity will be using secure operating systems and anonymous networks.
Use Cases:
- People operating on Whonix.
- People operating on Tails...Can Briar work over an existing Tor network?
Many users concerned with security, privacy, anonymity will be using secure operating systems and anonymous networks.
Use Cases:
- People operating on Whonix.
- People operating on Tails.
- People operating on Qubes OS TorVM.
- Running a Tor network router.