briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-03-12T17:00:30Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/506Unsubscribing from forum with unread posts keeps the unread count in the mess...2023-03-12T17:00:30ZSebastianUnsubscribing from forum with unread posts keeps the unread count in the message counterThis can be observed when leaving the last forum that has unread message; the unread badge on the forum button stays there.This can be observed when leaving the last forum that has unread message; the unread badge on the forum button stays there.Desktop 0.4.2SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/505AddContact dialog: Bug in TextField2023-03-10T11:41:01ZMikolai GütschowAddContact dialog: Bug in TextFieldAfter entering the first character into the nickname field, the cursor gets reset to position 0 (the start of the string). Later keystrokes are processed correctly.
Only observed in this text field, not in the AddForum dialog, neither i...After entering the first character into the nickname field, the cursor gets reset to position 0 (the start of the string). Later keystrokes are processed correctly.
Only observed in this text field, not in the AddForum dialog, neither in the message compose field nor in the introduction/forum invitation message field.Desktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/504Tor not working on current main2023-03-10T08:50:20ZSebastianTor not working on current mainI'm getting this kind of error in the log on current main:
```
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - System's os.arch is amd64
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - T...I'm getting this kind of error in the log on current main:
```
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - System's os.arch is amd64
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - The selected architecture for Tor is x86_64
15:41:43.932 [pool-1-thread-4] INFO o.b.bramble.plugin.tor.TorPlugin - Installing Tor binary for x86_64
15:41:43.933 [pool-1-thread-4] WARN org.briarproject.briar.desktop.Main - Uncaught exception in thread pool-1-thread-4
java.lang.NullPointerException: null
at org.briarproject.nullsafety.NullSafety.requireNonNull(NullSafety.java:17)
at org.briarproject.bramble.system.JavaResourceProvider.getResourceInputStream(JavaResourceProvider.java:22)
at org.briarproject.bramble.plugin.tor.TorPlugin.getExecutableInputStream(TorPlugin.java:374)
at org.briarproject.bramble.plugin.tor.TorPlugin.installTorExecutable(TorPlugin.java:351)
at org.briarproject.bramble.plugin.tor.TorPlugin.installAssets(TorPlugin.java:335)
at org.briarproject.bramble.plugin.tor.TorPlugin.start(TorPlugin.java:247)
at org.briarproject.bramble.plugin.PluginManagerImpl$PluginStarter.run(PluginManagerImpl.java:232)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
```
I think it's probably due to the changes in https://code.briarproject.org/briar/briar/-/merge_requests/1775Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/503Release 0.4.1-beta2023-03-12T16:52:48ZSebastianRelease 0.4.1-betasee #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] Update translations (https://code.briarproject.org/briar/briar-desktop/-/merge_req...see #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] Update translations (https://code.briarproject.org/briar/briar-desktop/-/merge_requests/318)
- run `tx pull -a -f`, add new languages to `UnencryptedSettings.kt` (see [java locale list](https://www.oracle.com/java/technologies/javase/jdk17-suported-locales.html)), create commit
- temporarily remove `minimum_perc = 50` from `.tx/config`
- run `tx pull -a -f && rm briar-desktop/src/main/resources/strings/* && git restore briar-desktop/src/main/resources/strings/*`
- re-add `minimum_perc = 50` to `.tx/config`, append changes to last commit
* [x] Extensive testing
* [x] Update [changelog](https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog)
### Version bump
* [x] Change version in build config and metainfo.xml (https://code.briarproject.org/briar/briar-desktop/-/merge_requests/320)
* [x] Tag in Git (use `git tag -a -s <version-name>-beta -m "Briar Desktop <version-name>-beta"`) (https://code.briarproject.org/briar/briar-desktop/-/tags/0.4.1-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/13913)
### Deployment
* [x] Copy release files to desktop.briarproject.org (using [`update-binaries.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/root/update-binaries.sh) with updated version code)
* [x] Rewrite and check that permalink points to correct version (don't forget to test and reload web server)
* [x] Update version and checksums (calculated using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (website!107)
* [x] Publish website
### PR
_skipped due to critical bug detected with #507_
* [ ] ~~Inform 3rd party maintainers about release~~
* [ ] ~~Publish blog post~~
* [ ] ~~Post on social media ([Mastodon](), [Twitter](TWITTER)), useful [character counter](https://charactercounter.com/twitter)~~
* [x] ~~Update screenshot on website~~
### Backlog
* [x] Update description, milestone and due date of #337
* [x] ~~Re-enable auto-pull on Transifex under Resources > Auto update resources > add [url](https://code.briarproject.org/briar/briar-desktop/-/raw/main/briar-desktop/src/main/resources/strings/BriarDesktop.properties)~~Desktop 0.4.1https://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-desktop/-/issues/501Private groups: Handle incoming messages2023-05-06T10:38:40ZMikolai GütschowPrivate groups: Handle incoming messagesin `eventOccured`
part of #12in `eventOccured`
part of #12Desktop 0.5.0https://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-desktop/-/issues/498Private groups: special handling for join messages2023-04-15T18:26:14ZMikolai GütschowPrivate groups: special handling for join messages- show italicized text describing join action instead of empty message
- don't allow selecting/replying to join message
part of #12- show italicized text describing join action instead of empty message
- don't allow selecting/replying to join message
part of #12Desktop 0.5.0https://code.briarproject.org/briar/briar-desktop/-/issues/497Private groups: Leave group vs. Dissolve group logic2023-05-09T13:36:15ZMikolai GütschowPrivate groups: Leave group vs. Dissolve group logicCreator "leaving" the group means dissolving the group
Part of #12Creator "leaving" the group means dissolving the group
Part of #12Desktop 0.5.0https://code.briarproject.org/briar/briar-desktop/-/issues/496Private groups: Invite members logic2023-05-12T21:09:46ZMikolai GütschowPrivate groups: Invite members logiconly possible for group creator
part of #12only possible for group creator
part of #12Desktop 0.5.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/495Private groups: Member list2023-04-15T18:17:53ZMikolai GütschowPrivate groups: Member listPart of #12Part of #12Desktop 0.5.0https://code.briarproject.org/briar/briar-desktop/-/issues/494Private groups: Show creator in group list2023-05-12T12:49:17ZMikolai GütschowPrivate groups: Show creator in group listOn Android, the group list shows information about the creator of the group.
Part of #12On Android, the group list shows information about the creator of the group.
Part of #12Desktop 0.5.0Mikolai GütschowMikolai Gütschowhttps://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/2798