briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-12-06T14:25:09Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/86Fix position of non-rounded corners of messages bubbles2021-12-06T14:25:09ZSebastianFix position of non-rounded corners of messages bubblesDesktop 0.1.0https://code.briarproject.org/briar/briar-desktop/-/issues/85OutOfMemoryError: Metaspace2021-12-06T14:25:09ZSebastianOutOfMemoryError: MetaspaceSometimes during `kaptGenerateStubsKotlin` I'm getting this error:
```
e: java.lang.OutOfMemoryError: Metaspace
```
even though I have a lot of system memory available and free.Sometimes during `kaptGenerateStubsKotlin` I'm getting this error:
```
e: java.lang.OutOfMemoryError: Metaspace
```
even though I have a lot of system memory available and free.Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/119[jar] SecurityException: Invalid signature file digest for Manifest main attr...2021-12-06T14:25:09ZNico[jar] SecurityException: Invalid signature file digest for Manifest main attributesWhen executing the .jar file (with the correct Java version, i.e., 15+), the following error appears. This comes from signatures of daughter .jar files we're shipping, if I understand it correctly, and can be solved by simply stripping t...When executing the .jar file (with the correct Java version, i.e., 15+), the following error appears. This comes from signatures of daughter .jar files we're shipping, if I understand it correctly, and can be solved by simply stripping those signatures. I already have a commit for this, MR incoming...
I don't think it's a problem to strip the signatures, as we already verify the dependencies integrity with gradle-witness. Once we publish "real" .jar files, we should sign them somehow, though.
```
➜ /tmp cd jdk-17.0.1
➜ jdk-17.0.1 cd bin
➜ bin ./java -jar /home/briar/Documents/briar-desktop/build/compose/jars/Briar-linux-x64-0.0.1.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at java.base/sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:340)
at java.base/sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:282)
at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:277)
at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:234)
at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:762)
at java.base/java.util.jar.JarFile.ensureInitialization(JarFile.java:1033)
at java.base/java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:72)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:883)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:848)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:780)
```Desktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/105Use upstream ConversationMessageToBeSentEvent2021-12-06T14:25:08ZSebastianUse upstream ConversationMessageToBeSentEventOnce briar!1541 is merged, remove our own `ConversationMessageToBeSentEvent`Once briar!1541 is merged, remove our own `ConversationMessageToBeSentEvent`Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/106Hitting Send on whitespace-only message clears the input2021-12-06T14:25:08ZSebastianHitting Send on whitespace-only message clears the inputDesktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/79Create milestones for PTF work2021-12-06T14:25:08ZNicoCreate milestones for PTF workWhat 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.0https://code.briarproject.org/briar/briar/-/issues/781Use H2's small build target2021-12-03T14:26:41ZakwizgranUse H2's small build targetH2 provides a 'jarSmall' build target that produces a smaller jar containing fewer optional features and resources. The smaller jar includes everything we need, and would reduce our APK size by around 500 k. Unfortunately it's not availa...H2 provides a 'jarSmall' build target that produces a smaller jar containing fewer optional features and resources. The smaller jar includes everything we need, and would reduce our APK size by around 500 k. Unfortunately it's not available from JCenter.
Removing the unneeded features and resources with ProGuard isn't simple, as most of the savings come from resources in a zip file embedded in the jar.https://code.briarproject.org/briar/briar/-/issues/2220GroupCount contains wrong timestamp for test data2021-12-03T12:17:34ZMikolai GütschowGroupCount contains wrong timestamp for test dataRoot cause of https://code.briarproject.org/briar/briar-desktop/-/issues/103
The `conversationManager.getGroupCount()` always returns a group count with the current time as timestamp, even if the newest message is generated as being sen...Root cause of https://code.briarproject.org/briar/briar-desktop/-/issues/103
The `conversationManager.getGroupCount()` always returns a group count with the current time as timestamp, even if the newest message is generated as being sent/received in the past.
This can be reproduced by changing line 344 of `TestDataCreatorImpl.java` as follows:
```diff
- long timestamp = clock.currentTimeMillis() - num * 60 * 1000;
+ long timestamp = clock.currentTimeMillis() - num * 60 * 1000 - 24 * 60 * 60 * 1000;
```
Starting the Android app and creating test data results in the following screens: The contact list shows "now" despite the last message being sent/received exactly one day ago.
![Screenshot_1636666735](/uploads/081efea134b2e86d257d8c9191cd56ef/Screenshot_1636666735.png)
![Screenshot_1636666744](/uploads/66d5406e095842458c2c014e15585ad9/Screenshot_1636666744.png)https://code.briarproject.org/briar/briar/-/issues/2237Pending contact list doesn't show "No internet connection" if list contains f...2021-12-01T10:43:02ZakwizgranPending contact list doesn't show "No internet connection" if list contains failed pending contactsIf the pending contact list contains a mixture of failed and not-failed pending contacts, the "No internet connection" snackbar isn't shown when the device is offline. If the failed pending contacts are removed, leaving only not-failed o...If the pending contact list contains a mixture of failed and not-failed pending contacts, the "No internet connection" snackbar isn't shown when the device is offline. If the failed pending contacts are removed, leaving only not-failed ones, the snackbar appears.https://code.briarproject.org/briar/briar/-/issues/2236Contact list doesn't scroll to top after adding contact2021-11-30T12:19:21ZakwizgranContact list doesn't scroll to top after adding contactA user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after re...A user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after returning from a private conversation. If messages have been sent or received in the conversation, moving it to the top of the list, then it may no longer be visible when returning to the contact list.https://code.briarproject.org/briar/briar/-/issues/2235"Contact deleted" toast is not shown2021-11-30T12:16:54Zakwizgran"Contact deleted" toast is not shownA user reported that the "contact deleted" toast was not shown after deleting a contact. (The pending contacts snackbar was visible, in case that's relevant.)A user reported that the "contact deleted" toast was not shown after deleting a contact. (The pending contacts snackbar was visible, in case that's relevant.)https://code.briarproject.org/briar/briar/-/issues/2145Timestamps in contact list aren't updated when returning from conversation sc...2021-11-25T17:30:01ZakwizgranTimestamps in contact list aren't updated when returning from conversation screenhttps://code.briarproject.org/briar/briar/-/issues/1805Briar pairing with mailbox2021-11-25T13:27:06ZakwizgranBriar pairing with mailboxDesign and implement UI and backend for pairing with a mailbox.
Depends on #1804.Design and implement UI and backend for pairing with a mailbox.
Depends on #1804.Mailbox: Pairing2022-10-31https://code.briarproject.org/briar/briar/-/issues/2169Store hidden service address and auth token for own mailbox in Briar DB2021-11-25T13:25:48ZakwizgranStore hidden service address and auth token for own mailbox in Briar DBMailbox: Pairingakwizgranakwizgran2021-11-15https://code.briarproject.org/briar/briar/-/issues/1806Manage mailbox connections2021-11-25T13:06:21ZakwizgranManage mailbox connectionsWrite backend code to manage connections to the user's own mailbox and contacts' mailboxes. These connections are at a different layer from those managed by the existing ConnectionManager so they probably need their own manager.Write backend code to manage connections to the user's own mailbox and contacts' mailboxes. These connections are at a different layer from those managed by the existing ConnectionManager so they probably need their own manager.Mailbox: Manage mailbox connections2022-10-31https://code.briarproject.org/briar/briar/-/issues/1003RSS feeds served by Cloudflare fail to import due to captcha page2021-11-24T17:04:00ZakwizgranRSS feeds served by Cloudflare fail to import due to captcha pageA user reported that the following feed fails to import: https://blog.fefe.de/rss.xml
A quick test confirms that there's no error message, but no posts appear. The RSS feed appears in the list of feeds, with the expected title. Maybe th...A user reported that the following feed fails to import: https://blog.fefe.de/rss.xml
A quick test confirms that there's no error message, but no posts appear. The RSS feed appears in the list of feeds, with the expected title. Maybe there's an issue with parsing the feed? The items have no dates.
(Note: The issue of feeds without dates has been moved to #1708.)https://code.briarproject.org/briar/briar/-/issues/2171Store time of last attempted and successful connections to own mailbox2021-11-22T11:10:48ZakwizgranStore time of last attempted and successful connections to own mailboxMailbox: Status UI for Briar appakwizgranakwizgran2021-11-29https://code.briarproject.org/briar/briar/-/issues/2223Improve cleanup after lifecycle startup errors2021-11-17T15:50:26ZakwizgranImprove cleanup after lifecycle startup errorsLifecycleManager#startServices() can return various error values. Currently the Android app doesn't call stopServices() unless startup succeeded, whereas the headless app calls stopServices() regardless.
If the system clock is unreasona...LifecycleManager#startServices() can return various error values. Currently the Android app doesn't call stopServices() unless startup succeeded, whereas the headless app calls stopServices() regardless.
If the system clock is unreasonable, LifecycleManagerImpl#startServices() doesn't release the startStopSemaphore before returning, so stopServices() will block indefinitely - but the semaphore is released in the case of other errors.
We should tidy all of this up so that either stopServices() doesn't need to be called if startup fails, or so that it can be called safely and without blocking indefinitely, and so that services and the DB have a clear contract for whether they will be started and/or stopped if an error happens.
Related to #2222.https://code.briarproject.org/briar/briar/-/issues/1442Use v3 hidden service for crash reports and feedback2021-11-17T13:38:12ZakwizgranUse v3 hidden service for crash reports and feedbackVersions of Briar that support v3 hidden services should use a v3 service for crash reports and feedback. The old service can be retired eventually when most users have upgraded.
Creating this here rather than in https://code.briarproje...Versions of Briar that support v3 hidden services should use a v3 service for crash reports and feedback. The old service can be retired eventually when most users have upgraded.
Creating this here rather than in https://code.briarproject.org/briar/admin because it requires some small code changes.https://code.briarproject.org/briar/briar/-/issues/2083Add eager mode to BSP spec2021-11-12T18:00:01ZakwizgranAdd eager mode to BSP specTransfer content securely via SD cards and USB memory sticks2021-07-31