briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-12-06T14:25:34Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/61Set up internationalization framework2021-12-06T14:25:34ZNicoSet up internationalization frameworkIt seems like there is no direct support for translations in Compose for Desktop: [JetBrains/compose-jb#425](https://github.com/JetBrains/compose-jb/issues/425)
Jetpack Compose on Android uses the already known _strings.xml_, but this d...It seems like there is no direct support for translations in Compose for Desktop: [JetBrains/compose-jb#425](https://github.com/JetBrains/compose-jb/issues/425)
Jetpack Compose on Android uses the already known _strings.xml_, but this doesn't work on the desktop.
In that issue they mentioned the following framework that allows using resources across various platforms: [icerockdev/moko-resources](https://github.com/icerockdev/moko-resources)
Once set up, we should import the translations from Briar GTK: https://code.briarproject.org/briar/briar-desktop/-/issues/4Desktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/68Update UI to reflect state changes in Briar2021-12-06T14:25:34ZMikolai GütschowUpdate UI to reflect state changes in Briar- when new message arrives / is sent
- when new contact is added
- when contact goes online / offline
Depends on #49
Related to #33- when new message arrives / is sent
- when new contact is added
- when contact goes online / offline
Depends on #49
Related to #33Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/69Ability to send messages in private chats2021-12-06T14:25:34ZMikolai GütschowAbility to send messages in private chatsDesktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/66Allow to add contacts2021-12-06T14:25:34ZMikolai GütschowAllow to add contactsDesktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/67Display identicons as profile images2021-12-06T14:25:34ZMikolai GütschowDisplay identicons as profile imagesDesktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/42Update Compose2021-12-06T14:25:34ZMikolai GütschowUpdate Composeto latest release (currently https://github.com/JetBrains/compose-jb/releases/tag/v1.0.0-alpha3) in order to:
- work with the latest API
- be able to use the Compose Preview plugin in IntelliJto latest release (currently https://github.com/JetBrains/compose-jb/releases/tag/v1.0.0-alpha3) in order to:
- work with the latest API
- be able to use the Compose Preview plugin in IntelliJDesktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/65Update dependencies to newest versions2021-12-06T14:25:33ZMikolai GütschowUpdate dependencies to newest versionsIntelliJ currently proposes new versions for `jackson-databind` (what do we need that for actually?), `clikt`, `material-icons-extended`, `dagger` and `kotlin` itself.IntelliJ currently proposes new versions for `jackson-databind` (what do we need that for actually?), `clikt`, `material-icons-extended`, `dagger` and `kotlin` itself.Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/62Set up translation project on Transifex2021-12-06T14:25:33ZNicoSet up translation project on TransifexOnce Briar Desktop is allowing localization (https://code.briarproject.org/briar/briar-desktop/-/issues/61) and we got a fair amount of strings to translate, we should configure Transifex to allow our translators to start their work. Whe...Once Briar Desktop is allowing localization (https://code.briarproject.org/briar/briar-desktop/-/issues/61) and we got a fair amount of strings to translate, we should configure Transifex to allow our translators to start their work. When doing so, we need to watch out that we re-use as much strings as possible from Briar GTK (https://code.briarproject.org/briar/briar-desktop/-/issues/4).Desktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/78Code refactoring2021-12-06T14:25:33ZSebastianCode refactoring* Remove subpackage `paul`, move classes elsewhere
* Break apart huge files and move `@Composables` into smaller files* Remove subpackage `paul`, move classes elsewhere
* Break apart huge files and move `@Composables` into smaller filesDesktop 0.1.0https://code.briarproject.org/briar/briar-desktop/-/issues/77Make it possible to run multiple versions of briar-desktop concurrently2021-12-06T14:25:33ZSebastianMake it possible to run multiple versions of briar-desktop concurrentlyFor interactive testing it is extremely useful to be able to start multiple UIs simultaneously and interact with them. A separate data directory can be specified already, the only thing preventing this is the hardcoded tor port (no two a...For interactive testing it is extremely useful to be able to start multiple UIs simultaneously and interact with them. A separate data directory can be specified already, the only thing preventing this is the hardcoded tor port (no two apps can listen on the same port). Let's see if we can make the Tor port configurable in upstream briar. I already solved this for [briar-swing here](https://code.briarproject.org/sebkur/briar-swing/-/commit/baa4d22d4011ee9b570301435a71d266ebcf11ab). It could be done that way, or a bit differently, but I think making the tor port configurable is something useful.Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/46When showing introduction drawer, dim whole app (not just message view)2021-12-06T14:25:33ZSebastianWhen showing introduction drawer, dim whole app (not just message view)Desktop 0.1.0paulpaulhttps://code.briarproject.org/briar/briar-desktop/-/issues/43Milestone planning2021-12-06T14:25:33ZMikolai GütschowMilestone planningWhat was started by @sebkur in !19 is now available in the wiki:
https://code.briarproject.org/briar/briar-desktop/-/wikis/MilestonesWhat was started by @sebkur in !19 is now available in the wiki:
https://code.briarproject.org/briar/briar-desktop/-/wikis/MilestonesDesktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/59Make it possible to start briar with temporary account with a bunch of testin...2021-12-06T14:25:33ZSebastianMake it possible to start briar with temporary account with a bunch of testing contactscomment by @sebkur :
> Next to that, I think it makes sense introduce a few testing classes in `src/test` that are not unit tests which check if some method succeeds, but instead have a main method that start briar in a certain configur...comment by @sebkur :
> Next to that, I think it makes sense introduce a few testing classes in `src/test` that are not unit tests which check if some method succeeds, but instead have a main method that start briar in a certain configuration. For example one of those entry points could start briar, create a temporary account with a fixed password with the database stored at an appropriate temporary directory and sets up 10 or so fake testing contacts. That will make it very easy to experiment with changes made to the UI. (See #59)Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/48Theming2021-12-06T14:25:33ZMikolai GütschowThemingComment by @paul-lorenc in the chat:
> I did a bit of research into material design, we can refactor our existing color “system” into a proper MaterialTheme which will automatically theme all the material composables. This also allows u...Comment by @paul-lorenc in the chat:
> I did a bit of research into material design, we can refactor our existing color “system” into a proper MaterialTheme which will automatically theme all the material composables. This also allows us to tweak the material composables’ colors, typography, and shape (while sticking to the main material design principles).
https://developer.android.com/jetpack/compose/themes
>
> Using `MaterialTheme` will also allow us to easily implement light/dark mode toggling.Desktop 0.1.0https://code.briarproject.org/briar/briar-desktop/-/issues/40Don't use setPosixFilePermissions on Windows2021-12-06T14:25:32ZNicoDon't use setPosixFilePermissions on WindowsWhen starting Briar Desktop on Windows, it immediately fails with the following error because we can't use Posix-style file permissions on Windows. See [MainKt.getDataDir()](https://code.briarproject.org/briar/briar-desktop/-/blob/8ae330...When starting Briar Desktop on Windows, it immediately fails with the following error because we can't use Posix-style file permissions on Windows. See [MainKt.getDataDir()](https://code.briarproject.org/briar/briar-desktop/-/blob/8ae330cd43ec62deef668c0dd6aadbb9efaba1bc/src/main/kotlin/org/briarproject/briar/desktop/Main.kt#L81).
```
C:\Users\Test\.jdks\azul-15.0.4\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\lib\idea_rt.jar=63021:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Test\Documents\briar-desktop\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\build\classes\kotlin\main;C:\Users\Test\Documents\briar-desktop\build\tmp\kapt3\classes\main;C:\Users\Test\Documents\briar-desktop\build\resources\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-2.1.1-SNAPSHOT-briar.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-gpl-2.1.1-SNAPSHOT.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\jssc-0.9-briar.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.5.10\3f4af7aff21c4ec46e3cdd645639d0a63a68d3d0\kotlin-stdlib-jdk8-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.10.0\1127c9cf62f2bb3121a3a2a0a1351d251a602117\jackson-databind-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.github.ajalt\clikt\2.2.0\a7e7b9b278a6e83cc2d9f2cf0db93dff9a93d8f5\clikt-2.2.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.5.10\c49d0703d16c6cb1526cc07b9b46486da1dd8a60\kotlin-stdlib-jdk7-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.5.10\da6a904b132f0402fa4d79169a3c1770598d4702\kotlin-stdlib-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.10.0\e01cfd93b80d6773b3f757c78e756c9755b47b81\jackson-annotations-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.10.0\4e2c5fa04648ec9772c63e2101c53af6504e624e\jackson-core-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-extended-desktop\0.4.0\58fb0b18c77a2dde55fa8c749c436d424a220203\material-icons-extended-desktop-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome\1.15.0\d3614542b857eccc0555d1ee8dfc36d2043d9c1f\rome-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jdom\jdom2\2.0.6\6f14738ec2e9dd0011e343717fa624a10f8aab64\jdom2-2.0.6.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.12.13\528e024f340da35cca5d679b631da85d8db9ed\okhttp-3.12.13.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jsoup\jsoup\1.13.1\f9577f3732bb7caa4fee8aba5053158f4010c118\jsoup-1.13.1.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform\4.5.2\741853c07152f6c0fef5194efa6b2dabac22e9c0\jna-platform-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\4.5.2\35d000afbaa4ed425d91873b40f4df9b8236875b\jna-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.5.10\6b84d926e28493be69daf673e40076f89492ef7\kotlin-stdlib-common-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.desktop\desktop-jvm\0.4.0\58115d964397bd97025cd13a79a055b61194093b\desktop-jvm-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome-utils\1.15.0\ab1cb95382bf9a8dec81165d328bcbbf1acfb3ae\rome-utils-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.16\3a6274f658487d5bfff9af3862beff6da1e7fd52\slf4j-api-1.7.16.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okio\okio\1.15.0\bc28b5a964c8f5721eb58ee3f3c47a9bcbf4f4d8\okio-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.madgag.spongycastle\core\1.58.0.0\e08789f8f1e74f155db8b69c3575b5cb213c156c\core-1.58.0.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.h2database\h2\1.4.192\1106492605db135523d2817881cdf029d9292afa\h2-1.4.192.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.bitlet\weupnp\0.1.4\b99cd791ede89b7c17426e6c51a0f171dc925def\weupnp-0.1.4.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.2.0\856a92559c4daf744cb27c93cd8b7eb1f8c4780\eddsa-0.2.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.whispersystems\curve25519-java\0.5.0\787dab46ed8e6f8adf9bbbb945145d503b7f181a\curve25519-java-0.5.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.briarproject\jtorctl\0.3\83622828c5457584d5c1e0a89d893fd3844fd7f5\jtorctl-0.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-core-desktop\0.4.0\510ee3df8a1fde982a99a40a09d2f39098b47c72\material-icons-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.dagger\dagger\2.33\7ac2b51c8cf8e2c1a30fa74b917629c60ae2405d\dagger-2.33.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.2\25ea2e8b0c338a877313bd4672d3fe056ea78f0d\jsr305-3.0.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-desktop\0.4.0\210d13a67c94912e31240eea347b3704e2b6651a\material-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-desktop\0.4.0\ab89b6280cadc4866cafe42ec43ab40faccfcc30\foundation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-desktop\0.4.0\8533de36dc9107fa4e57f377ba147cfc17cba850\ui-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-desktop\0.4.0\2452d00191f736d58f2fa50dd1821623adbaefd9\runtime-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\javax.inject\javax.inject\1\6975da39a7040257bd51d21a231b76c915872d38\javax.inject-1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-swing\1.4.3\9da350dc1f729955e20f1f3b45dd14c3c9aa1eeb\kotlinx-coroutines-swing-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-ripple-desktop\0.4.0\e2ccee827f2082402b5111368192fcfb579a97f3\material-ripple-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-core-desktop\0.4.0\d838af1fd2a80d1664ffc073df89463023fb6d4b\animation-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-text-desktop\0.4.0\3a8d29230c7565cd98728f2a1bbfc33d97cd12a5\ui-text-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-desktop\0.4.0\af2e490608e458a20c8d51ba602ff6a6e25d7e61\animation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-saveable-desktop\0.4.0\c6c172bc8c57ca718e37858b8d5baf70c9ae5268\runtime-saveable-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-graphics-desktop\0.4.0\428dc38b14978b3fed6a9f1756af36b34baad76e\ui-graphics-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-unit-desktop\0.4.0\41ff9a8c171b9136f06eff80635a2330a6086727\ui-unit-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-geometry-desktop\0.4.0\261a169b4e2816397d8c4e22e63a2d590f99210a\ui-geometry-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-core-jvm\1.4.3\1051e11eb789ed1df93412bebe0f06e9d29160e4\kotlinx-coroutines-core-jvm-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm\0.3.1\3b01e23f3c72d27d8b85836f0ab81eb32ccb67f5\skiko-jvm-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-layout-desktop\0.4.0\dbd71e8c3b90e859b0ca3b7b1e75091033f20960\foundation-layout-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm-runtime-windows-x64\0.3.1\42406736546c8404a1a330a88c5d6b815ddae4e6\skiko-jvm-runtime-windows-x64-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-util-desktop\0.4.0\6de31edde97babd7339e67bb1b82ebff1a805e9c\ui-util-desktop-0.4.0.jar org.briarproject.briar.desktop.MainKt --debug
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2158)
at org.briarproject.briar.desktop.Main.getDataDir(Main.kt:81)
at org.briarproject.briar.desktop.Main.access$getDataDir(Main.kt:28)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:57)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:48)
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.ComposerKt.invokeComposable(Composer.kt:3320)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2567)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotState.kt:523)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2560)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:2515)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:476)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:726)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:432)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:171)
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)
Process finished with exit code 1
```
Sub-issue of #31.Desktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/51Update Briar core to 1.3.82021-12-06T14:25:32ZNicoUpdate Briar core to 1.3.8https://chat.briarproject.org/briar/pl/qifnqiks4tft38gpyw7jmxa97whttps://chat.briarproject.org/briar/pl/qifnqiks4tft38gpyw7jmxa97wDesktop 0.1.0https://code.briarproject.org/briar/briar-desktop/-/issues/55Display correct avatar in chat top bar2021-12-06T14:25:32ZSebastianDisplay correct avatar in chat top barDesktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/54Display correct avatar in contact list2021-12-06T14:25:32ZSebastianDisplay correct avatar in contact listDesktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/53Display correct timestamp in message bubbles2021-12-06T14:25:32ZSebastianDisplay correct timestamp in message bubblesDesktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/76Add some non-gibberish testing data contacts and conversations2021-12-06T14:25:32ZSebastianAdd some non-gibberish testing data contacts and conversationsDesktop 0.1.0SebastianSebastian