briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-01-18T16:11:33Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/220NPE when viewing introduction request with null text2022-01-18T16:11:33ZSebastianNPE when viewing introduction request with null text```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt$ConversationRequestItemView$4.invoke(ConversationRequestItemView.kt:85)
at org...```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt$ConversationRequestItemView$4.invoke(ConversationRequestItemView.kt:85)
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt$ConversationRequestItemView$4.invoke(ConversationRequestItemView.kt:82)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2$1.invoke(ConversationItemView.kt:181)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2$1.invoke(ConversationItemView.kt:180)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
```Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2254QR screen hangs if user leave Briar and go to permission manager and denies l...2022-01-19T10:36:04ZIvanaQR screen hangs if user leave Briar and go to permission manager and denies location permission during the creation of nearby contactReproducible on devices: Pixel 2 API 30, Samsung A01 Core API 29, Motorola E2 API 23
It does not happen on HTC One M9 API 24
## Steps to execute
- Verify that Briar debug has location and camera permissions granted in the device setting...Reproducible on devices: Pixel 2 API 30, Samsung A01 Core API 29, Motorola E2 API 23
It does not happen on HTC One M9 API 24
## Steps to execute
- Verify that Briar debug has location and camera permissions granted in the device settings
- Go to 'add nearby contact'
- Follow instructions, and when the QR code is displayed, go to the device settings and deny the locaiton permission to Briar debug
- Return to Briar debug
- re-login when asked
## expected results
- the QR screen that was showing before, displays again
## actual results
- the QR screen hangs. See attached.![device-2022-01-18-141734](/uploads/bbc47c7fbbd01b50beba5f971278fa6c/device-2022-01-18-141734.mp4)[QR_screen_hangs_on_Pixel2.txt](/uploads/48d5e18d8e704108f0fbf9869ce77ad9/QR_screen_hangs_on_Pixel2.txt)https://code.briarproject.org/briar/briar-desktop/-/issues/221No menu items on Debian after installing deb2022-02-17T13:05:10ZSebastianNo menu items on Debian after installing debAs reported by a user on qubes OS and another one on Debian Bullseye, after installing the deb package, no launcher icon appears in the "start menu".
In contrast, packages I build on a Ubuntu-based distro, create such a launcher.As reported by a user on qubes OS and another one on Debian Bullseye, after installing the deb package, no launcher icon appears in the "start menu".
In contrast, packages I build on a Ubuntu-based distro, create such a launcher.Desktop 0.2.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/222Handle missing /usr/share/desktop-directories on installation2022-02-17T13:05:09ZSebastianHandle missing /usr/share/desktop-directories on installationError message:
```
xdg-desktop-menu: No writable system menu directory found.
dpkg: error processing package briar-desktop (--install):
installed briar-desktop package post-installation script subprocess returned error exit status 3
Er...Error message:
```
xdg-desktop-menu: No writable system menu directory found.
dpkg: error processing package briar-desktop (--install):
installed briar-desktop package post-installation script subprocess returned error exit status 3
Errors were encountered while processing:
briar-desktop
```
workaround found [here](https://github.com/bisq-network/bisq/issues/848):
```
sudo mkdir /usr/share/desktop-directories/
```Desktop 0.2.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/223Pressing tab in new message text field actually adds tab characters to the me...2022-09-04T20:57:37ZMikolai GütschowPressing tab in new message text field actually adds tab characters to the messageInstead, I would expect it to cycle the focus through all other interactive elements, starting again at the top left. Shift-Tab behaves as expected.Instead, I would expect it to cycle the focus through all other interactive elements, starting again at the top left. Shift-Tab behaves as expected.Desktop 0.4.0https://code.briarproject.org/briar/briar-desktop/-/issues/224Re-use gradle version parameters from Briar core2022-01-18T16:04:03ZMikolai GütschowRe-use gradle version parameters from Briar coreIn `build.gradle.kts` we currently have the following lines, that always have to be copied from Briar core when bumping the core version. We should try to maintain those in a separate config file that would be referenced from Briar Andro...In `build.gradle.kts` we currently have the following lines, that always have to be copied from Briar core when bumping the core version. We should try to maintain those in a separate config file that would be referenced from Briar Android and Briar Desktop.
```kotlin
// keep version here in sync when updating briar
dependencies {
classpath("com.android.tools.build:gradle:4.1.3")
classpath("ru.vyarus:gradle-animalsniffer-plugin:1.5.3")
classpath(files("briar/libs/gradle-witness.jar"))
}
// keep version here in sync when updating briar
extra.apply {
set("dagger_version", "2.33")
set("okhttp_version", "3.12.13")
set("jackson_version", "2.13.0")
set("tor_version", "0.3.5.17")
set("obfs4proxy_version", "0.0.12-dev-40245c4a")
set("junit_version", "4.13.2")
set("jmock_version", "2.12.0")
}
}
```https://code.briarproject.org/briar/briar-desktop/-/issues/225Version numbering in deb inconsistent with our versioning scheme2022-01-19T19:28:55ZSebastianVersion numbering in deb inconsistent with our versioning schemeI think according to our current versioning scheme we're working on version `0.1.0`.
When installing the deb package, it prints:
```
Unpacking briar-desktop (0.0.1-1) over (0.0.1-1) ...
Setting up briar-desktop (0.0.1-1) ...
```
which l...I think according to our current versioning scheme we're working on version `0.1.0`.
When installing the deb package, it prints:
```
Unpacking briar-desktop (0.0.1-1) over (0.0.1-1) ...
Setting up briar-desktop (0.0.1-1) ...
```
which looks like it has somehow a different version number set.Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/226NPE when introducing second test contact after already completed introduction2023-01-09T21:39:56ZNicoNPE when introducing second test contact after already completed introduction_I tried to reproduce this but failed because one contact out of 3 didn't want to connect with the other two inside the test environment._
Steps to reproduce:
* Start `TestWithThreeConnectedTemporaryAccounts::main`
* Introduce your firs..._I tried to reproduce this but failed because one contact out of 3 didn't want to connect with the other two inside the test environment._
Steps to reproduce:
* Start `TestWithThreeConnectedTemporaryAccounts::main`
* Introduce your first contact to the second one
* accept the introductions from both accounts
* try to introduce your second account to the first
```
Exception in thread "main" java.lang.NullPointerException
at androidx.compose.ui.layout.SubcomposeLayoutState.disposeCurrentNodes$ui(SubcomposeLayout.kt:386)
at androidx.compose.ui.layout.SubcomposeLayoutKt$SubcomposeLayout$3$invoke$$inlined$onDispose$1.dispose(Effects.kt:484)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:85)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:793)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:496)
at androidx.compose.ui.layout.SubcomposeLayoutState.disposeCurrentNodes$ui(SubcomposeLayout.kt:386)
at androidx.compose.ui.layout.SubcomposeLayoutKt$SubcomposeLayout$3$invoke$$inlined$onDispose$1.dispose(Effects.kt:484)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:85)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:793)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:496)
at androidx.compose.ui.layout.SubcomposeLayoutState.disposeCurrentNodes$ui(SubcomposeLayout.kt:386)
at androidx.compose.ui.layout.SubcomposeLayoutKt$SubcomposeLayout$3$invoke$$inlined$onDispose$1.dispose(Effects.kt:484)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:85)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:793)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:496)
at androidx.compose.ui.ComposeScene.close(ComposeScene.skiko.kt:195)
at androidx.compose.ui.awt.ComposeLayer.dispose(ComposeLayer.desktop.kt:362)
at androidx.compose.ui.awt.ComposeWindowDelegate.dispose(ComposeWindowDelegate.desktop.kt:113)
at androidx.compose.ui.awt.ComposeWindow.dispose(ComposeWindow.desktop.kt:117)
at androidx.compose.ui.window.Window_desktopKt$Window$4.invoke(Window.desktop.kt:193)
at androidx.compose.ui.window.Window_desktopKt$Window$4.invoke(Window.desktop.kt:193)
at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2$invoke$$inlined$onDispose$1.dispose(Effects.kt:484)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:85)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:793)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:647)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:488)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:425)
at androidx.compose.ui.window.YieldFrameClock.withFrameNanos(Application.desktop.kt:262)
at androidx.compose.ui.window.YieldFrameClock$withFrameNanos$1.invokeSuspend(Application.desktop.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
After this the window with the error message got closed. Then I got another error in the second window with this:
```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt$ConversationRequestItemView$4.invoke(ConversationRequestItemView.kt:85)
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt$ConversationRequestItemView$4.invoke(ConversationRequestItemView.kt:82)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2$1.invoke(ConversationItemView.kt:181)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2$1.invoke(ConversationItemView.kt:180)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:268)
at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:255)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:252)
at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:110)
at androidx.compose.material.CardKt.Card-F-jzlyU(Card.kt:66)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2.invoke(ConversationItemView.kt:174)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt$ConversationItemView$2$1$2.invoke(ConversationItemView.kt:173)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.foundation.ContextMenuProvider_desktopKt$ContextMenuArea$2.invoke(ContextMenuProvider.desktop.kt:53)
at androidx.compose.foundation.ContextMenuProvider_desktopKt$ContextMenuArea$2.invoke(ContextMenuProvider.desktop.kt:51)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.foundation.ContextMenuProvider_desktopKt$ContextMenuDataProvider$2.invoke(ContextMenuProvider.desktop.kt:79)
at androidx.compose.foundation.ContextMenuProvider_desktopKt$ContextMenuDataProvider$2.invoke(ContextMenuProvider.desktop.kt:78)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.foundation.ContextMenuProvider_desktopKt.ContextMenuDataProvider(ContextMenuProvider.desktop.kt:76)
at androidx.compose.foundation.ContextMenuProvider_desktopKt.ContextMenuArea(ContextMenuProvider.desktop.kt:51)
at org.briarproject.briar.desktop.conversation.ConversationItemViewKt.ConversationItemView(ConversationItemView.kt:167)
at org.briarproject.briar.desktop.conversation.ConversationRequestItemViewKt.ConversationRequestItemView(ConversationRequestItemView.kt:82)
at org.briarproject.briar.desktop.conversation.ConversationListKt$ConversationList$1$1$invoke$$inlined$itemsIndexed$default$2.invoke(LazyDsl.kt:270)
at org.briarproject.briar.desktop.conversation.ConversationListKt$ConversationList$1$1$invoke$$inlined$itemsIndexed$default$2.invoke(LazyDsl.kt:119)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.foundation.lazy.LazyListScopeImpl$items$1$1.invoke(LazyListScopeImpl.kt:39)
at androidx.compose.foundation.lazy.LazyListScopeImpl$items$1$1.invoke(LazyListScopeImpl.kt:39)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84)
at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$content$1.invoke(LazyLayoutItemContentFactory.kt:102)
at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$content$1.invoke(LazyLayoutItemContentFactory.kt:93)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:251)
at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:251)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:72)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2582)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:247)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:2522)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:478)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:748)
at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(Composer.kt:2987)
at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(Composer.kt:2987)
at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(Composer.kt:2987)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:433)
at androidx.compose.ui.layout.SubcomposeLayoutState.subcomposeInto(SubcomposeLayout.kt:269)
at androidx.compose.ui.layout.SubcomposeLayoutState.access$subcomposeInto(SubcomposeLayout.kt:154)
at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2.invoke(SubcomposeLayout.kt:244)
at androidx.compose.ui.layout.SubcomposeLayoutState$subcompose$2.invoke(SubcomposeLayout.kt:241)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.withNoObservations(SnapshotStateObserver.kt:142)
at androidx.compose.ui.node.OwnerSnapshotObserver.withNoSnapshotReadObservation$ui(OwnerSnapshotObserver.kt:55)
at androidx.compose.ui.node.LayoutNode.withNoSnapshotReadObservation$ui(LayoutNode.kt:1140)
at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose(SubcomposeLayout.kt:241)
at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose(SubcomposeLayout.kt:235)
at androidx.compose.ui.layout.SubcomposeLayoutState.subcompose$ui(SubcomposeLayout.kt:224)
at androidx.compose.ui.layout.SubcomposeLayoutState$Scope.subcompose(SubcomposeLayout.kt:490)
at androidx.compose.foundation.lazy.layout.LazyLayoutPlaceablesProvider.getAndMeasure-0kLqBqw(LazyMeasurePolicy.kt:58)
at androidx.compose.foundation.lazy.LazyMeasuredItemProvider.getAndMeasure-ZjPyQlc(LazyMeasuredItemProvider.kt:45)
at androidx.compose.foundation.lazy.LazyListMeasureKt.measureLazyList-DCyOChk(LazyListMeasure.kt:140)
at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.measure-3p2s80s(LazyList.kt:230)
at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$2.invoke-0kLqBqw(LazyLayout.kt:55)
at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$2.invoke(LazyLayout.kt:44)
at androidx.compose.ui.layout.SubcomposeLayoutState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:355)
at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable.kt:55)
at androidx.compose.foundation.layout.PaddingValuesModifier.measure-3p2s80s(Padding.kt:417)
at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:306)
at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39)
at androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:118)
at androidx.compose.foundation.layout.PaddingModifier.measure-3p2s80s(Padding.kt:364)
at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39)
at androidx.compose.foundation.layout.FillModifier.measure-3p2s80s(Size.kt:658)
at androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39)
at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$2.invoke(OuterMeasurablePlaceable.kt:99)
at androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$2.invoke(OuterMeasurablePlaceable.kt:98)
at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:1798)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:121)
at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui(OwnerSnapshotObserver.kt:88)
at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui(OwnerSnapshotObserver.kt:76)
at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:98)
at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui(LayoutNode.kt:1269)
at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui$default(LayoutNode.kt:1265)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure(MeasureAndLayoutDelegate.kt:170)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:228)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.access$remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:38)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout(MeasureAndLayoutDelegate.kt:201)
at androidx.compose.ui.platform.SkiaBasedOwner.measureAndLayout(SkiaBasedOwner.skiko.kt:266)
at androidx.compose.ui.node.Owner$DefaultImpls.measureAndLayout$default(Owner.kt:182)
at androidx.compose.ui.platform.SkiaBasedOwner.processPointerInput-gBdvCQM$ui(SkiaBasedOwner.skiko.kt:342)
at androidx.compose.ui.platform.SkiaBasedOwner.processPointerInput-gBdvCQM$ui$default(SkiaBasedOwner.skiko.kt:341)
at androidx.compose.ui.ComposeScene.onMouseMove(ComposeScene.skiko.kt:465)
at androidx.compose.ui.ComposeScene.sendPointerEvent-Kr8mkKM(ComposeScene.skiko.kt:429)
at androidx.compose.ui.ComposeScene.sendPointerEvent-Kr8mkKM$default(ComposeScene.skiko.kt:397)
at androidx.compose.ui.awt.ComposeLayer_desktopKt.onMouseEvent(ComposeLayer.desktop.kt:415)
at androidx.compose.ui.awt.ComposeLayer_desktopKt.access$onMouseEvent(ComposeLayer.desktop.kt:1)
at androidx.compose.ui.awt.ComposeLayer$onMouseEvent$1.invoke(ComposeLayer.desktop.kt:273)
at androidx.compose.ui.awt.ComposeLayer$onMouseEvent$1.invoke(ComposeLayer.desktop.kt:269)
at androidx.compose.ui.awt.ComposeLayer.catchExceptions(ComposeLayer.desktop.kt:89)
at androidx.compose.ui.awt.ComposeLayer.onMouseEvent(ComposeLayer.desktop.kt:269)
at androidx.compose.ui.awt.ComposeLayer.access$onMouseEvent(ComposeLayer.desktop.kt:70)
at androidx.compose.ui.awt.ComposeLayer$3.mouseEntered(ComposeLayer.desktop.kt:251)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623)
at java.desktop/java.awt.Component.processEvent(Component.java:6379)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
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(AccessController.java:391)
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(AccessController.java:391)
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)
```Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/227Use text avatars for private groups2023-05-11T21:10:46ZNicoUse text avatars for private groupsSub of https://code.briarproject.org/briar/briar-desktop/-/issues/12
At https://code.briarproject.org/briar/briar-desktop/-/blob/26605a1545440f06e1928f80d025476935c6cfe3/src/main/kotlin/org/briarproject/briar/desktop/privategroups/Priva...Sub of https://code.briarproject.org/briar/briar-desktop/-/issues/12
At https://code.briarproject.org/briar/briar-desktop/-/blob/26605a1545440f06e1928f80d025476935c6cfe3/src/main/kotlin/org/briarproject/briar/desktop/privategroups/PrivateGroupCard.kt#L57Desktop 0.5.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/228Show some placeholder avatar for pending contacts2022-02-05T20:02:04ZNicoShow some placeholder avatar for pending contactsFollow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/135
https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/contact/Profile...Follow-up to https://code.briarproject.org/briar/briar-desktop/-/issues/135
https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/contact/ProfileCircle.kt#L100Desktop 0.2.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/229Introduction drawer has rounded corner on bottom left side2022-02-09T10:29:40ZSebastianIntroduction drawer has rounded corner on bottom left sideThe following discussion from !105 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/105#note_60704): (+7 comments)
> …although I changed the scrim color t...The following discussion from !105 should be addressed:
- [ ] @sebkur started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/105#note_60704): (+7 comments)
> …although I changed the scrim color to white on the dark theme because the standard `Surface` background color (black for the dark theme) doesn't have any contrast to the rest of the UI if it is overlayed with a transparent black layer. Black looked good for the light theme though, so I tried using inverted colors for the dark theme.Desktop 0.2.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/230React on ClientVersionUpdatedEvent from ConversationViewModel2022-04-03T10:36:26ZNicoReact on ClientVersionUpdatedEvent from ConversationViewModel```
/**
* An event that is broadcast when we receive a client versioning update from
* a contact.
*/
```
https://code.briarproject.org/briar/briar/-/blob/a53a49e543e3190f329b8608ecec157da4047b89/bramble-api/src/main/java/org/briarproj...```
/**
* An event that is broadcast when we receive a client versioning update from
* a contact.
*/
```
https://code.briarproject.org/briar/briar/-/blob/a53a49e543e3190f329b8608ecec157da4047b89/bramble-api/src/main/java/org/briarproject/bramble/api/versioning/event/ClientVersionUpdatedEvent.java
TODO here: https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt#L363https://code.briarproject.org/briar/briar-desktop/-/issues/231Handle NoSuchContactException when loading contact or messages in Conversatio...2023-01-09T21:39:55ZNicoHandle NoSuchContactException when loading contact or messages in ConversationViewModelCurrently the whole app most likely crashes, I think.
https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt...Currently the whole app most likely crashes, I think.
https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt#L275Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/232Properly handle DbException and UnexpectedTimerException when sending messages2023-01-09T21:39:54ZNicoProperly handle DbException and UnexpectedTimerException when sending messagesCurrently the input field gets cleared and the exception gets logged, but the user sees no indication that sending the message failed besides seeing that it didn't get added to the chat history.
https://code.briarproject.org/briar/briar...Currently the input field gets cleared and the exception gets logged, but the user sees no indication that sending the message failed besides seeing that it didn't get added to the chat history.
https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt#L193Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/233Properly wire feature flag functionality in ConversationVisitor2022-01-19T18:02:58ZNicoProperly wire feature flag functionality in ConversationVisitorRelated to https://code.briarproject.org/briar/briar-desktop/-/merge_requests/111?
* https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conver...Related to https://code.briarproject.org/briar/briar-desktop/-/merge_requests/111?
* https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt#L90
* https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt#L134
* https://code.briarproject.org/briar/briar-desktop/-/blob/d1e668dec33d8f309a6f6d99bbc8b4af015475d2/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationVisitor.kt#L178Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/234Validate or test translations2022-04-03T10:36:25ZNicoValidate or test translationsDepending on what translators put as their translation, this might lead to exceptions when processing the text, especially in the context of plurals. Seen when translating Briar Android to Indonesian for dark crystal.Depending on what translators put as their translation, this might lead to exceptions when processing the text, especially in the context of plurals. Seen when translating Briar Android to Indonesian for dark crystal.https://code.briarproject.org/briar/briar-desktop/-/issues/235Check if factoring out some scrollbar related logic makes sense2022-01-18T20:28:35ZMikolai GütschowCheck if factoring out some scrollbar related logic makes senseThe following discussion from !105 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/105#note_60777):
> Might be also good to have those scrollbar-related...The following discussion from !105 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/105#note_60777):
> Might be also good to have those scrollbar-related things as a reusable component in the future.https://code.briarproject.org/briar/briar-desktop/-/issues/236Use native windows for dialogs2023-01-09T21:39:56ZMikolai GütschowUse native windows for dialogse.g. for the AddContactDialog and AboutDialog, which do not strictly require to be modal.e.g. for the AddContactDialog and AboutDialog, which do not strictly require to be modal.Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/237Use central place to show error dialogs by means of some ErrorManager2022-11-27T13:22:07ZMikolai GütschowUse central place to show error dialogs by means of some ErrorManagerThat would avoid having an additional state and two parameters per dialog we want to show.
I think @seb already had a working implementation for #81.That would avoid having an additional state and two parameters per dialog we want to show.
I think @seb already had a working implementation for #81.https://code.briarproject.org/briar/briar-desktop/-/issues/238Let users delete pending contacts2022-02-21T14:05:08ZNicoLet users delete pending contactsFollow-up to https://code.briarproject.org/briar/briar-desktop/-/merge_requests/114. Also related to https://code.briarproject.org/briar/briar-desktop/-/issues/228.
@paul-lorenc has already done parts of this with https://chat.briarproj...Follow-up to https://code.briarproject.org/briar/briar-desktop/-/merge_requests/114. Also related to https://code.briarproject.org/briar/briar-desktop/-/issues/228.
@paul-lorenc has already done parts of this with https://chat.briarproject.org/briar/pl/wm89mega97dj7des54z9wydkxw.Desktop 0.2.0SebastianSebastian