Briar Desktop issueshttps://code.briarproject.org/briar/briar-desktop/-/issues2022-09-23T11:46:27Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/393Use `rememberSaveable` wherever appropriate for Android2022-09-23T11:46:27ZMikolai GütschowUse `rememberSaveable` wherever appropriate for AndroidQuoting from !240:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/240#note_70876): (+4 comments)
> We have always used `remember` instead of `rememberSaveable`. I know that...Quoting from !240:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/240#note_70876): (+4 comments)
> We have always used `remember` instead of `rememberSaveable`. I know that this is needed on Android for, e.g., configuration changes. Are you aware of any consequences on Desktop though?
>
> ----
>
> No, don't know how this works on desktop. However, I'd argue best to use `rememberSaveable` everywhere where we'd want it in Android, to a) practice using it and recognizing when it is needed and b) to allow us one day to unify the UI codebases of both projects in an easier fashion.https://code.briarproject.org/briar/briar-desktop/-/issues/385IOException on startup2023-04-19T14:32:03ZMikolai GütschowIOException on startupOn current `main`, but only marked as warning at logging time. Doesn't seem to cause further issues, but should probably be adressed at some point.
```
10:34:59.932 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Op...On current `main`, but only marked as warning at logging time. Doesn't seem to cause further issues, but should probably be adressed at some point.
```
10:34:59.932 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Operation not permitted
java.io.IOException: Operation not permitted
at java.base/java.io.FileOutputStream.writeBytes(Native Method)
at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
at java.base/java.io.DataOutputStream.writeLong(DataOutputStream.java:230)
at org.briarproject.bramble.system.AbstractSecureRandomProvider.writeToEntropyPool(AbstractSecureRandomProvider.java:24)
at org.briarproject.bramble.system.UnixSecureRandomProvider.writeSeed(UnixSecureRandomProvider.java:49)
at org.briarproject.bramble.system.UnixSecureRandomProvider.getProvider(UnixSecureRandomProvider.java:41)
at org.briarproject.bramble.crypto.CryptoComponentImpl.<init>(CryptoComponentImpl.java:85)
at org.briarproject.bramble.crypto.CryptoModule.provideCryptoComponent(CryptoModule.java:32)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.provideCryptoComponent(CryptoModule_ProvideCryptoComponentFactory.java:42)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:31)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:21)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:8)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:26)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:9)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:36)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:12)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:40)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:13)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:30)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:10)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:26)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:35)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.briar.desktop.DaggerBriarDesktopTestApp.injectEagerSingletons(DaggerBriarDesktopTestApp.java:1641)
at org.briarproject.briar.desktop.DaggerBriarDesktopTestApp.inject(DaggerBriarDesktopTestApp.java:1493)
at org.briarproject.bramble.BrambleCoreEagerSingletons$Helper.injectEagerSingletons(BrambleCoreEagerSingletons.java:51)
at org.briarproject.briar.desktop.RunWithMultipleTemporaryAccounts.app(RunWithMultipleTemporaryAccounts.kt:91)
at org.briarproject.briar.desktop.RunWithMultipleTemporaryAccounts.run(RunWithMultipleTemporaryAccounts.kt:52)
at org.briarproject.briar.desktop.TestWithTwoConnectedTemporaryAccountsKt.main(TestWithTwoConnectedTemporaryAccounts.kt:28)
at org.briarproject.briar.desktop.TestWithTwoConnectedTemporaryAccountsKt.main(TestWithTwoConnectedTemporaryAccounts.kt)
```https://code.briarproject.org/briar/briar-desktop/-/issues/344Hidden expiration banner is displayed again when changing language/theme2022-05-03T15:48:13ZMikolai GütschowHidden expiration banner is displayed again when changing language/themeSince we are invalidating the whole screen, the hidden banner state is lost.Since we are invalidating the whole screen, the hidden banner state is lost.https://code.briarproject.org/briar/briar-desktop/-/issues/306Center AddContactDialog in current MainWindow2023-08-25T13:33:34ZMikolai GütschowCenter AddContactDialog in current MainWindowFollow-up of https://code.briarproject.org/briar/briar-desktop/-/merge_requests/144#note_62432
Currently it is centered in the center of the screen, no matter where the Briar Main Window is shown.Follow-up of https://code.briarproject.org/briar/briar-desktop/-/merge_requests/144#note_62432
Currently it is centered in the center of the screen, no matter where the Briar Main Window is shown.Desktop 0.7.0https://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/200Test data: read flag doesn't work2023-08-25T13:33:36ZSebastianTest data: read flag doesn't workMessages marked as read per `ConversationsData.kt` are not actually marked as read in the app.
I have tried modifying `DeterministicTestDataCreatorImpl`'s `createPrivateMessage()` like this:
```kotlin
db.transaction<Runt...Messages marked as read per `ConversationsData.kt` are not actually marked as read in the app.
I have tried modifying `DeterministicTestDataCreatorImpl`'s `createPrivateMessage()` like this:
```kotlin
db.transaction<RuntimeException>(false) { txn ->
db.receiveMessage(txn, contactId, m.message)
conversationManager.setReadFlag(txn, groupId, m.message.id, read)
}
```
where `conversationManager.setReadFlag(txn, groupId, m.message.id, read)` is added, however:
```
org.briarproject.bramble.api.db.DbException: null
at org.briarproject.briar.client.MessageTrackerImpl.setReadFlag(MessageTrackerImpl.java:159)
at org.briarproject.briar.conversation.ConversationManagerImpl.setReadFlag(ConversationManagerImpl.java:135)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createPrivateMessage$lambda-7(DeterministicTestDataCreatorImpl.kt:365)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:200)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createPrivateMessage(DeterministicTestDataCreatorImpl.kt:363)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createPrivateMessage(DeterministicTestDataCreatorImpl.kt:330)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createPrivateMessages(DeterministicTestDataCreatorImpl.kt:312)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createTestDataOnIoExecutor(DeterministicTestDataCreatorImpl.kt:116)
at org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl.createTestData$lambda-0(DeterministicTestDataCreatorImpl.kt:93)
```Desktop 0.7.0https://code.briarproject.org/briar/briar-desktop/-/issues/180Implement BriarAlertDialog with consistent styling and simple API2023-08-25T13:33:35ZMikolai GütschowImplement BriarAlertDialog with consistent styling and simple APIsee https://code.briarproject.org/briar/briar-desktop/-/merge_requests/70#note_58764see https://code.briarproject.org/briar/briar-desktop/-/merge_requests/70#note_58764Desktop 0.7.0https://code.briarproject.org/briar/briar-desktop/-/issues/45Investigate implication of "extended" Material icons library on build time/size2022-04-03T10:36:50ZMikolai GütschowInvestigate implication of "extended" Material icons library on build time/sizesee https://code.briarproject.org/briar/briar-desktop/-/merge_requests/7#note_53622 of @paul-lorenc:
> Note that I had to add the "Extended" Material Icon library, which there is a warning against doing because it bloats development lib...see https://code.briarproject.org/briar/briar-desktop/-/merge_requests/7#note_53622 of @paul-lorenc:
> Note that I had to add the "Extended" Material Icon library, which there is a warning against doing because it bloats development library size. A better way would just to individually add the non-core icons we need but I couldnt easily figure out how to do that. The extended library says it will properly minify the assets for production so this only affects dev build time.https://code.briarproject.org/briar/briar-desktop/-/issues/44Support colorful Emojis 🤯️2023-01-09T21:29:50ZMikolai GütschowSupport colorful Emojis 🤯️Currently, only the black-and-white emojis are displayed (at least on Linux) and flags are only displayed as letters:
![image](/uploads/c2c6717f371fddab18d61f7d03f1395f/image.png)Currently, only the black-and-white emojis are displayed (at least on Linux) and flags are only displayed as letters:
![image](/uploads/c2c6717f371fddab18d61f7d03f1395f/image.png)Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/30Enforce lowercase for parameters as well2022-04-03T10:36:52ZMikolai GütschowEnforce lowercase for parameters as wellFollow-up of https://code.briarproject.org/briar/briar-desktop/-/merge_requests/4#note_53238Follow-up of https://code.briarproject.org/briar/briar-desktop/-/merge_requests/4#note_53238https://code.briarproject.org/briar/briar-desktop/-/issues/14RSS2022-04-03T10:36:55ZMikolai GütschowRSSDesktop 1.0.0