briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:23Zhttps://code.briarproject.org/briar/briar/-/issues/520Update wiki page for messaging client2018-06-12T11:32:23ZakwizgranUpdate wiki page for messaging clientThe description on the wiki should be brought into line with the current implementation.The description on the wiki should be brought into line with the current implementation.https://code.briarproject.org/briar/briar/-/issues/521Update wiki pages for forum client and forum sharing client2018-06-12T11:32:23ZakwizgranUpdate wiki pages for forum client and forum sharing clientThe description on the wiki should be brought into line with the current implementation.The description on the wiki should be brought into line with the current implementation.https://code.briarproject.org/briar/briar/-/issues/522Update wiki pages for blog client and blog sharing client2018-06-12T11:32:23ZakwizgranUpdate wiki pages for blog client and blog sharing clientThe description on the wiki should be brought into line with the current implementation.The description on the wiki should be brought into line with the current implementation.https://code.briarproject.org/briar/briar/-/issues/523Update wiki page for introduction client2018-06-12T11:32:23ZakwizgranUpdate wiki page for introduction clientThe description on the wiki should be brought into line with the current implementation.The description on the wiki should be brought into line with the current implementation.https://code.briarproject.org/briar/briar/-/issues/524Check that ACRA is catching all uncaught exceptions2018-06-12T11:32:23ZakwizgranCheck that ACRA is catching all uncaught exceptionsWe've had two reports recently of crashes that don't seem to have been caught by ACRA. @ernir reported a crash in #516 where the background service disappeared (possibly killed by the OS due to resource limits) without the crash report d...We've had two reports recently of crashes that don't seem to have been caught by ACRA. @ernir reported a crash in #516 where the background service disappeared (possibly killed by the OS due to resource limits) without the crash report dialog appearing, and @grote reported that an IllegalArgumentException on a background thread caused by a blog post exceeding MAX_BODY_LENGTH caused a crash without a stacktrace.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/526Collapsing the replies to a forum post leaves some replies visible2018-06-12T11:32:23ZakwizgranCollapsing the replies to a forum post leaves some replies visibleFound another bug with forum threads while investigating #516. I started by creating five top-level posts, with four nested replies to each post. Before creating the replies to the last top-level post, I collapsed the replies to the prev...Found another bug with forum threads while investigating #516. I started by creating five top-level posts, with four nested replies to each post. Before creating the replies to the last top-level post, I collapsed the replies to the previous top-level post. Some of the replies were left visible at the bottom of the view, below the last top-level post (see screenshot).
Expanding and collapsing the top-level post did not solve the issue.
![device-2016-07-27-121016](/uploads/4994fadf4bdf4725a8f8227e84a875f2/device-2016-07-27-121016.png)Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/527NPE when traversing message tree2018-06-12T11:32:23ZakwizgranNPE when traversing message treeThe HTC Wildfire S crashed with this exception while investigating #516. The crash occurred after receiving new forum posts. After the first 40 posts arrived I touched the notification to navigate to the forum, then used the back button ...The HTC Wildfire S crashed with this exception while investigating #516. The crash occurred after receiving new forum posts. After the first 40 posts arrived I touched the notification to navigate to the forum, then used the back button to leave. When the remaining posts arrived, the notification was shown again. I touched it again to navigate to the forum and the following crash occurred:
```
07-27 12:32:08.284 998-15469/? E/ACRA: ACRA caught a NullPointerException for org.briarproject
java.lang.NullPointerException
at org.briarproject.clients.MessageTreeImpl.traverse(MessageTreeImpl.java:63)
at org.briarproject.clients.MessageTreeImpl.depthFirstOrder(MessageTreeImpl.java:72)
at org.briarproject.android.forum.ForumPersistentData.getHeaders(ForumPersistentData.java:54)
at org.briarproject.android.forum.ForumControllerImpl.getForumEntries(ForumControllerImpl.java:243)
at org.briarproject.android.forum.ForumControllerImpl$1.run(ForumControllerImpl.java:107)
at org.briarproject.android.controller.DbControllerImpl$1.run(DbControllerImpl.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1027)
```Milestone Ehttps://code.briarproject.org/briar/briar/-/issues/528NPE when saving instance state of ForumActivity2018-06-12T11:32:23ZakwizgranNPE when saving instance state of ForumActivityImmediately after the crash documented in #527, another crash occurred without any user interaction.
```
07-27 12:32:21.664 15493-15493/? E/ACRA: ACRA caught a RuntimeException for org.briarproject
java.lang.RuntimeException: Unable...Immediately after the crash documented in #527, another crash occurred without any user interaction.
```
07-27 12:32:21.664 15493-15493/? E/ACRA: ACRA caught a RuntimeException for org.briarproject
java.lang.RuntimeException: Unable to pause activity {org.briarproject/org.briarproject.android.forum.ForumActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2731)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2678)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2651)
at android.app.ActivityThread.access$1700(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1045)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4268)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.briarproject.android.forum.ForumActivity$ForumAdapter.access$100(ForumActivity.java:371)
at org.briarproject.android.forum.ForumActivity.onSaveInstanceState(ForumActivity.java:157)
at android.app.Activity.performSaveInstanceState(Activity.java:1088)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1317)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2703)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2678)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2651)
at android.app.ActivityThread.access$1700(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1045)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4268)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
```
Milestone Dakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/530Notification icons are invisible in notification drawer on Android 2.3.32018-06-12T11:32:23ZakwizgranNotification icons are invisible in notification drawer on Android 2.3.3The notification icons use a white foreground and a transparent background. The notification drawer on the HTC Wildfire S (Android 2.3.3) shows the icons against a white background, so they're invisible. Other apps appear to use a black ...The notification icons use a white foreground and a transparent background. The notification drawer on the HTC Wildfire S (Android 2.3.3) shows the icons against a white background, so they're invisible. Other apps appear to use a black background rather than transparent.https://code.briarproject.org/briar/briar/-/issues/531Unread forum post counter is not always updated when returning to forum list2018-06-12T11:32:23ZakwizgranUnread forum post counter is not always updated when returning to forum listWhen returning from a forum to the forum list using the back button, the forum's unread post counter is not always updated. The counter can be forced to updated by rotating the screen.When returning from a forum to the forum list using the back button, the forum's unread post counter is not always updated. The counter can be forced to updated by rotating the screen.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/532Unread forum post counter is attached to wrong forum2018-06-12T11:32:23ZakwizgranUnread forum post counter is attached to wrong forumAfter creating a forum, adding some posts and returning to the forum list, the forum's unread post counter is a duplicate of a previously existing forum's counter. The counter shows a number of unread posts that's larger than the number ...After creating a forum, adding some posts and returning to the forum list, the forum's unread post counter is a duplicate of a previously existing forum's counter. The counter shows a number of unread posts that's larger than the number of posts in the new forum (see screenshot).
![device-2016-07-27-135546](/uploads/274ace47f01cd27b4fa66a9360923ce8/device-2016-07-27-135546.png)Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/533Explain why forum can't be shared with contact2018-06-12T11:32:22ZakwizgranExplain why forum can't be shared with contactWhen sharing a forum, contacts who already belong to the forum are greyed out in the contact chooser, but there's no explanation of why they can't be selected. Add an explanation.When sharing a forum, contacts who already belong to the forum are greyed out in the contact chooser, but there's no explanation of why they can't be selected. Add an explanation.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/534Contacts are not properly greyed out on older Android versions2018-06-12T11:32:22ZakwizgranContacts are not properly greyed out on older Android versionsWhen sharing a forum, contacts who already belong to the forum are greyed out in the contact chooser. On newer Android versions (tested on Android 5.1), the avatar, contact name and checkbox all have a light grey fade. On older versions ...When sharing a forum, contacts who already belong to the forum are greyed out in the contact chooser. On newer Android versions (tested on Android 5.1), the avatar, contact name and checkbox all have a light grey fade. On older versions (tested on Android 2.3.3), the avatar has a dark grey fade, the contact name does not appear to be faded, and the checkbox has a light grey fade. It's not obvious that the item is meant to be disabled - it looks like the avatar is just discoloured.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/535FormatException when loading contact list after receiving invitation2018-06-12T11:32:22ZakwizgranFormatException when loading contact list after receiving invitationThe following exception was logged when a forum invitation was received. The same forum had previously been shared by the same contact, accepted, and left.
```
07-27 13:57:48.047 1084-1144/org.briarproject I/InviteeEngine: Received I...The following exception was logged when a forum invitation was received. The same forum had previously been shared by the same contact, accepted, and left.
```
07-27 13:57:48.047 1084-1144/org.briarproject I/InviteeEngine: Received INVITE in state AWAIT_INVITATION with session ID 1124035826 in group 1505195939. Moving on to state AWAIT_LOCAL_RESPONSE
07-27 13:57:48.257 1084-1144/org.briarproject I/ContactListFragment: Message added, reloading
07-27 13:57:48.267 1084-1144/org.briarproject I/ContactListFragment: Message added, reloading
07-27 13:57:48.297 1084-1144/org.briarproject W/ContactListFragment: org.briarproject.api.db.DbException: org.briarproject.api.FormatException
org.briarproject.api.db.DbException: org.briarproject.api.FormatException
at org.briarproject.messaging.MessagingManagerImpl.getContactId(MessagingManagerImpl.java:132)
at org.briarproject.android.contact.ContactListFragment$4.run(ContactListFragment.java:278)
at org.briarproject.android.controller.DbControllerImpl$1.run(DbControllerImpl.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1027)
Caused by: org.briarproject.api.FormatException
at org.briarproject.api.data.BdfDictionary.getLong(BdfDictionary.java:62)
at org.briarproject.messaging.MessagingManagerImpl.getContactId(MessagingManagerImpl.java:130)
at org.briarproject.android.contact.ContactListFragment$4.run(ContactListFragment.java:278)
at org.briarproject.android.controller.DbControllerImpl$1.run(DbControllerImpl.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1027)
```
Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/536ClassNotFoundException after cancelling crash report2018-06-12T11:32:22ZakwizgranClassNotFoundException after cancelling crash reportAfter cancelling the crash report dialog for the crash recorded in https://code.briarproject.org/akwizgran/briar/issues/443#note_9088, the following crash occurred without further user interaction on Android 2.3.3:
```
07-27 14:22:22...After cancelling the crash report dialog for the crash recorded in https://code.briarproject.org/akwizgran/briar/issues/443#note_9088, the following crash occurred without further user interaction on Android 2.3.3:
```
07-27 14:22:22.237 26979-26979/org.briarproject E/Parcel: Class not found when unmarshalling: android.support.v7.widget.RecyclerView$SavedState, e: java.lang.ClassNotFoundException: android.support.v7.widget.RecyclerView$SavedState
07-27 14:22:22.237 26979-26979/org.briarproject W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x400205a0)
07-27 14:22:22.257 26979-26979/org.briarproject E/ACRA: ACRA caught a RuntimeException for org.briarproject
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject/org.briarproject.android.NavDrawerActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1821)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
at android.app.ActivityThread.access$1500(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4268)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:174)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:192)
at android.view.View.dispatchRestoreInstanceState(View.java:6325)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1297)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1301)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1301)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1301)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1301)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1301)
at android.view.View.restoreHierarchyState(View.java:6304)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1558)
at android.app.Activity.onRestoreInstanceState(Activity.java:882)
at android.app.Activity.performRestoreInstanceState(Activity.java:854)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1162)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1799)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
at android.app.ActivityThread.access$1500(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4268)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
```
Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/538Recipient of forum posts offers them back to sender2018-12-19T12:22:56ZakwizgranRecipient of forum posts offers them back to senderWhen syncing forum posts between two devices, the recipient offers each post back to the sender after it is delivered to the client. This causes unnecessary traffic between the two devices. The sync layer should know that the sender has ...When syncing forum posts between two devices, the recipient offers each post back to the sender after it is delivered to the client. This causes unnecessary traffic between the two devices. The sync layer should know that the sender has seen the post and therefore should not offer it.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/539New forum post notification reappears after visiting forum2017-10-10T09:16:00ZakwizgranNew forum post notification reappears after visiting forumWhen the new forum post notification shows posts in multiple forums, touching the notification dismisses it, as expected. (Touching the notification leads to the contact list rather than the forum list, but that's probably adequately cov...When the new forum post notification shows posts in multiple forums, touching the notification dismisses it, as expected. (Touching the notification leads to the contact list rather than the forum list, but that's probably adequately covered by #289 already.) When one of the forums is then visited, the notification reappears, showing the new posts in the remaining forums.
(This bug was already marked as a FIXME in AndroidNotificationManagerImpl.)Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/541Allow retransmission if it will result in faster delivery2018-09-18T17:04:01ZakwizgranAllow retransmission if it will result in faster deliveryEach time a message is sent to a contact, the message's send time is updated based on the maximum latency of the transport, and the message cannot be sent to the contact again until the send time is reached. This prevents messages from b...Each time a message is sent to a contact, the message's send time is updated based on the maximum latency of the transport, and the message cannot be sent to the contact again until the send time is reached. This prevents messages from being retransmitted unnecessarily while they're still in transit. However, if a message is in transit over a high-latency transport, it may be desirable to allow it to be retransmitted over a low-latency transport to allow faster delivery.
Instead of comparing the send time to the current time, it should be compared to the expected delivery time over the current transport. The current time plus the maximum latency of the current transport can be used as a first estimate of the expected delivery time; we can get clever with round-trip time measurements later.Mailbox PrototypeJulian DehmJulian Dehmhttps://code.briarproject.org/briar/briar/-/issues/542Don't poll for retransmission2018-03-08T15:59:11ZakwizgranDon't poll for retransmissionOutgoing sync sessions poll the database periodically for messages that have reached their send times and can be sent or offered again. This requires a thread to wake up periodically for each open session, even when there's nothing to se...Outgoing sync sessions poll the database periodically for messages that have reached their send times and can be sent or offered again. This requires a thread to wake up periodically for each open session, even when there's nothing to send.
The sync layer should keep track of the earliest send time of any message in the DB, and either broadcast an event when the send time is reached or provide a method that blocks until the earliest send time is reached.
Related to #44.Android Beta 2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/543Flicker when forum invitation is removed from list2018-06-12T11:32:22ZakwizgranFlicker when forum invitation is removed from listAfter accepting a forum invitation, there is a noticeable flicker when the list of invitations is redrawn.After accepting a forum invitation, there is a noticeable flicker when the list of invitations is redrawn.Milestone DTorsten GroteTorsten Grote