briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-05-08T14:14:43Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/519Noticing missing string resource: alternative to silent log?2023-05-08T14:14:43ZMikolai GütschowNoticing missing string resource: alternative to silent log?When a key is used in one of our `i18n*` functions, for which no string exists neither in the translation nor in the English resource file, we currently just print a message to the log and return an empty string. Maybe it might be better...When a key is used in one of our `i18n*` functions, for which no string exists neither in the translation nor in the English resource file, we currently just print a message to the log and return an empty string. Maybe it might be better to either hard-crash the program (following Briar's crash-early strategy) or have some other way of making sure at compile time all strings are actually present (and no keys are misspelled).https://code.briarproject.org/briar/briar/-/issues/2430Icons are missing from our F-Droid repo2023-04-28T17:31:20ZakwizgranIcons are missing from our F-Droid repoOur F-Droid repo doesn't appear to have up-to-date icons for Briar or Mailbox. The newest icons for Briar are for the long-obsolete 1.1.6 release.Our F-Droid repo doesn't appear to have up-to-date icons for Briar or Mailbox. The newest icons for Briar are for the long-obsolete 1.1.6 release.https://code.briarproject.org/briar/briar/-/issues/2428AssertionError when loading image preview2023-04-18T14:43:25ZakwizgranAssertionError when loading image preview* Android version: 10
* Phone model: Samsung SM-A115U (a11qsq)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Crash when sending image."
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImageP...* Android version: 10
* Phone model: Samsung SM-A115U (a11qsq)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Crash when sending image."
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImagePreviewAdapter.loadItemPreview(ImagePreviewAdapter.java:57)
at org.briarproject.briar.android.view.ImagePreview.loadPreviewImage(ImagePreview.java:80)
at org.briarproject.briar.android.view.TextAttachmentController.onNewAttachmentItemResults(TextAttachmentController.java:206)
at org.briarproject.briar.android.view.TextAttachmentController.access$000(TextAttachmentController.java:44)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:187)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:179)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8107)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
```
Edited log:
```
03-18 20:52:32.715 I/BaseActivity: Starting ConversationActivity
03-18 20:52:32.720 I/BaseActivity: Resuming ConversationActivity
03-18 20:52:33.024 I/ImageCompressorImpl: Original image size: 682x1024
03-18 20:52:33.024 I/ImageCompressorImpl: Scaling attachment by factor of 2
03-18 20:52:33.098 I/ImageCompressorImpl: Compressed image to 30054 bytes, quality 70
03-18 20:52:33.903 I/BaseActivity: Pausing ConversationActivity
03-18 20:52:33.924 I/BaseActivity: Starting NavDrawerActivity
03-18 20:52:33.925 I/BaseActivity: Resuming NavDrawerActivity
03-18 20:52:34.396 I/BaseActivity: Stopping ConversationActivity
03-18 20:52:34.397 I/BaseActivity: Destroying ConversationActivity
03-18 20:52:35.287 I/BaseActivity: Pausing NavDrawerActivity
03-18 20:52:35.310 I/BaseActivity: Creating ConversationActivity
03-18 20:52:35.333 I/ConversationViewModel: PrivateMessageFormat loaded: TEXT_IMAGES_AUTO_DELETE
03-18 20:52:35.382 I/BaseActivity: Starting ConversationActivity
03-18 20:52:35.384 I/BaseActivity: Resuming ConversationActivity
03-18 20:52:35.886 I/BaseActivity: Stopping NavDrawerActivity
03-18 20:52:36.322 I/ConversationActivity: Eagerly loading text for latest message
03-18 20:52:36.794 I/BaseActivity: Pausing ConversationActivity
03-18 20:52:37.403 I/BaseActivity: Stopping ConversationActivity
03-18 20:52:41.046 I/BaseActivity: Starting ConversationActivity
03-18 20:52:41.048 I/BaseActivity: Resuming ConversationActivity
03-18 20:52:41.076 I/ImageCompressorImpl: Original image size: 720x1560
03-18 20:52:41.077 I/ImageCompressorImpl: Scaling attachment by factor of 2
03-18 20:52:41.177 I/ImageCompressorImpl: Compressed image to 29301 bytes, quality 70
```Android 1.4https://code.briarproject.org/briar/briar-mailbox/-/issues/192Set up fastlane for app store metadata2023-08-28T16:00:10ZTorsten GroteSet up fastlane for app store metadatahttps://code.briarproject.org/briar/public-mesh-testbed/-/issues/2Add uncaught exception handler, ensure that crashes get logged2023-04-17T14:11:48ZakwizgranAdd uncaught exception handler, ensure that crashes get loggedhttps://code.briarproject.org/briar/briar-desktop/-/issues/516Notifications are not detected to be not working on Raspbian2023-04-15T18:53:01ZMikolai GütschowNotifications are not detected to be not working on RaspbianQuoting @sebkur from https://code.briarproject.org/briar/briar-desktop/-/issues/327#note_74864:
> Notifications do not work and are not detected to be not working (which might be the thing that we could ideally detect). I think it's not...Quoting @sebkur from https://code.briarproject.org/briar/briar-desktop/-/issues/327#note_74864:
> Notifications do not work and are not detected to be not working (which might be the thing that we could ideally detect). I think it's not much our fault though. After installing `x11-utils`, I have `notify-send` which also doesn't work. It fails silently, much like our app. I think there's just nothing installed on that system that shows the notifications that are being sent to libnotify.
> The message is
>
> ```
> libnotify-WARNING: Failed to connect to proxy
> ```
> `ldd --version` shows:
>
> ```
> Debian GLIBC 2.31-13...
> ```https://code.briarproject.org/briar/briar-desktop/-/issues/514Signed hashsums for release downloads2023-04-11T14:32:44ZSebastianSigned hashsums for release downloadsMultiple users asked for signed hashsums in the chat.
I think the issue has been discussed sometime already and we'd prefer to keep akwizgran out of the desktop release loop (he is not entirely with the need to update the website at the...Multiple users asked for signed hashsums in the chat.
I think the issue has been discussed sometime already and we'd prefer to keep akwizgran out of the desktop release loop (he is not entirely with the need to update the website at the moment), however we can try not to reinforce that dependency.
We could probably sign with a different key for the desktop team?https://code.briarproject.org/briar/briar/-/issues/2427Don't scroll to bottom when accepting invitations2023-04-09T01:16:48Zre tiolusDon't scroll to bottom when accepting invitationsIt's quite annoying, when accepting a lot of invites that UI scroll back to the bottom of the conversation. Would be also cool that the "UP" arrow goes to the first unread message of the chat.It's quite annoying, when accepting a lot of invites that UI scroll back to the bottom of the conversation. Would be also cool that the "UP" arrow goes to the first unread message of the chat.https://code.briarproject.org/briar/briar/-/issues/2426IllegalArgumentException when receiving ACTIVATE message as introducee2023-03-31T15:22:30ZakwizgranIllegalArgumentException when receiving ACTIVATE message as introduceeStacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.transport.TransportKeyManagerImpl.activateKeys(TransportKeyManagerImpl.java:285)
at org.briarproject.bramble.transport.KeyManagerImpl.lambda$activateKeys$2(...Stacktrace:
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.transport.TransportKeyManagerImpl.activateKeys(TransportKeyManagerImpl.java:285)
at org.briarproject.bramble.transport.KeyManagerImpl.lambda$activateKeys$2(KeyManagerImpl.java:176)
at org.briarproject.bramble.transport.KeyManagerImpl.$r8$lambda$hZAivP_ym8Z94pCCnZpsDSza1P4(Unknown Source:0)
at org.briarproject.bramble.transport.KeyManagerImpl$$ExternalSyntheticLambda8.run(Unknown Source:4)
at org.briarproject.bramble.transport.KeyManagerImpl.withManager(KeyManagerImpl.java:268)
at org.briarproject.bramble.transport.KeyManagerImpl.activateKeys(KeyManagerImpl.java:175)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onRemoteActivate(IntroduceeProtocolEngine.java:511)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onActivateMessage(IntroduceeProtocolEngine.java:234)
at org.briarproject.briar.introduction.IntroduceeProtocolEngine.onActivateMessage(IntroduceeProtocolEngine.java:63)
at org.briarproject.briar.introduction.IntroductionManagerImpl.handleMessage(IntroductionManagerImpl.java:253)
at org.briarproject.briar.introduction.IntroductionManagerImpl.incomingMessage(IntroductionManagerImpl.java:211)
at org.briarproject.bramble.api.client.BdfIncomingMessageHook.incomingMessage(BdfIncomingMessageHook.java:63)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.deliverMessage(ValidationManagerImpl.java:333)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$storeMessageContext$6(ValidationManagerImpl.java:290)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.$r8$lambda$kV95asJ25004Lz0CviD-sa65BcQ(Unknown Source:0)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl$$ExternalSyntheticLambda18.run(Unknown Source:19)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:200)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.storeMessageContext(ValidationManagerImpl.java:266)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$storeMessageContextAsync$5(ValidationManagerImpl.java:255)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.$r8$lambda$tOT1oX1UbzoJ5r_HnnaJxOWFjgE(Unknown Source:0)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl$$ExternalSyntheticLambda8.run(Unknown Source:10)
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:764)
```
The user reported that they were introduced to the contact in question, but couldn't send messages to them. They then readded the contact by exchanging links.
Possibly related to #2085?Android 1.4https://code.briarproject.org/briar/briar/-/issues/2425List of RSS feeds doesn't update when feed is removed2023-03-27T11:11:22ZakwizgranList of RSS feeds doesn't update when feed is removedThe list of RSS feeds doesn't update when the feed is removed by unsubscribing via the feed's overflow menu, rather than using the delete button in the list of RSS feeds.
Steps to reproduce:
* Add an RSS feed
* Tap the entry in the list...The list of RSS feeds doesn't update when the feed is removed by unsubscribing via the feed's overflow menu, rather than using the delete button in the list of RSS feeds.
Steps to reproduce:
* Add an RSS feed
* Tap the entry in the list of RSS feeds to open the feed
* Unsubscribe via the overflow menu ("Remove blog")
* Expected: The list of RSS feeds is shown, it's now empty
* Actual: The list of RSS feeds is show, it still contains the removed feed. Tapping the feed again causes a NoSuchGroupException (error toast, no crash)https://code.briarproject.org/briar/briar/-/issues/2424[Feature] Add the ability to visualise the use of storage2023-03-30T08:54:30Zre tiolus[Feature] Add the ability to visualise the use of storageIt would be interesting, especially on the desktop client, to be able to easily consult the storage that Briar uses, especially when you start adding a lot of contacts and entering many groups/forumsIt would be interesting, especially on the desktop client, to be able to easily consult the storage that Briar uses, especially when you start adding a lot of contacts and entering many groups/forumshttps://code.briarproject.org/briar/briar/-/issues/2423Adding contact at a distance - Tapping the 'Add contact' button before the ni...2023-03-16T16:09:15ZIvanaAdding contact at a distance - Tapping the 'Add contact' button before the nickname is typed in, leaves the screen 'in progress'...**Steps to reproduce:**
- tap the 'add contact at a distance' button
- past the contact's link into the appropriate field and tap Continue
- On the screen that follows, user needs to type in the nickname for their contact.
- Once the k...**Steps to reproduce:**
- tap the 'add contact at a distance' button
- past the contact's link into the appropriate field and tap Continue
- On the screen that follows, user needs to type in the nickname for their contact.
- Once the keyboard opens, the button Add contact and the line where the nickname needs to be typed in are quite close on the screen
![Screenshot_20230316_154402](/uploads/c72e004ce6af6af07b20d356e7f64d1f/Screenshot_20230316_154402.png)
- This means that it could happen that the user accidentally taps on the Add contact button before they type in the nickname
- if that happens, then the user sees this
![Screenshot_20230316_154221](/uploads/3d580b498a2a2a337e8fa89d9c3c818d/Screenshot_20230316_154221.png)
- the user is still able to type the nicknam in, but tapping the enter button on the keyboard doesn't do anything other than closing the keyboard.
- once the keyboard is closed, then the user sees this
![Screenshot_20230316_155028](/uploads/cee861c9ecd822405197fcc626fc769f/Screenshot_20230316_155028.png)
The screen keeps showing the small 'inprogress' circle...
it happens inMaster and in the MR 1770 ( build hash 1627f4f )
Tested onHTC Android 7, Nokia Android 10
Workaround is to navigate one screen back and tap on Continue button again...https://code.briarproject.org/briar/briar-desktop/-/issues/511More steps for UI scale2023-03-14T13:56:05ZSebastianMore steps for UI scaleA user requested that we add more UI scale values to select from.
Currently, we have 1..3 with 3 steps, i.e. 1, 1.5, 2, 2.5, 3
I think it could be reasonable to use 1..3 with 7 steps, i.e. 1, 1.25, 1.5, 1.75, ..., 2.75, 3A user requested that we add more UI scale values to select from.
Currently, we have 1..3 with 3 steps, i.e. 1, 1.5, 2, 2.5, 3
I think it could be reasonable to use 1..3 with 7 steps, i.e. 1, 1.25, 1.5, 1.75, ..., 2.75, 3https://code.briarproject.org/briar/briar/-/issues/2422OutOfMemoryError: Could not allocate JNI Env2024-03-18T18:05:12ZakwizgranOutOfMemoryError: Could not allocate JNI Env* Android version: 7.1.2
* Phone model: UHANS A6
* Briar version: 1.4.22 (f02bbeb)
Stacktrace:
```
java.lang.OutOfMemoryError: Could not allocate JNI Env
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Threa...* Android version: 7.1.2
* Phone model: UHANS A6
* Briar version: 1.4.22 (f02bbeb)
Stacktrace:
```
java.lang.OutOfMemoryError: Could not allocate JNI Env
at java.lang.Thread.nativeCreate(Native Method)
at java.lang.Thread.start(Thread.java:730)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:941)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1359)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.executeWakefully(AndroidWakeLockManagerImpl.java:71)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule.lambda$provideWakefulIoExecutor$0(AndroidWakefulIoExecutorModule.java:20)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule.$r8$lambda$tnFm9U65p91JUPzzmM4twddDl7M(AndroidWakefulIoExecutorModule.java)
at org.briarproject.bramble.system.AndroidWakefulIoExecutorModule$$ExternalSyntheticLambda0.execute(R8$$SyntheticClass)
at org.briarproject.bramble.plugin.tor.TorPlugin.connect(TorPlugin.java:638)
at org.briarproject.bramble.plugin.tor.TorPlugin.poll(TorPlugin.java:633)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:231)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.$r8$lambda$P0v7ccI1GqbvGyqUJX4idUffuJI(AndroidWakeLockManagerImpl.java)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl$$ExternalSyntheticLambda1.run(R8$$SyntheticClass)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
```
Last lines of log:
```
03-13 04:15:57.257 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
03-13 04:15:57.394 I/ConnectionRegistryImpl: 5 contacts connected or better: org.briarproject.bramble.tor
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 tj2[scrubbed]
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 nix[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 ela[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 jvx[scrubbed]
03-13 04:15:57.396 I/TorPlugin: Connecting to v3 72z[scrubbed]
03-13 04:15:57.397 I/TorPlugin: Connecting to v3 msd[scrubbed]
03-13 04:15:57.395 I/TorPlugin: Connecting to v3 37p[scrubbed]
03-13 04:15:57.397 I/TorPlugin: Connecting to v3 lp6[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 uqp[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 jqf[scrubbed]
03-13 04:15:57.400 I/TorPlugin: Connecting to v3 ihj[scrubbed]
03-13 04:15:57.401 I/TorPlugin: Connecting to v3 vux[scrubbed]
03-13 04:15:57.401 I/TorPlugin: Connecting to v3 ick[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 e2v[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 beq[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 s74[scrubbed]
03-13 04:15:57.402 I/TorPlugin: Connecting to v3 2qq[scrubbed]
03-13 04:15:57.403 I/TorPlugin: Connecting to v3 fvs[scrubbed]
03-13 04:15:57.403 I/TorPlugin: Connecting to v3 hbd[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 cvj[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 btz[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 e6y[scrubbed]
03-13 04:15:57.404 I/TorPlugin: Connecting to v3 d5z[scrubbed]
03-13 04:15:57.408 I/TorPlugin: Could not connect to v3 fvs[scrubbed]: java.net.ConnectException: Too many open files
03-13 04:15:57.408 I/DuplexOutgoingSession: Sending keepalive
03-13 04:15:57.416 I/TorPlugin: Could not connect to v3 jqf[scrubbed]: java.net.SocketException: Too many open files
03-13 04:15:57.416 I/TorPlugin: Could not connect to v3 ick[scrubbed]: java.net.ConnectException: Too many open files
03-13 04:15:57.418 I/TorPlugin: Connecting to v3 z7i[scrubbed]
03-13 04:15:57.420 I/TorPlugin: Connecting to v3 o2j[scrubbed]
03-13 04:15:57.420 I/TorPlugin: Could not connect to v3 o2j[scrubbed]: java.net.SocketException: Too many open files
```
* NativeHeapAllocated: 16,363,552
* NativeHeapFree: 4,607,968
* NativeHeapTotal: 20,971,520
* SystemMemoryFree: 228,368,384
* SystemMemoryLow: false
* SystemMemoryThreshold: 150,994,944
* SystemMemoryTotal: 994,488,320
* VirtualMachineMemoryFree: 323,760
* VirtualMachineMemoryMaximum: 201,326,592
* VirtualMachineMemoryTotal: 44,992,648https://code.briarproject.org/briar/briar-desktop/-/issues/502No output on console on Windows2023-03-08T13:57:27ZSebastianNo output on console on WindowsA user just reported no output on powershell when running `.\Briar.exe` and `.\Briar.exe -d` on the powershell (Windows 11).
I was able to reproduce this on Windows 10 with both powershell and `cmd`. On powershell the syntax is `.\Briar...A user just reported no output on powershell when running `.\Briar.exe` and `.\Briar.exe -d` on the powershell (Windows 11).
I was able to reproduce this on Windows 10 with both powershell and `cmd`. On powershell the syntax is `.\Briar.exe` or `.\Briar.exe -d` while on `cmd` it is `Briar` or `.\Briar-d`.
It looks like the shell forks the app into the background. The command line is available for new command input right away. No output on the console whatsoever. Also `Briar --help` doesn't output anything.
On Git Bash on the other hand, running `./Briar` or `./Briar -d` works as expected and shows the log.https://code.briarproject.org/briar/briar/-/issues/2421Link to original post is lost when RSS post is very long2023-03-06T16:08:14ZakwizgranLink to original post is lost when RSS post is very longWhen an RSS post is long enough that it needs to be truncated to fit into a Briar blog post, the link to the original post is lost.
This can currently be seen with the feed https://dynomight.net/feed.xml, where the post https://dynomigh...When an RSS post is long enough that it needs to be truncated to fit into a Briar blog post, the link to the original post is lost.
This can currently be seen with the feed https://dynomight.net/feed.xml, where the post https://dynomight.net/scaling/ gets truncated.https://code.briarproject.org/briar/briar/-/issues/2418"Signing out" progress screen is no longer shown when relaunching quickly aft...2023-08-08T01:50:09Zakwizgran"Signing out" progress screen is no longer shown when relaunching quickly after signing outWhen the app was relaunched quickly after signing out, we used to show a progress screen with a "signing out" message to make it clear that the user's previous action was still being processed. But now when I relaunch the app after signi...When the app was relaunched quickly after signing out, we used to show a progress screen with a "signing out" message to make it clear that the user's previous action was still being processed. But now when I relaunch the app after signing out, the UI immediately closes again without letting me see the progress screen. This can happen several times before shutdown completes, so it's not just a race between relaunching the app and shutdown completing.
Tested on Android 13 (CalyxOS 4.6.1).https://code.briarproject.org/briar/briar-desktop/-/issues/500Build of project including briar fails on JDK 172023-02-27T10:52:13ZSebastianBuild of project including briar fails on JDK 17When running not just `./gradlew briar-desktop:test` but `./gradlew test` with JDK 17, then Gradle also runs the briar tests, which currently fails with `PollerImplTest` (and also a few others):
```
Unable to make protected java.securit...When running not just `./gradlew briar-desktop:test` but `./gradlew test` with JDK 17, then Gradle also runs the briar tests, which currently fails with `PollerImplTest` (and also a few others):
```
Unable to make protected java.security.SecureRandom(java.security.SecureRandomSpi,java.security.Provider) accessible: module java.base does not "opens java.security" to unnamed module @498d318c
java.lang.reflect.InaccessibleObjectException: Unable to make protected java.security.SecureRandom(java.security.SecureRandomSpi,java.security.Provider) accessible: module java.base does not "opens java.security" to unnamed module @498d318c
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Constructor.java:188)
at java.base/java.lang.reflect.Constructor.setAccessible(Constructor.java:181)
at org.jmock.imposters.ByteBuddyClassImposteriser.setConstructorsAccessible(ByteBuddyClassImposteriser.java:86)
at org.jmock.imposters.ByteBuddyClassImposteriser.imposterise(ByteBuddyClassImposteriser.java:65)
at org.jmock.Mockery.mock(Mockery.java:167)
at org.jmock.Mockery.mock(Mockery.java:143)
at org.briarproject.bramble.plugin.PollerImplTest.<init>(PollerImplTest.java:71)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:250)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:260)
at org.junit.runners.BlockJUnit4ClassRunner$2.runReflectiveCall(BlockJUnit4ClassRunner.java:309)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at jdk.proxy1/jdk.proxy1.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
```
I had a hunch that this was the reason we had the various `--add-opens` flags in `gradle.properties` which I removed in 3451ae6554970dd6dece962a4 because I did not see any reason to keep them. Adding them back however does not seem to solve this. Adding `--add-opens=java.base/java.security=ALL-UNNAMED` which seems to be what the error suggests could help, also does not.https://code.briarproject.org/briar/briar-desktop/-/issues/499Private groups: Reveal contact logic2023-06-26T13:31:12ZMikolai GütschowPrivate groups: Reveal contact logicWe decided to down-prioritize this functionality for the initial private group release, but we probably still have to think about what needs to be handled in case a contact on an Android phone reveals a group with a Desktop account.
par...We decided to down-prioritize this functionality for the initial private group release, but we probably still have to think about what needs to be handled in case a contact on an Android phone reveals a group with a Desktop account.
part of #12https://code.briarproject.org/briar/briar/-/issues/2417Add ability to mark private message / groups / forums as read2023-11-06T19:49:17Zre tiolusAdd ability to mark private message / groups / forums as readEx: When joining a forum with over 1000 posts, it is horrible to have to manually scroll to the last post. It would be necessary to add an option to mark conversations as read.Ex: When joining a forum with over 1000 posts, it is horrible to have to manually scroll to the last post. It would be necessary to add an option to mark conversations as read.