briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-05-27T12:03:12Zhttps://code.briarproject.org/briar/briar-mailbox/-/issues/125Allow contacts to call status endpoint2022-05-27T12:03:12ZakwizgranAllow contacts to call status endpointTo reduce the cost of connectivity checks, let's make the status endpoint available to contacts and not return any data from it now or in the future.
If we want the owner to be able to access more information about the mailbox's status ...To reduce the cost of connectivity checks, let's make the status endpoint available to contacts and not return any data from it now or in the future.
If we want the owner to be able to access more information about the mailbox's status (eg amount of data waiting to be downloaded) then let's create a new endpoint when the time comes.Mailbox: Manage mailbox connectionsakwizgranakwizgranhttps://code.briarproject.org/briar/briar-mailbox/-/issues/124Handle Huawei and Xiaomi auto-start restrictions2023-08-28T16:01:38ZTorsten GroteHandle Huawei and Xiaomi auto-start restrictionsHuawei has a `StartupManager` where the user needs to allow the app to start: https://stackoverflow.com/a/43914328/4856311
For Xiaomi MIUI there's even a library to check autostart permissions: https://github.com/XomaDev/MIUI-autostart ...Huawei has a `StartupManager` where the user needs to allow the app to start: https://stackoverflow.com/a/43914328/4856311
For Xiaomi MIUI there's even a library to check autostart permissions: https://github.com/XomaDev/MIUI-autostart It seems to use pre-built jars though
If the library isn't helpful, maybe we can bring the user as close to the right screen as possible.
The other vendors preventing auto-start have way smaller market share, maybe not worth dealing with those as well?https://code.briarproject.org/briar/briar-desktop/-/issues/361Fail to start - java 17.0.3 on Fedora 362022-05-25T14:38:36ZAmgine n/aFail to start - java 17.0.3 on Fedora 36Expected behavior: Initial run of Briar-desktop.
Actual behavior:
```bash
$ java --version
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment 21.9 (build 17.0.3+7)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.3+7, mixed...Expected behavior: Initial run of Briar-desktop.
Actual behavior:
```bash
$ java --version
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment 21.9 (build 17.0.3+7)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.3+7, mixed mode, sharing)
$ java -jar ~/bin/briar-desktop/briar-desktop-linux-0.2.1-beta.jar
13:59:41.662 [main] INFO org.briarproject.briar.desktop.Main - This is briar-desktop version 0.2.1-beta
13:59:41.664 [main] INFO org.briarproject.briar.desktop.Main - Build info:
13:59:41.665 [main] INFO org.briarproject.briar.desktop.Main - Git hash 77a3a75226691dc7b9ec3b13c1eec966b0a79c49
13:59:41.666 [main] INFO org.briarproject.briar.desktop.Main - Commit time 2022-05-11 05:19:52
13:59:41.666 [main] INFO org.briarproject.briar.desktop.Main - Tag 0.2.1-beta
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-17-openjdk-17.0.3.0.7-1.fc36.x86_64/lib/libawt_xawt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393)
at java.base/java.lang.Runtime.load0(Runtime.java:755)
at java.base/java.lang.System.load(System.java:1953)
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:285)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2398)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818)
at java.base/java.lang.System.loadLibrary(System.java:1989)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1392)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1390)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1389)
at java.desktop/java.awt.Toolkit.initStatic(Toolkit.java:1427)
at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1401)
at java.desktop/java.awt.EventQueue.invokeLater(EventQueue.java:1314)
at java.desktop/javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1421)
at kotlinx.coroutines.swing.SwingDispatcher.dispatch(SwingDispatcher.kt:28)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:322)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:170)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at androidx.compose.ui.window.Application_desktopKt.awaitApplication(Application.desktop.kt:199)
at androidx.compose.ui.window.Application_desktopKt$application$1.invokeSuspend(Application.desktop.kt:115)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
at androidx.compose.ui.window.Application_desktopKt.application(Application.desktop.kt:114)
at androidx.compose.ui.window.Application_desktopKt.application$default(Application.desktop.kt:105)
at org.briarproject.briar.desktop.Main.run(Main.kt:122)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:198)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:18)
at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:395)
at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:392)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:410)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:435)
at org.briarproject.briar.desktop.MainKt.main(Main.kt:146)
```
Context:
* Operating system: Fedora 36
* Hardware: 2013 Macbook Air (with, likely, some issues regarding Broadcom camera, wifi)
* Note: Networking using lightning ethernet
> ens9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> …https://code.briarproject.org/briar/briar/-/issues/2320FormatException when loading mailbox API version metadata2022-06-01T11:39:08ZakwizgranFormatException when loading mailbox API version metadataMailboxIvanaIvanahttps://code.briarproject.org/briar/briar-desktop/-/issues/360App fails to shut down when jar has been overwritten2023-08-25T13:33:35ZakwizgranApp fails to shut down when jar has been overwrittenSteps to reproduce:
* Build briar-desktop jars using different commits for the `briar` submodule (I used `release-1.4.7` (https://code.briarproject.org/briar/briar/-/commit/7536f16c6136ebd5700a0f0ad49441050cf60096) and `poll-own-hidden-s...Steps to reproduce:
* Build briar-desktop jars using different commits for the `briar` submodule (I used `release-1.4.7` (https://code.briarproject.org/briar/briar/-/commit/7536f16c6136ebd5700a0f0ad49441050cf60096) and `poll-own-hidden-service` (https://code.briarproject.org/briar/briar/-/commit/aeac73175910585abc490d06f55a725c6eef6fb8))
* Start briar-desktop using the first jar
* Sign in
* Overwrite the first jar with the second jar
* Close the briar-desktop window
Expected behaviour:
* The window closes and the process exits
* It's possible to relaunch briar-desktop and sign in
Actual behaviour:
* The window doesn't close on the first attempt
* On the second attempt, the window closes but the process remains running
* It's possible to relaunch briar-desktop, but attempting to sign in shows the "Sorry, Briar was unable to open the database" error screen (due to the database still being locked by the original process)
* After killing the original process manually it's possible to relaunch briar-desktop and sign in
On the first attempt to close the window results in various NoClassDefFoundErrors when the JVM fails to load classes that are used during shutdown. I guess the exact exceptions may depend on which branches are used to reproduce the bug, but I got an exception for `PluginManagerImpl$PluginStopper`, for example. These exceptions seem to prevent `LifecycleManager#stopServices()` from shutting down the core.
```
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/briarproject/bramble/plugin/PluginManagerImpl$PluginStopper
at org.briarproject.bramble.plugin.PluginManagerImpl.stopService(PluginManagerImpl.java:157)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl.stopServices(LifecycleManagerImpl.java:198)
at org.briarproject.briar.desktop.ui.BriarUiImpl.stop(BriarUi.kt:109)
at org.briarproject.briar.desktop.Main$run$8$1.invoke(Main.kt:124)
at org.briarproject.briar.desktop.Main$run$8$1.invoke(Main.kt:123)
at androidx.compose.ui.window.Window_desktopKt$Window$3$1$1.windowClosing(Window.desktop.kt:166)
at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
at java.desktop/java.awt.Window.processWindowEvent(Window.java:2078)
at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
at java.desktop/java.awt.Window.processEvent(Window.java:2037)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
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(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
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)
Caused by: java.lang.ClassNotFoundException: org.briarproject.bramble.plugin.PluginManagerImpl$PluginStopper
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 31 more
```
Incidentally, the stacktrace seems to show that `BriarUiImpl#stop()` is calling `LifecycleManager#stopServices()` on the UI thread, which it probably shouldn't.
The second attempt to close the window results in another NoClassDefFoundError that apparently kills the UI and thus closes the window, but still without killing the core.
```
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: kotlinx/coroutines/CoroutinesInternalError
at kotlinx.coroutines.DispatchedTask.handleFatalException(DispatchedTask.kt:144)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:115)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
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(Native Method)
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)
Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.CoroutinesInternalError
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 15 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: kotlinx/coroutines/CoroutinesInternalError
at kotlinx.coroutines.DispatchedTask.handleFatalException(DispatchedTask.kt:144)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:115)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
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(Native Method)
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)
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: kotlinx/coroutines/CoroutinesInternalError
at kotlinx.coroutines.DispatchedTask.handleFatalException(DispatchedTask.kt:144)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:115)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
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(Native Method)
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)
```Desktop 0.7.0https://code.briarproject.org/briar/briar-mailbox/-/issues/123Display different notification icons in error state (network problem)2022-08-01T13:43:11ZSebastianDisplay different notification icons in error state (network problem)The following discussion from !80 should be addressed:
- [ ] @grote started a [discussion](https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/80#note_66615): (+1 comment)
> Even a different icon might make sense. "...The following discussion from !80 should be addressed:
- [ ] @grote started a [discussion](https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/80#note_66615): (+1 comment)
> Even a different icon might make sense. "Device is offline" like in the status screen?https://code.briarproject.org/briar/briar-desktop/-/issues/359Auto-generate screenshots with reasonable text2022-10-25T10:30:06ZMikolai GütschowAuto-generate screenshots with reasonable textSomething comparable to the screenshot currently shown on https://briarproject.org/download-briar-desktop/ or the [Android screenshots on Google Play](https://play.google.com/store/apps/details?id=org.briarproject.briar.android).
For th...Something comparable to the screenshot currently shown on https://briarproject.org/download-briar-desktop/ or the [Android screenshots on Google Play](https://play.google.com/store/apps/details?id=org.briarproject.briar.android).
For this we need (in a separate build configuration):
- some nice conversations, also including special "messages" like introduction requests (can be added to our deterministic test data)
- ability to fake some contact connection statuses in code (show contacts as connected for screenshot)
- usage of compose built-in snapshot feature (see https://dev.to/pchmielowski/automate-taking-screenshots-of-android-app-with-jetpack-compose-2950 as reference)https://code.briarproject.org/briar/briar/-/issues/2319Show warning if own mailbox's API version is incompatible2022-11-23T12:10:47ZakwizgranShow warning if own mailbox's API version is incompatibleShow a warning in the mailbox status screen if the API versions supported by our mailbox are incompatible with the versions we support as a client.
The warning could either ask the user to check that Briar and the Mailbox are updated to...Show a warning in the mailbox status screen if the API versions supported by our mailbox are incompatible with the versions we support as a client.
The warning could either ask the user to check that Briar and the Mailbox are updated to the latest version, or if we want to be clever we could work out which one needs to be updated and show an appropriate message.
Depends on #2299Mailbox: Status UI for Briar appTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-desktop/-/issues/358Revise Dispatchers.Swing usage to run code on UI thread2022-09-04T20:23:27ZSebastianRevise Dispatchers.Swing usage to run code on UI threadThe following discussion from !199 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/199#note_66074): (+1 comment)
> I had to add this explicit dependency...The following discussion from !199 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/199#note_66074): (+1 comment)
> I had to add this explicit dependency as described at https://github.com/JetBrains/compose-jb/releases/tag/v1.1.1.
>
> They also state that our use of Dispatchers.Swing that relies on Compose internally using this dispatcher for the UI drawing is probably not future-proof. We might want to look again into binding the events to a coroutineScope instead (related to #336).https://code.briarproject.org/briar/briar-mailbox/-/issues/122Do not kill me screen shown again (empty) if activity gets killed2023-01-19T13:04:14ZakwizgranDo not kill me screen shown again (empty) if activity gets killedIf no battery settings need to be changed (eg Android < 6, or stock Android >= 6 with battery optimisations already disabled) then we should skip the battery settings screen rather than showing the graphic and the continue button with no...If no battery settings need to be changed (eg Android < 6, or stock Android >= 6 with battery optimisations already disabled) then we should skip the battery settings screen rather than showing the graphic and the continue button with no other content.
![Screenshot_20220512_134501](/uploads/55c24730f28f15e821a879c78f213396/Screenshot_20220512_134501.png)Mailbox: First runhttps://code.briarproject.org/briar/briar/-/issues/2318Crash on HTC One M9 when switching between the briar app and the settings ap...2023-01-25T17:23:06ZIvanaCrash on HTC One M9 when switching between the briar app and the settings app in the foregroundSteps to reproduce
- Install Briar and create a user account
- user is asked to "allow connections" (ie allow battery optimisation to be switched off)
- before tapping the "allow connections" button, go to settings app and verify that...Steps to reproduce
- Install Briar and create a user account
- user is asked to "allow connections" (ie allow battery optimisation to be switched off)
- before tapping the "allow connections" button, go to settings app and verify that the battery optimisation is 'on' (although probabky not relevant for this crash)
- then bring briar app back into the foreground tap the "allow connections"
- go to settings
- bring briar back into the foreground -> crash.
This as reproduced 2 times on HTC One M9 (android 7) and it doesn't have when the user performs the same steps with mailbox app.
Logfiles are attached
@akwizgran analysed and here are his comments (from MM)
looks like this is the stacktrace of the crash:
org.briarproject.briar.android.account.SetupActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@7c94038: Unmarshalling unknown type code 6881391 at offset 684
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2729)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1505)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:938)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828)
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@7c94038: Unmarshalling unknown type code 6881391 at offset 684
at android.os.Parcel.readValue(Parcel.java:2452)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2807)
at android.os.Parcel.readSparseArray(Parcel.java:2076)
at android.os.Parcel.readValue(Parcel.java:2430)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2726)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:910)
at androidx.fragment.app.FragmentStateManager.restoreState(FragmentStateManager.java:405)
at androidx.fragment.app.FragmentManager.restoreSaveState(FragmentManager.java:2735)
at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:198)
at androidx.fragment.app.FragmentActivity$2.onContextAvailable(FragmentActivity.java:149)
at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:297)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:115)
at org.briarproject.briar.android.activity.BaseActivity.onCreate(BaseActivity.java:92)
at org.briarproject.briar.android.account.SetupActivity.onCreate(SetupActivity.java:52)
at android.app.Activity.performCreate(Activity.java:6673)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2682)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1505)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:173)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:938)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:828) [Briar_crash_11_May_2022_reproduced.txt](/uploads/ddad5db164d4d61b49a3ac11b70d9394/Briar_crash_11_May_2022_reproduced.txt)
[Briar_crash_11_May_2022.txt](/uploads/920b2d55e162d999725a2f03d704348a/Briar_crash_11_May_2022.txt)https://code.briarproject.org/briar/briar-desktop/-/issues/357Error displayed on console after exiting application2022-05-11T14:59:47ZSebastianError displayed on console after exiting applicationWhen I launch the app as installed via the `*.deb` file, after exiting the application I see this output:
```
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
```
Even when no AWT window is ...When I launch the app as installed via the `*.deb` file, after exiting the application I see this output:
```
pure virtual method called
terminate called without an active exception
Aborted (core dumped)
```
Even when no AWT window is being displayed, i.e. also for `briar-desktop --help`.
It doesn't happen when I run the app using the jar with OpenJDK 17 and `java -jar briar-desktop.jar`.
So it might have to do with the native executable and the JRE shipped withe the debian package built by jpackage.https://code.briarproject.org/briar/briar-desktop/-/issues/356Briar Core version for BuildData is not recognized correctly2022-05-11T12:21:39ZMikolai GütschowBriar Core version for BuildData is not recognized correctlyRight now we just take the last available release tag, instead of the last release tag that is a predecessor of the current commit.Right now we just take the last available release tag, instead of the last release tag that is a predecessor of the current commit.Desktop 0.3.0https://code.briarproject.org/briar/briar-desktop/-/issues/355Copying a message without selecting anything does not work as expected2023-02-13T13:35:38ZMikolai GütschowCopying a message without selecting anything does not work as expectedThe following discussion from !142 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/142#note_62396): (+5 comments)
> I just tried this. Works nicely.
...The following discussion from !142 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/142#note_62396): (+5 comments)
> I just tried this. Works nicely.
>
> One thing in non-optimal I think, but I'm not sure we can do anything about it: when I select some message partially or fully, right click + Copy puts the selected text into the clipboard. However if I do not select anything, the Copy action is still available from the context menu. When I select it, it puts the empty string into the clipboard. I think that's rather unexpected, I believe users could think that this would copy the whole message. I see two possible ways this could be better:
> 1. when nothing is selected on the message, the Copy option is not visible or disabled
> 2. when nothing is selected on the message, the Copy option copies the whole message textDesktop 0.5.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/354Consolidate Dagger DesktopModule and DesktopTestModule2022-09-16T19:36:13ZMikolai GütschowConsolidate Dagger DesktopModule and DesktopTestModule... to avoid duplication and problems such as #352... to avoid duplication and problems such as #352Desktop 0.3.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/353Changed connected state of contact resets introduction to first screen2023-03-07T11:48:17ZMikolai GütschowChanged connected state of contact resets introduction to first screenTo reproduce:
1. Open a chat
2. Start an introduction "Make introduction"
3. select a contact to be introduced (changing to the second page of the introduction dialog)
4. change connected state of contact of opened chat
5. see that intr...To reproduce:
1. Open a chat
2. Start an introduction "Make introduction"
3. select a contact to be introduced (changing to the second page of the introduction dialog)
4. change connected state of contact of opened chat
5. see that introduction dialog is reset to the contact list
We probably need to hoist some state somewhere up or somehow disconnect the introduction drawer from the chat top bar (this gets redrawn to show the updated connected state).Desktop 0.5.0https://code.briarproject.org/briar/briar-desktop/-/issues/352(Multiple) test instances do not connect to contact over the local network2022-06-24T15:28:33ZMikolai Gütschow(Multiple) test instances do not connect to contact over the local networkPerhaps the LanPlugin is not activated for test builds and/or uses a fixed port, preventing multiple (and/or test) instances on the same computer of using the local network to connect to contacts.Perhaps the LanPlugin is not activated for test builds and/or uses a fixed port, preventing multiple (and/or test) instances on the same computer of using the local network to connect to contacts.Desktop 0.3.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/351Specifiying different tor control and socks ports after first launch doesn't ...2022-06-29T13:00:53ZSebastianSpecifiying different tor control and socks ports after first launch doesn't workOn first start of the TorPlugin, the config file is created on the fly and stored in `$ACCOUNT_DIR/tor/torrc`. It is not rewritten on subsequent starts of the TorPlugin, hence when different Tor ports are specified the tor process is sta...On first start of the TorPlugin, the config file is created on the fly and stored in `$ACCOUNT_DIR/tor/torrc`. It is not rewritten on subsequent starts of the TorPlugin, hence when different Tor ports are specified the tor process is started with the old ports specified in the torrc file while the plugin tries to communicate with the tor process on the new ports, which fails.https://code.briarproject.org/briar/briar-desktop/-/issues/350Store UnencryptedSettings in temporary folder for test runs2023-04-16T07:59:34ZMikolai GütschowStore UnencryptedSettings in temporary folder for test runsThis way changing the language or theme for testing would not affect your real Briar Desktop installation and also two or more concurrently running instances could have different theme and language settings.This way changing the language or theme for testing would not affect your real Briar Desktop installation and also two or more concurrently running instances could have different theme and language settings.Desktop 0.5.0https://code.briarproject.org/briar/briar-desktop/-/issues/349FAB in chat window not shown if older message arrives out-of-order2023-08-25T13:33:35ZMikolai GütschowFAB in chat window not shown if older message arrives out-of-orderThis issue was encountered while testing for release 0.2.1 #346. We would need to have a way to reproduce this (e.g. by sending some message from a test contact after a given time in TestData).
Nevertheless, the message counter in the c...This issue was encountered while testing for release 0.2.1 #346. We would need to have a way to reproduce this (e.g. by sending some message from a test contact after a given time in TestData).
Nevertheless, the message counter in the contact list was updated (directly after?) receiving the out-of-order message and after changing to another chat and navigating back to the chat with the new message, the scrollview was automatically scrolled to the new message.Desktop 0.7.0