briar issueshttps://code.briarproject.org/briar/briar/-/issues2022-11-18T17:06:30Zhttps://code.briarproject.org/briar/briar/-/issues/1551Optional sent and read receipts2022-11-18T17:06:30ZakwizgranOptional sent and read receiptsSeveral users have asked for the ability to see when a contact has read a message, with the contact having a setting to control whether this information is sent.
A Google Play user asked for messages to show two timestamps: the time sen...Several users have asked for the ability to see when a contact has read a message, with the contact having a setting to control whether this information is sent.
A Google Play user asked for messages to show two timestamps: the time sent (on one side of the message bubble) and the time received (on the other side).
I think we've discussed this in the past but I can't find the ticket.https://code.briarproject.org/briar/briar/-/issues/197Improve readability/usability of transport status bar2022-11-18T16:48:47Zstr4dImprove readability/usability of transport status bar* The green text isn't very readable to me. IMHO the text should stay the same primary text color, and only the icon should change to green. The meaning is not altered in the user's eyes.
* "Wi-Fi" should probably be "Local Wi-Fi" to en...* The green text isn't very readable to me. IMHO the text should stay the same primary text color, and only the icon should change to green. The meaning is not altered in the user's eyes.
* "Wi-Fi" should probably be "Local Wi-Fi" to ensure the user understands it refers to reaching other users on the same local network.
* Is "Internet" using the open internet, or Tor? I would have assumed there would be separate entries for each.
Related: #185https://code.briarproject.org/briar/briar/-/issues/163Create a blackhole transport for testing2022-11-18T12:21:25ZakwizgranCreate a blackhole transport for testinghttps://code.briarproject.org/briar/briar/-/issues/1809Subscribe to RSS feeds offered by mailbox2022-11-17T14:30:38ZakwizgranSubscribe to RSS feeds offered by mailboxDesign and implement a UI and backend for viewing the list of RSS feeds offered by the user's mailbox and subscribing to feeds.
Depends on #1804.Design and implement a UI and backend for viewing the list of RSS feeds offered by the user's mailbox and subscribing to feeds.
Depends on #1804.RSS import2022-10-31https://code.briarproject.org/briar/briar/-/issues/1810Download RSS feeds from mailbox2022-11-17T14:30:25ZakwizgranDownload RSS feeds from mailboxWrite backend code for downloading RSS feeds offered by the mailbox, parsing the feeds and creating Briar blog posts for any new feed items.
Only feeds the user has subscribed to (see #1809) should be downloaded.
Depends on #1804.Write backend code for downloading RSS feeds offered by the mailbox, parsing the feeds and creating Briar blog posts for any new feed items.
Only feeds the user has subscribed to (see #1809) should be downloaded.
Depends on #1804.RSS import2022-10-31https://code.briarproject.org/briar/briar/-/issues/2383WIP Graphics not displayed in landscape orientation2022-11-08T12:48:58ZIvanaWIP Graphics not displayed in landscape orientationWorkflow: create new nearby contact
Documenting everything workflow by workflow.. will attach the docs when done.. this is a WIP ticketWorkflow: create new nearby contact
Documenting everything workflow by workflow.. will attach the docs when done.. this is a WIP tickethttps://code.briarproject.org/briar/briar/-/issues/2370Main class not specified in briar-headless.jar manifest2022-11-04T13:02:28ZakwizgranMain class not specified in briar-headless.jar manifestA user reported that when following the instructions for building and running briar-headless.jar, the JVM exits with `no main manifest attribute, in briar-headless/build/libs/briar-headless.jar`. I can reproduce this with OpenJDK 11.0.16...A user reported that when following the instructions for building and running briar-headless.jar, the JVM exits with `no main manifest attribute, in briar-headless/build/libs/briar-headless.jar`. I can reproduce this with OpenJDK 11.0.16. The manifest exists and contains a `Manifest-Version` attribute, but no `Main-Class` attribute.SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/5DB durability failures could cause key reuse2022-11-01T14:51:18ZakwizgranDB durability failures could cause key reuseIf an outgoing stream number is used and the database fails to store the updated stream counter durably, the stream number could be reused after restarting the app. That would mean the same key would be reused with the same IV, which wou...If an outgoing stream number is used and the database fails to store the updated stream counter durably, the stream number could be reused after restarting the app. That would mean the same key would be reused with the same IV, which would be very serious - the XOR of two GCM ciphertexts created with the same key and IV equals the XOR of the plaintexts, making the plaintexts guessable.
If this document is right, databases generally can't guarantee durability, even if they claim to:
http://www.h2database.com/html/advanced.html#durability_problems
We should use a fresh random IV for each stream to avoid reusing the same (key, IV) combination even if a stream number is reused.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2003Check for API/behaviour changes in Android 12 that could affect Briar2022-10-31T14:20:43ZakwizgranCheck for API/behaviour changes in Android 12 that could affect Briar* [x] [Safer component exporting](https://developer.android.com/about/versions/12/behavior-changes-12#exported) activities, services, or broadcast receivers that use intent filters must explicitly declare the `android:exported` attribut...* [x] [Safer component exporting](https://developer.android.com/about/versions/12/behavior-changes-12#exported) activities, services, or broadcast receivers that use intent filters must explicitly declare the `android:exported` attribute
* [x] [Pending intents mutability](https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability)
* [x] [Unsafe intent launches](https://developer.android.com/about/versions/12/behavior-changes-12#unsafe-intent-launches)
* [x] `allowBackup="false"` doesn’t disable D2D transfers for the app. https://developer.android.com/about/versions/12/backup-restore
* [x] `SCHEDULE_EXACT_ALARM` permission https://developer.android.com/about/versions/12/behavior-changes-12#exact-alarm-permission
* [x] Restrictive App Standby bucket https://developer.android.com/about/versions/12/behavior-changes-all#restrictive-app-standby-bucket
* [x] [`BLUETOOTH_CONNECT`](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_CONNECT) and [`BLUETOOTH_SCAN`](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_SCAN) permissions
* [x] [`usesPermissionFlags`](https://developer.android.com/reference/android/R.attr.html#usesPermissionFlags) and `neverForLocation`
* [x] Location permission dialog
* [x] Splash screen
* [x] Camera notification
* [x] Multi-window mode
* [x] Camera preview on large screensAndroid 1.4Torsten GroteTorsten Grote2022-11-01https://code.briarproject.org/briar/briar/-/issues/2310Option to allow screenshots2022-10-27T21:39:31ZFlyingP1g FlyingP1gOption to allow screenshotsSometimes users like to make screenshots, to share information quickly.
A simple slider should work. I do not think this option will have too many negative consequences.Sometimes users like to make screenshots, to share information quickly.
A simple slider should work. I do not think this option will have too many negative consequences.https://code.briarproject.org/briar/briar/-/issues/329BTP header is not bound to stream number2022-10-27T20:05:25ZakwizgranBTP header is not bound to stream numberThe BTP tag depends on the stream number, but the header does not, so streams using the same tag and header keys could have their tags swapped without detection. This could be used to distinguish BTP from other protocols.The BTP tag depends on the stream number, but the header does not, so streams using the same tag and header keys could have their tags swapped without detection. This could be used to distinguish BTP from other protocols.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2377Feature Request: add setting to allow screenshots2022-10-27T18:13:11ZRubenFeature Request: add setting to allow screenshotsI think it should be in the users choice if he allows screenshots in Briar. If we have a setting in the options to allow screenshots, you would have a minimal opportunity to do some backups of your most valuable conversations. At the mom...I think it should be in the users choice if he allows screenshots in Briar. If we have a setting in the options to allow screenshots, you would have a minimal opportunity to do some backups of your most valuable conversations. At the moment the only possibility, I see is to use an external camera to make photos of your phone displaying the chat you want to "backup".
An even more improvement would be, to have the possibility to backup all your conversations on your phone, for sure ;) (https://code.briarproject.org/briar/briar/-/issues/110)https://code.briarproject.org/briar/briar/-/issues/2368Can't connect with Orbot or vpn2022-09-30T17:23:17ZNext OneCan't connect with Orbot or vpnGreetings and thanks for great project.
May I suggest to add a possibility to switch off routing through TOR? I's cool for normal phone but I must use Orbot for all traffic. And Briar can't connect like that. Same with vpn.Greetings and thanks for great project.
May I suggest to add a possibility to switch off routing through TOR? I's cool for normal phone but I must use Orbot for all traffic. And Briar can't connect like that. Same with vpn.https://code.briarproject.org/briar/briar/-/issues/2369Keys or app backup2022-09-30T16:50:22ZNext OneKeys or app backupIt's a possible situation when you have to delete Briar app for safety purposes. But now it means losing all contacts.It's a possible situation when you have to delete Briar app for safety purposes. But now it means losing all contacts.https://code.briarproject.org/briar/briar/-/issues/2366Briar crashes with TorNotRunningException when signing out2022-09-28T18:35:07ZakwizgranBriar crashes with TorNotRunningException when signing outBriar sometimes crashes at shutdown if we happen to be executing a control port command when the Tor process exits. This is caused by rethrowing the TorNotRunningException as a RuntimeException, which was added to diagnose #1499.
Stackt...Briar sometimes crashes at shutdown if we happen to be executing a control port command when the Tor process exits. This is caused by rethrowing the TorNotRunningException as a RuntimeException, which was added to diagnose #1499.
Stacktrace:
```
java.lang.RuntimeException: net.freehaven.tor.control.TorNotRunningException: Interrupted
at org.briarproject.bramble.plugin.tor.TorPlugin.enableNetwork(TorPlugin.java:558)
at org.briarproject.bramble.plugin.tor.AndroidTorPlugin.enableNetwork(AndroidTorPlugin.java:107)
at org.briarproject.bramble.plugin.tor.TorPlugin.lambda$updateConnectionStatus$4(TorPlugin.java:975)
at org.briarproject.bramble.plugin.tor.TorPlugin.$r8$lambda$b9522N3kxPZfk5DvPwbwRZVqjaA(TorPlugin.java)
at org.briarproject.bramble.plugin.tor.TorPlugin$$ExternalSyntheticLambda3.run(Unknown Source)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.$r8$lambda$wSvuPL6t_HUoaaqCVexrhJX_RSg(PoliteExecutor.java)
at org.briarproject.bramble.PoliteExecutor$$ExternalSyntheticLambda0.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: net.freehaven.tor.control.TorNotRunningException: Interrupted
at net.freehaven.tor.control.TorControlConnection.sendAndWaitForResponse(TorControlConnection.java:201)
at net.freehaven.tor.control.TorControlConnection.setConf(TorControlConnection.java:406)
at net.freehaven.tor.control.TorControlConnection.setConf(TorControlConnection.java:361)
at org.briarproject.bramble.plugin.tor.TorPlugin.enableNetwork(TorPlugin.java:556)
at org.briarproject.bramble.plugin.tor.AndroidTorPlugin.enableNetwork(AndroidTorPlugin.java:107)
at org.briarproject.bramble.plugin.tor.TorPlugin.lambda$updateConnectionStatus$4(TorPlugin.java:975)
at org.briarproject.bramble.plugin.tor.TorPlugin.$r8$lambda$b9522N3kxPZfk5DvPwbwRZVqjaA(TorPlugin.java)
at org.briarproject.bramble.plugin.tor.TorPlugin$$ExternalSyntheticLambda3.run(Unknown Source)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.$r8$lambda$wSvuPL6t_HUoaaqCVexrhJX_RSg(PoliteExecutor.java)
at org.briarproject.bramble.PoliteExecutor$$ExternalSyntheticLambda0.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
```
Last lines of log:
```
2022-09-27 12:41:26.537 19200-19344/org.briarproject.briar.android.debug I/TorPlugin: Creating v3 hidden service
2022-09-27 12:41:26.537 19200-19343/org.briarproject.briar.android.debug I/PluginManagerImpl: Starting plugin org.briarproject.bramble.tor took 4417 ms
2022-09-27 12:41:26.537 19200-19359/org.briarproject.briar.android.debug I/PluginManagerImpl: org.briarproject.bramble.tor changed from state ENABLING to STARTING_STOPPING
2022-09-27 12:41:26.537 19200-19359/org.briarproject.briar.android.debug I/TorPlugin: Stopping Tor
2022-09-27 12:41:26.537 19200-19351/org.briarproject.briar.android.debug I/TorPlugin: Server socket closed
2022-09-27 12:41:26.537 19200-19343/org.briarproject.briar.android.debug I/AndroidWakeLockImpl: WakefulIoExecutor_6 releasing shared wake lock
2022-09-27 12:41:26.537 19200-19343/org.briarproject.briar.android.debug I/RenewableWakeLock: Wake lock org.briarproject.briar.android.debug has 2 holders
2022-09-27 12:41:26.537 19200-19368/org.briarproject.briar.android.debug I/AndroidWakeLockImpl: TorPlugin_5 acquiring shared wake lock
2022-09-27 12:41:26.537 19200-19368/org.briarproject.briar.android.debug I/RenewableWakeLock: Wake lock org.briarproject.briar.android.debug has 3 holders
2022-09-27 12:41:26.537 19200-19353/org.briarproject.briar.android.debug I/TorPlugin: NOTICE DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
2022-09-27 12:41:26.547 19200-19359/org.briarproject.briar.android.debug I/AndroidWakeLockImpl: TorPlugin_5 releasing shared wake lock
2022-09-27 12:41:26.547 19200-19359/org.briarproject.briar.android.debug I/RenewableWakeLock: Wake lock org.briarproject.briar.android.debug has 2 holders
2022-09-27 12:41:26.547 19200-19359/org.briarproject.briar.android.debug I/PluginManagerImpl: Stopping plugin org.briarproject.bramble.tor took 9 ms
2022-09-27 12:41:26.547 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service PluginManagerImpl took 885 ms
2022-09-27 12:41:26.547 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service MailboxClientManager took 1 ms
2022-09-27 12:41:26.547 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service RendezvousPollerImpl took 0 ms
2022-09-27 12:41:26.547 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service AndroidNotificationManagerImpl took 4 ms
2022-09-27 12:41:26.547 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service ScreenFilterMonitorImpl took 0 ms
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/NetworkUsageMetricsImpl: Duration 4 seconds
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/NetworkUsageMetricsImpl: Received 1862 bytes
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/NetworkUsageMetricsImpl: Sent 1961 bytes
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service NetworkUsageMetricsImpl took 4 ms
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service DozeWatchdogImpl took 0 ms
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping service LockManagerImpl took 0 ms
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping executor TimeLoggingExecutor
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping executor ScheduledThreadPoolExecutor
2022-09-27 12:41:26.557 19200-19367/org.briarproject.briar.android.debug I/LifecycleManagerImpl: Stopping executor ThreadPoolExecutor
2022-09-27 12:41:26.567 19200-19368/org.briarproject.briar.android.debug W/dalvikvm: threadid=29: thread exiting with uncaught exception (group=0x41945da0)
2022-09-27 12:41:26.567 19200-19344/org.briarproject.briar.android.debug W/TorPlugin: java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
at libcore.io.Posix.recvfromBytes(Native Method)
at libcore.io.Posix.recvfrom(Posix.java:141)
at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:164)
at libcore.io.IoBridge.recvfrom(IoBridge.java:506)
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:489)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:241)
at java.io.InputStreamReader.read(InputStreamReader.java:233)
at java.io.BufferedReader.fillBuf(BufferedReader.java:145)
at java.io.BufferedReader.readLine(BufferedReader.java:397)
at net.freehaven.tor.control.TorControlConnection.readReply(TorControlConnection.java:143)
at net.freehaven.tor.control.TorControlConnection.react(TorControlConnection.java:327)
at net.freehaven.tor.control.TorControlConnection$ControlParseThread.run(TorControlConnection.java:309)
```Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1074Separate "sign out" from other menu items2022-09-27T17:16:43ZakwizgranSeparate "sign out" from other menu itemsUser feedback: "Twice we fat fingered the "Sign out" option in the menu. It would probably be best to keep it at the bottom, away from the rest of the entries."User feedback: "Twice we fat fingered the "Sign out" option in the menu. It would probably be best to keep it at the bottom, away from the rest of the entries."https://code.briarproject.org/briar/briar/-/issues/2344Upgrade obfs4proxy to 0.0.142022-09-26T11:50:08ZakwizgranUpgrade obfs4proxy to 0.0.14Android 1.4Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2166Create a secure random provider for Windows2022-09-19T10:49:02ZNicoCreate a secure random provider for WindowsWhen starting Briar Desktop on Windows, it fails with the following error because so far no SecureRandomProvider for Windows is implemented:
```
C:\Users\Test\.jdks\azul-15.0.4\bin\java.exe "-javaagent:C:\Program Files\JetBrains\Intelli...When starting Briar Desktop on Windows, it fails with the following error because so far no SecureRandomProvider for Windows is implemented:
```
C:\Users\Test\.jdks\azul-15.0.4\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\lib\idea_rt.jar=63172:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Test\Documents\briar-desktop\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\build\classes\kotlin\main;C:\Users\Test\Documents\briar-desktop\build\tmp\kapt3\classes\main;C:\Users\Test\Documents\briar-desktop\build\resources\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-2.1.1-SNAPSHOT-briar.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-gpl-2.1.1-SNAPSHOT.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\jssc-0.9-briar.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.5.10\3f4af7aff21c4ec46e3cdd645639d0a63a68d3d0\kotlin-stdlib-jdk8-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.10.0\1127c9cf62f2bb3121a3a2a0a1351d251a602117\jackson-databind-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.github.ajalt\clikt\2.2.0\a7e7b9b278a6e83cc2d9f2cf0db93dff9a93d8f5\clikt-2.2.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.5.10\c49d0703d16c6cb1526cc07b9b46486da1dd8a60\kotlin-stdlib-jdk7-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.5.10\da6a904b132f0402fa4d79169a3c1770598d4702\kotlin-stdlib-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.10.0\e01cfd93b80d6773b3f757c78e756c9755b47b81\jackson-annotations-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.10.0\4e2c5fa04648ec9772c63e2101c53af6504e624e\jackson-core-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-extended-desktop\0.4.0\58fb0b18c77a2dde55fa8c749c436d424a220203\material-icons-extended-desktop-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome\1.15.0\d3614542b857eccc0555d1ee8dfc36d2043d9c1f\rome-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jdom\jdom2\2.0.6\6f14738ec2e9dd0011e343717fa624a10f8aab64\jdom2-2.0.6.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.12.13\528e024f340da35cca5d679b631da85d8db9ed\okhttp-3.12.13.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jsoup\jsoup\1.13.1\f9577f3732bb7caa4fee8aba5053158f4010c118\jsoup-1.13.1.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform\4.5.2\741853c07152f6c0fef5194efa6b2dabac22e9c0\jna-platform-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\4.5.2\35d000afbaa4ed425d91873b40f4df9b8236875b\jna-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.5.10\6b84d926e28493be69daf673e40076f89492ef7\kotlin-stdlib-common-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.desktop\desktop-jvm\0.4.0\58115d964397bd97025cd13a79a055b61194093b\desktop-jvm-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome-utils\1.15.0\ab1cb95382bf9a8dec81165d328bcbbf1acfb3ae\rome-utils-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.16\3a6274f658487d5bfff9af3862beff6da1e7fd52\slf4j-api-1.7.16.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okio\okio\1.15.0\bc28b5a964c8f5721eb58ee3f3c47a9bcbf4f4d8\okio-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.madgag.spongycastle\core\1.58.0.0\e08789f8f1e74f155db8b69c3575b5cb213c156c\core-1.58.0.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.h2database\h2\1.4.192\1106492605db135523d2817881cdf029d9292afa\h2-1.4.192.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.bitlet\weupnp\0.1.4\b99cd791ede89b7c17426e6c51a0f171dc925def\weupnp-0.1.4.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.2.0\856a92559c4daf744cb27c93cd8b7eb1f8c4780\eddsa-0.2.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.whispersystems\curve25519-java\0.5.0\787dab46ed8e6f8adf9bbbb945145d503b7f181a\curve25519-java-0.5.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.briarproject\jtorctl\0.3\83622828c5457584d5c1e0a89d893fd3844fd7f5\jtorctl-0.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-core-desktop\0.4.0\510ee3df8a1fde982a99a40a09d2f39098b47c72\material-icons-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.dagger\dagger\2.33\7ac2b51c8cf8e2c1a30fa74b917629c60ae2405d\dagger-2.33.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.2\25ea2e8b0c338a877313bd4672d3fe056ea78f0d\jsr305-3.0.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-desktop\0.4.0\210d13a67c94912e31240eea347b3704e2b6651a\material-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-desktop\0.4.0\ab89b6280cadc4866cafe42ec43ab40faccfcc30\foundation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-desktop\0.4.0\8533de36dc9107fa4e57f377ba147cfc17cba850\ui-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-desktop\0.4.0\2452d00191f736d58f2fa50dd1821623adbaefd9\runtime-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\javax.inject\javax.inject\1\6975da39a7040257bd51d21a231b76c915872d38\javax.inject-1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-swing\1.4.3\9da350dc1f729955e20f1f3b45dd14c3c9aa1eeb\kotlinx-coroutines-swing-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-ripple-desktop\0.4.0\e2ccee827f2082402b5111368192fcfb579a97f3\material-ripple-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-core-desktop\0.4.0\d838af1fd2a80d1664ffc073df89463023fb6d4b\animation-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-text-desktop\0.4.0\3a8d29230c7565cd98728f2a1bbfc33d97cd12a5\ui-text-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-desktop\0.4.0\af2e490608e458a20c8d51ba602ff6a6e25d7e61\animation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-saveable-desktop\0.4.0\c6c172bc8c57ca718e37858b8d5baf70c9ae5268\runtime-saveable-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-graphics-desktop\0.4.0\428dc38b14978b3fed6a9f1756af36b34baad76e\ui-graphics-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-unit-desktop\0.4.0\41ff9a8c171b9136f06eff80635a2330a6086727\ui-unit-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-geometry-desktop\0.4.0\261a169b4e2816397d8c4e22e63a2d590f99210a\ui-geometry-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-core-jvm\1.4.3\1051e11eb789ed1df93412bebe0f06e9d29160e4\kotlinx-coroutines-core-jvm-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm\0.3.1\3b01e23f3c72d27d8b85836f0ab81eb32ccb67f5\skiko-jvm-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-layout-desktop\0.4.0\dbd71e8c3b90e859b0ca3b7b1e75091033f20960\foundation-layout-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm-runtime-windows-x64\0.3.1\42406736546c8404a1a330a88c5d6b815ddae4e6\skiko-jvm-runtime-windows-x64-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-util-desktop\0.4.0\6de31edde97babd7339e67bb1b82ebff1a805e9c\ui-util-desktop-0.4.0.jar org.briarproject.briar.desktop.MainKt --debug
Exception in thread "main" java.lang.UnsupportedOperationException
at org.briarproject.bramble.system.DesktopSecureRandomModule.provideSecureRandomProvider(DesktopSecureRandomModule.java:22)
at org.briarproject.bramble.system.DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.provideSecureRandomProvider(DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.java:32)
at org.briarproject.bramble.system.DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.get(DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.java:22)
at org.briarproject.bramble.system.DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.get(DesktopSecureRandomModule_ProvideSecureRandomProviderFactory.java:8)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:31)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:21)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:8)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:26)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:9)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:36)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:12)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:40)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:13)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:30)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:10)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:26)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:35)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.injectEagerSingletons(DaggerBriarDesktopApp.java:1387)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.inject(DaggerBriarDesktopApp.java:1279)
at org.briarproject.bramble.BrambleCoreEagerSingletons$Helper.injectEagerSingletons(BrambleCoreEagerSingletons.java:48)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:64)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:48)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.ComposerKt.invokeComposable(Composer.kt:3320)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2567)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotState.kt:523)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2560)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:2515)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:476)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:726)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:432)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:171)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Process finished with exit code 1
```
Sub-issue of #31.https://code.briarproject.org/briar/briar/-/issues/2165Make use of Tor on Windows2022-09-15T16:14:47ZNicoMake use of Tor on WindowsWe need some mechanism to use the Tor binary on Windows. The relevant class for Linux is [UnixTorPluginFactory](https://code.briarproject.org/briar/briar/-/blob/beta-1.3.8/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/Un...We need some mechanism to use the Tor binary on Windows. The relevant class for Linux is [UnixTorPluginFactory](https://code.briarproject.org/briar/briar/-/blob/beta-1.3.8/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java#L96).
Similar to https://code.briarproject.org/briar/briar/-/merge_requests/1376.
Related to https://code.briarproject.org/briar/briar-desktop/-/issues/31.
Depends on https://code.briarproject.org/briar/tor-reproducer/-/issues/2.https://code.briarproject.org/briar/briar/-/issues/1052Trust indicator in main contact-list2022-09-06T09:58:49ZligiTrust indicator in main contact-listThe trust indicator should also be visible in the main contact list - discussed with @grote at c-base briar meetupThe trust indicator should also be visible in the main contact list - discussed with @grote at c-base briar meetup