briar issueshttps://code.briarproject.org/briar/briar/-/issues2022-10-27T20:05:25Zhttps://code.briarproject.org/briar/briar/-/issues/329BTP header is not bound to stream number2022-10-27T20:05:25ZakwizgranBTP header is not bound to stream numberThe BTP tag depends on the stream number, but the header does not, so streams using the same tag and header keys could have their tags swapped without detection. This could be used to distinguish BTP from other protocols.The BTP tag depends on the stream number, but the header does not, so streams using the same tag and header keys could have their tags swapped without detection. This could be used to distinguish BTP from other protocols.Milestone Eakwizgranakwizgranhttps://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/685IllegalArgumentException: String is shorter than TEASER_LENGTH2018-12-19T12:22:43ZakwizgranIllegalArgumentException: String is shorter than TEASER_LENGTH```
09-29 14:47:30.602 16471-16471/? E/ACRA: ACRA caught a IllegalArgumentException for org.briarproject
java.lang.IllegalArgumentException: String is shorter than TEASER_LENGTH
at org.briarproject.android.util.AndroidUtils.getTe...```
09-29 14:47:30.602 16471-16471/? E/ACRA: ACRA caught a IllegalArgumentException for org.briarproject
java.lang.IllegalArgumentException: String is shorter than TEASER_LENGTH
at org.briarproject.android.util.AndroidUtils.getTeaser(AndroidUtils.java:130)
at org.briarproject.android.blogs.BlogPostViewHolder.bindItem(BlogPostViewHolder.java:122)
at org.briarproject.android.blogs.BlogPostAdapter.onBindViewHolder(BlogPostAdapter.java:73)
at org.briarproject.android.blogs.BlogPostAdapter.onBindViewHolder(BlogPostAdapter.java:14)
```
The crash is caused by checking the length of the text before spanning, then passing in the spanned text, which is apparently shorter. Should be an easy fix.Milestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/92Emoticons2018-06-12T11:32:39ZakwizgranEmoticonsSeveral users asked for emoticons. We may be able to use the same emoji pack as ChatSecure:
https://play.google.com/store/apps/details?id=info.guardianproject.chatsecure.emoji.core
https://github.com/Genshin/PhantomOpenEmoji
Several users asked for emoticons. We may be able to use the same emoji pack as ChatSecure:
https://play.google.com/store/apps/details?id=info.guardianproject.chatsecure.emoji.core
https://github.com/Genshin/PhantomOpenEmoji
Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/127Private groups2018-06-12T11:32:38ZakwizgranPrivate groupsUsers should be able to create private groups to have confidential conversations among a known set of identities. This will be a new top-level section in the UI, separate from forums.
Users should be able to create private groups to have confidential conversations among a known set of identities. This will be a new top-level section in the UI, separate from forums.
Milestone Ehttps://code.briarproject.org/briar/briar/-/issues/245Create constants for keys used to store extras in intents2018-06-12T11:32:33ZakwizgranCreate constants for keys used to store extras in intents> @ernir: We really should make constants for all of these keys, I don't want to spend any time debugging in the future because of a spelling error...> @ernir: We really should make constants for all of these keys, I don't want to spend any time debugging in the future because of a spelling error...Milestone Ehttps://code.briarproject.org/briar/briar/-/issues/309Client layer events for messaging2018-06-12T11:32:30ZakwizgranClient layer events for messagingThe messaging UI currently depends on sync-layer events such as MessageStateChangedEvent. The messaging client should broadcast its own high-level events with the information the UI needs.
Related to #289.The messaging UI currently depends on sync-layer events such as MessageStateChangedEvent. The messaging client should broadcast its own high-level events with the information the UI needs.
Related to #289.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/350Contact list still showed unread message after message had been read2018-06-12T11:32:29ZakwizgranContact list still showed unread message after message had been readA tester got an unread message notification, switched directly to the converstion, read the message, switched to the contact screen, and there was still an unread message indicator next to the contact's name.
This may be a race condit...A tester got an unread message notification, switched directly to the converstion, read the message, switched to the contact screen, and there was still an unread message indicator next to the contact's name.
This may be a race condition between messages being marked as read and the contact list loading the message headers.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/357Introduction feature is not very visible2018-06-12T11:32:28ZakwizgranIntroduction feature is not very visibleTesters could not easily discover the introduction feature.Testers could not easily discover the introduction feature.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/358Testers did not understand introductions2018-06-12T11:32:28ZakwizgranTesters did not understand introductionsThe testing report says that the feature could be explained better.The testing report says that the feature could be explained better.Milestone Ehttps://code.briarproject.org/briar/briar/-/issues/373Slow Contact list2018-06-12T11:32:28ZErnir ErlingssonSlow Contact listSamsung Galaxy Note 4 (fast device) is taking 4-5 seconds to load the Contact list the first time, with 8+ contacts with a couple of days worth of conversations.Samsung Galaxy Note 4 (fast device) is taking 4-5 seconds to load the Contact list the first time, with 8+ contacts with a couple of days worth of conversations.Milestone ETorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/443IndexOutOfBoundsException when new forum post arrives2018-06-12T11:32:25ZakwizgranIndexOutOfBoundsException when new forum post arrives```
06-22 13:45:53.617 2242-2242/? E/ACRA: ACRA caught a IndexOutOfBoundsException for org.briarproject
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{41a8c898 position=4 i...```
06-22 13:45:53.617 2242-2242/? E/ACRA: ACRA caught a IndexOutOfBoundsException for org.briarproject
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{41a8c898 position=4 id=-1, oldPos=3, pLpos:3 scrap [attachedScrap] tmpDetached no parent}
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:4487)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4618)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4599)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1988)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1384)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1347)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:2954)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2879)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3265)
at android.view.View.layout(View.java:11390)
```Milestone Ehttps://code.briarproject.org/briar/briar/-/issues/462Development of a consistent onboarding strategy2018-06-12T11:32:25ZMegaloxDevelopment of a consistent onboarding strategyBecause of its serverless nature briar is different than other messaging/forum/blog apps. These differences need to be explained to the user.
A contextual onboarding has to be developed to help the user understand some of the features...Because of its serverless nature briar is different than other messaging/forum/blog apps. These differences need to be explained to the user.
A contextual onboarding has to be developed to help the user understand some of the features and peculiarities of the briar app.
Contextual onboarding is shown once a certain feature becomes relevant or a screen is shown the first time. In some cases it could be helpful to offer an option to reopen the onboarding again. This could be realised via infoicon (app bar).
This is an (incomplete) list of features which require onboarding (Please feel free to add points):
- Account is stored on device, password can't be recovered (current solution: explanation is shown in setup screen)
- Finding the contact screen (#344)
- Prompt to add first contact (current solution: dialog the first time the user signs in, empty state of contact list)
- Prompt to create first forum (current solution: empty state of forum list)
- Prompt to write first forum post (current solution: empty state of forum)
- Prompt to write first blog post (current solution: empty state of blog feed)
- Panic button settings (first time open, reopenable) (#349)
- Introduction feature (as soon as the user made her second contact) (#357, #358)
- Transports/connections
- Verification status indicators (first time a v.s.i. appears)
- Add contact via QR-code:
- One-on-one restriction (first time open, reopenable) (#348)
- Face-to-face restriction (current solution: explanation is shown in add contact screen, empty state of contact list) (#429)
- Connection failures (#71)
- Privacy properties of the app (#86, #315)Milestone Ehttps://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/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/551IllegalStateException, SettingsFragment not attached to Activity2018-06-12T11:32:22ZakwizgranIllegalStateException, SettingsFragment not attached to ActivityGot this crash several times on the HTC Wildfire S (Android 2.3.3) while navigating in and out of the settings screen:
```
07-29 17:21:52.726 19626-19626/org.briarproject E/ACRA: ACRA caught a IllegalStateException for org.briarproje...Got this crash several times on the HTC Wildfire S (Android 2.3.3) while navigating in and out of the settings screen:
```
07-29 17:21:52.726 19626-19626/org.briarproject E/ACRA: ACRA caught a IllegalStateException for org.briarproject
java.lang.IllegalStateException: Fragment SettingsFragment{40ca1ca8} not attached to Activity
at android.support.v4.app.Fragment.getResources(Fragment.java:636)
at android.support.v4.app.Fragment.getString(Fragment.java:658)
at org.briarproject.android.fragment.SettingsFragment$4.run(SettingsFragment.java:210)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
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 Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/552Check thread safety of MessageTree2018-06-12T11:32:22ZakwizgranCheck thread safety of MessageTreeMilestone Ehttps://code.briarproject.org/briar/briar/-/issues/554Audit uses of ResultHandler2018-06-12T11:32:22ZakwizgranAudit uses of ResultHandler* Controllers should depend on ResultHandler/ResultExceptionHandler, not UiResultHandler/UiResultExceptionHandler, to allow us to use synchronous handlers when unit testing controllers
* Handlers shouldn't return true if everything went...* Controllers should depend on ResultHandler/ResultExceptionHandler, not UiResultHandler/UiResultExceptionHandler, to allow us to use synchronous handlers when unit testing controllers
* Handlers shouldn't return true if everything went fine or false if there was an exception - use ResultExceptionHandler if the UI needs to know about failures, and ResultExceptionHandler\<Void\> if it doesn'tMilestone Eakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/556Thread safety and blocking issues in ForumControllerImpl2018-06-12T11:32:22ZakwizgranThread safety and blocking issues in ForumControllerImplMilestone E