briar issueshttps://code.briarproject.org/groups/briar/-/issues2024-03-18T18:05:12Zhttps://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/510sha256 of briar-desktop-debian-bullseye-0.4.1-beta.deb on website does not match2023-03-13T09:09:30Zmicressorsha256 of briar-desktop-debian-bullseye-0.4.1-beta.deb on website does not matchThe sha256 of sum of **briar-desktop-debian-bullseye-0.4.1-beta.deb** does not seem to be correct anymore.
https://briarproject.org/download-briar-desktop/
Last week this was still ok.The sha256 of sum of **briar-desktop-debian-bullseye-0.4.1-beta.deb** does not seem to be correct anymore.
https://briarproject.org/download-briar-desktop/
Last week this was still ok.https://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/2420SecurityException when requesting Bluetooth discoverability2024-03-19T11:28:53ZakwizgranSecurityException when requesting Bluetooth discoverability* Android version: 12
* Phone model: Nubia NX679J (NX679J-UN)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Attempting to add contact."
Stacktrace:
```
java.lang.SecurityException: Permission Denial: starting Intent { act=android....* Android version: 12
* Phone model: Nubia NX679J (NX679J-UN)
* Briar version: 1.4.22 (f02bbeb)
* User feedback: "Attempting to add contact."
Stacktrace:
```
java.lang.SecurityException: Permission Denial: starting Intent { act=android.bluetooth.adapter.action.REQUEST_DISCOVERABLE cmp=com.android.settings/.bluetooth.RequestPermissionActivity (has extras) } from ProcessRecord{708319 15100:org.b
riarproject.briar.android/u0a226} (pid=15100, uid=10226) requires android.permission.BLUETOOTH
at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
at android.os.Parcel.createException(Parcel.java:2410)
at android.os.Parcel.readException(Parcel.java:2393)
at android.os.Parcel.readException(Parcel.java:2335)
at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2559)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:2071)
at android.app.Activity.startActivityForResult(Activity.java:5574)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:574)
at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
at androidx.activity.ComponentActivity$2.onLaunch(ComponentActivity.java:208)
at androidx.activity.result.ActivityResultRegistry$2.launch(ActivityResultRegistry.java:166)
at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.requestBluetoothDiscoverable(AddNearbyContactActivity.java:125)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.lambda$onCreate$0(AddNearbyContactActivity.java:78)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity.$r8$lambda$AaDmrglLROf2UvjD046fjtdaWVs(Unknown Source:0)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactActivity$$ExternalSyntheticLambda2.onEvent(Unknown Source:4)
at org.briarproject.briar.android.viewmodel.LiveEvent$LiveEventObserver.onChanged(LiveEvent.java:84)
at org.briarproject.briar.android.viewmodel.LiveEvent$LiveEventObserver.onChanged(LiveEvent.java:70)
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 org.briarproject.briar.android.viewmodel.MutableLiveEvent.setEvent(MutableLiveEvent.java:29)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactViewModel.showQrCodeFragmentIfAllowed(AddNearbyContactViewModel.java:410)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment.lambda$new$0(AddNearbyContactIntroFragment.java:38)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment.$r8$lambda$O-WIAJRYMQrkvddeOqSFkFHjtQ0(Unknown Source:0)
at org.briarproject.briar.android.contact.add.nearby.AddNearbyContactIntroFragment$$ExternalSyntheticLambda1.onActivityResult(Unknown Source:4)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:367)
at androidx.activity.ComponentActivity$2$1.run(ComponentActivity.java:159)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:242)
at android.os.Looper.loop(Looper.java:374)
at android.app.ActivityThread.main(ActivityThread.java:9333)
at java.lang.reflect.Method.invoke(Native Method)
```
Last line of log:
```
03-03 00:28:17.358 I/AddNearbyContactActivity: Asking for Bluetooth discoverability
```
Looks like another manufacturer that didn't completely remove the old Bluetooth permission checks when migrating to the new Android 12 permissions.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2419Adding Slovak to language menu2023-03-15T12:28:47ZJozef GaalAdding Slovak to language menuI have completed the translation for the Slovak language.
Can you please add Slovak to the language menu for Android app?I have completed the translation for the Slovak language.
Can you please add Slovak to the language menu for Android app?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-mailbox/-/issues/191Dependency verification is brittle2023-03-13T14:20:53ZSebastianDependency verification is brittleFollow-up on #23
There's an upstream Gradle issue (https://github.com/gradle/gradle/issues/19228) that prevents us from just deleting the dependency verification metadata and recreating it using our script `update-dependency-verificatio...Follow-up on #23
There's an upstream Gradle issue (https://github.com/gradle/gradle/issues/19228) that prevents us from just deleting the dependency verification metadata and recreating it using our script `update-dependency-verification.sh`.
A possible workaround is to set `GRADLE_USER_HOME` to a temporary directory while executing the commands in the script.SebastianSebastianhttps://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.https://code.briarproject.org/briar/briar-desktop/-/issues/493UI scale slider does not update underlying setting when changing using keyboard2023-02-25T10:28:31ZSebastianUI scale slider does not update underlying setting when changing using keyboardI can navigate to the UI scale slider using tab and change the slider position, however it does not cause an update to our settings.
It looks like the slider reports onValueChange events but no onValueChangeFinished event.
I think this...I can navigate to the UI scale slider using tab and change the slider position, however it does not cause an update to our settings.
It looks like the slider reports onValueChange events but no onValueChangeFinished event.
I think this should be solved on the Compose side and filed an issue there: https://github.com/JetBrains/compose-jb/issues/2798https://code.briarproject.org/briar/briar/-/issues/2416F-Droid shows a warning about Briar2023-02-23T14:10:00ZMarek KütheF-Droid shows a warning about BriarHello,
F-Droid tells me that Briar contains a security vulnerability and that I should uninstall Briar. Is this a false positive? If no, is it possible to remove this security hole?
![warn1](/uploads/3d76dde9c8050a84858e3193b4eb42fa/wa...Hello,
F-Droid tells me that Briar contains a security vulnerability and that I should uninstall Briar. Is this a false positive? If no, is it possible to remove this security hole?
![warn1](/uploads/3d76dde9c8050a84858e3193b4eb42fa/warn1.png)
![warn2](/uploads/5bf79a4aaef41049a0cc30e2cd168a67/warn2.png)https://code.briarproject.org/briar/briar-desktop/-/issues/492Private messages scroll to top when switching conversations2023-03-12T20:14:24ZSebastianPrivate messages scroll to top when switching conversationsA user gave this feedback for version 0.4.0 on Windows.A user gave this feedback for version 0.4.0 on Windows.https://code.briarproject.org/briar/briar-desktop/-/issues/491Settings screen should be scrollable2023-02-22T11:30:59ZSebastianSettings screen should be scrollableI noticed while testing !226 with a maximum UI scale factor and without the minimum size of the window being reset, that the settings screen gets cramped towards the lower end. Making it scrollable is probably a good idea anyway.I noticed while testing !226 with a maximum UI scale factor and without the minimum size of the window being reset, that the settings screen gets cramped towards the lower end. Making it scrollable is probably a good idea anyway.https://code.briarproject.org/briar/briar-mailbox/-/issues/190Pairing issue: Jackson 2.14.x can't serialize on Android < 8 (SDK 26)2023-08-28T16:00:11ZTorsten GrotePairing issue: Jackson 2.14.x can't serialize on Android < 8 (SDK 26)ktor-serialization-jackson 2.2.3 depends on jackson-databind 2.14.1. but jackson 2.14 has dropped support for android < 26
upstream ticket: https://youtrack.jetbrains.com/issue/KTOR-5579/Jackson-serialization-is-broken-on-older-Android-...ktor-serialization-jackson 2.2.3 depends on jackson-databind 2.14.1. but jackson 2.14 has dropped support for android < 26
upstream ticket: https://youtrack.jetbrains.com/issue/KTOR-5579/Jackson-serialization-is-broken-on-older-Android-devices
downgrading ktor to 2.1.3 would give us a temporary workaround, if needed
https://github.com/ktorio/ktor/blob/2.1.3/gradle/libs.versions.toml
forcing a jackson version without downgrading ktor may also work.
other serialization options: https://ktor.io/docs/serialization.html#register_jsonMailbox: Releasehttps://code.briarproject.org/briar/briar/-/issues/2415NPE in TimeoutInputStream2023-02-21T13:44:15ZakwizgranNPE in TimeoutInputStream* Android version: 10
* Briar version: 1.4.20 (6b20b03)
* Phone model: SPRD ums512_1h10_Natv
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null obj...* Android version: 10
* Briar version: 1.4.20 (6b20b03)
* Phone model: SPRD ums512_1h10_Natv
Stacktrace:
```
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
at org.briarproject.bramble.io.TimeoutInputStream.read(TimeoutInputStream.java:52)
at org.briarproject.bramble.util.IoUtils.read(IoUtils.java:95)
at org.briarproject.bramble.connection.Connection.readTag(Connection.java:59)
at org.briarproject.bramble.connection.Connection.recogniseTag(Connection.java:49)
at org.briarproject.bramble.connection.IncomingDuplexSyncConnection.run(IncomingDuplexSyncConnection.java:44)
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:919)
```
Edited log:
```
02-16 17:40:19.815 I/BaseActivity: Pausing ConversationActivity
02-16 17:40:19.842 I/BaseActivity: Creating ConnectViaBluetoothActivity
02-16 17:40:19.870 I/BaseActivity: Starting ConnectViaBluetoothActivity
02-16 17:40:19.872 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:20.349 I/BaseActivity: Stopping ConversationActivity
02-16 17:40:22.536 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:22.679 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:22.690 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:22.781 I/AndroidBluetoothPlugin: Scan mode: Discoverable
02-16 17:40:22.822 I/BluetoothConnectionLimiterImpl: Limiting started
02-16 17:40:22.833 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:22.873 I/AndroidBluetoothPlugin: Discovery started
02-16 17:40:25.153 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:25.310 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:31.235 I/PollerImpl: Polling plugin org.briarproject.bramble.bluetooth
02-16 17:40:31.239 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.bluetooth
02-16 17:40:31.239 I/BluetoothConnectionLimiterImpl: Can't open contact connection while limiting
02-16 17:40:32.850 I/AndroidBluetoothPlugin: Cancelling discovery
02-16 17:40:32.853 I/AndroidBluetoothPlugin: Could not connect to any devices
02-16 17:40:37.857 W/ConnectViaBluetoothViewModel: Failed to connect
02-16 17:40:37.858 I/BluetoothConnectionLimiterImpl: Limiting ended
02-16 17:40:37.894 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:37.935 I/BaseActivity: Starting ConversationActivity
02-16 17:40:37.938 I/BaseActivity: Resuming ConversationActivity
02-16 17:40:38.418 I/BaseActivity: Stopping ConnectViaBluetoothActivity
02-16 17:40:38.422 I/BaseActivity: Destroying ConnectViaBluetoothActivity
02-16 17:40:43.489 I/BaseActivity: Pausing ConversationActivity
02-16 17:40:43.516 I/BaseActivity: Creating ConnectViaBluetoothActivity
02-16 17:40:43.536 I/BaseActivity: Starting ConnectViaBluetoothActivity
02-16 17:40:43.538 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:44.003 I/BaseActivity: Stopping ConversationActivity
02-16 17:40:44.794 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:44.824 I/AndroidBluetoothPlugin: Scan mode: Discoverable
02-16 17:40:44.828 I/BluetoothConnectionLimiterImpl: Limiting started
02-16 17:40:44.836 I/BaseActivity: Resuming ConnectViaBluetoothActivity
02-16 17:40:44.879 I/AndroidBluetoothPlugin: Discovery started
02-16 17:40:47.692 I/AndroidBluetoothPlugin: Discovered AC:[scrubbed]:72
02-16 17:40:50.144 I/AndroidBluetoothPlugin: Discovered 30:[scrubbed]:50
02-16 17:40:51.531 I/AndroidBluetoothPlugin: Discovered AC:[scrubbed]:72
02-16 17:40:52.154 I/AndroidBluetoothPlugin: Discovered AC:[scrubbed]:72
02-16 17:40:52.890 I/AndroidBluetoothPlugin: Discovered CC:[scrubbed]:85
02-16 17:40:53.437 I/AndroidBluetoothPlugin: Discovered CC:[scrubbed]:85
02-16 17:40:54.092 I/AndroidBluetoothPlugin: Discovered AC:[scrubbed]:72
02-16 17:40:54.844 I/AndroidBluetoothPlugin: Cancelling discovery
02-16 17:40:54.848 I/AndroidBluetoothPlugin: Connecting to 30:[scrubbed]:50
02-16 17:40:54.850 I/BluetoothConnectionLimiterImpl: Connection opened, 1 open
02-16 17:40:54.850 I/ConnectViaBluetoothViewModel: Could connect, handling connection
02-16 17:40:54.850 I/BluetoothConnectionLimiterImpl: Limiting ended
02-16 17:40:54.867 I/DuplexOutgoingSession: Generated ack: false
02-16 17:40:54.878 I/DuplexOutgoingSession: Generated batch: false
02-16 17:40:54.880 I/DuplexOutgoingSession: Generated offer: false
02-16 17:40:54.881 I/DuplexOutgoingSession: Generated request: false
02-16 17:40:54.882 I/BaseActivity: Pausing ConnectViaBluetoothActivity
02-16 17:40:54.925 I/BaseActivity: Starting ConversationActivity
02-16 17:40:54.929 I/BaseActivity: Resuming ConversationActivity
02-16 17:40:55.410 I/BaseActivity: Stopping ConnectViaBluetoothActivity
02-16 17:40:55.413 I/BaseActivity: Destroying ConnectViaBluetoothActivity
02-16 17:41:01.986 I/AbstractBluetoothPlugin: Connection received
02-16 17:41:01.986 I/BluetoothConnectionLimiterImpl: Connection opened, 2 open
```
As far as I can tell, this device is the head unit in a car.
The log shows an outgoing Bluetooth connection being made, then an incoming connection being received. Perhaps the Bluetooth stack doesn't support multiple connections (or doesn't support incoming and outgoing connections with the same device). In any case, BluetoothSocket#getInputStream() returns null for the second connection. We should check this (and also for the output stream) and throw an IOException rather than crashing.Android 1.4akwizgranakwizgranhttps://code.briarproject.org/briar/briar-desktop/-/issues/490Increase maximum size for images on hidpi devices2023-02-18T14:12:30ZSebastianIncrease maximum size for images on hidpi deviceshttps://code.briarproject.org/briar/briar-desktop/-/issues/489Improve UI previews on high density devices2023-02-18T11:40:23ZSebastianImprove UI previews on high density devicesThe following discussion from !226 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/226#note_68296): (+3 comments)
> I'm also using the setting here to sc...The following discussion from !226 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/226#note_68296): (+3 comments)
> I'm also using the setting here to scale up the preview screens, otherwise they're also very tiny on the testing device.https://code.briarproject.org/briar/briar-desktop/-/issues/488Consider adding "X-GNOME-UsesNotifications=true" to desktop file2023-02-17T18:01:49ZSebastianConsider adding "X-GNOME-UsesNotifications=true" to desktop fileSee https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$Xm7xnquFI5NTtTJzMCVk6chyqwoRTFcoqTah9wdXG1U?via=matrix.org&via=gnome.org&via=kde.org
and search the web for "X-GNOME-UsesNotifications=true".See https://matrix.to/#/!RfXaBjokqHAbzZrgHz:matrix.org/$Xm7xnquFI5NTtTJzMCVk6chyqwoRTFcoqTah9wdXG1U?via=matrix.org&via=gnome.org&via=kde.org
and search the web for "X-GNOME-UsesNotifications=true".