briar issueshttps://code.briarproject.org/groups/briar/-/issues2018-06-12T11:32:27Zhttps://code.briarproject.org/briar/briar/-/issues/393Sort threaded messages2018-06-12T11:32:27ZakwizgranSort threaded messagesWrite code for sorting a forest of threaded messages:
* Roots in timestamp order
* Children below their parents
* Siblings in timestamp order
The input will be an unsorted collection of messages with parent pointers. The code mus...Write code for sorting a forest of threaded messages:
* Roots in timestamp order
* Children below their parents
* Siblings in timestamp order
The input will be an unsorted collection of messages with parent pointers. The code must not use more than O(n log n) time or space. Algorithms presumably exist already, find them!
Subtask of #122.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/392Use new metadata queries for forum client2018-06-12T11:32:27ZTorsten GroteUse new metadata queries for forum clientUse new queries introduced in !187.Use new queries introduced in !187.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/390Allow changing the password2018-06-12T11:32:27ZTorsten GroteAllow changing the passwordIt has been requested for it to be possible to change the initially chosen password.It has been requested for it to be possible to change the initially chosen password.Milestone Dhttps://code.briarproject.org/briar/briar/-/issues/389Crash on App restart/rotate2018-06-12T11:32:27ZErnir ErlingssonCrash on App restart/rotateBriar crashes on config changes, e.g. rotate, and when app is re-opened in the Navigation drawer. This is an unforeseen error due to #274 that was merged today.Briar crashes on config changes, e.g. rotate, and when app is re-opened in the Navigation drawer. This is an unforeseen error due to #274 that was merged today.https://code.briarproject.org/briar/briar/-/issues/387Allow to Unshare Forum2021-10-21T15:47:36ZTorsten GroteAllow to Unshare ForumWe switched the forum sharing paradigm from sharing as state to sharing as action and now there's no way to unshare a forum with someone without leaving the forum. I guess we can just misuse the LEAVE messages without actually leaving th...We switched the forum sharing paradigm from sharing as state to sharing as action and now there's no way to unshare a forum with someone without leaving the forum. I guess we can just misuse the LEAVE messages without actually leaving the forum, so we don't have to alter the protocol.
However, where in the UI do we allow to unshare a forum with someone?https://code.briarproject.org/briar/briar/-/issues/386NullPointerException when rotating screen2018-06-12T11:32:27ZTorsten GroteNullPointerException when rotating screenJust rotate the screen in the contact or forum list. This was probably caused by the recent merge of !130
```
05-11 12:43:23.935 22116-22116/org.briarproject E/ACRA: ACRA caught a RuntimeException for org.briarproject
...Just rotate the screen in the contact or forum list. This was probably caused by the recent merge of !130
```
05-11 12:43:23.935 22116-22116/org.briarproject E/ACRA: ACRA caught a RuntimeException for org.briarproject
java.lang.RuntimeException: Unable to resume activity {org.briarproject/org.briarproject.android.NavDrawerActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3576)
at android.app.ActivityThread.access$700(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4904)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.briarproject.android.contact.ContactListFragment.onResume(ContactListFragment.java:150)
at android.support.v4.app.Fragment.performResume(Fragment.java:2020)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1107)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1234)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:2056)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:196)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:505)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:494)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:174)
at android.app.Activity.performResume(Activity.java:5332)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2608)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3576)
at android.app.ActivityThread.access$700(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
```Milestone Chttps://code.briarproject.org/briar/briar/-/issues/385Add BQP support to the LAN plugin2018-06-12T11:32:27ZakwizgranAdd BQP support to the LAN pluginThis will allow us to work around Bluetooth issues when both devices are connected to the same LAN.This will allow us to work around Bluetooth issues when both devices are connected to the same LAN.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/383Database error after OS update2018-06-12T11:32:27ZErnir ErlingssonDatabase error after OS updateUpdated my device from 5.1.1 to 6.0.1 and Briar stopped working, I get a DB_ERROR in BriarService.java.
`
W/LifecycleManagerImpl: org.briarproject.api.db.DbException
org.briarproject.api.db.DbException
at org.briarproject.db.Jd...Updated my device from 5.1.1 to 6.0.1 and Briar stopped working, I get a DB_ERROR in BriarService.java.
`
W/LifecycleManagerImpl: org.briarproject.api.db.DbException
org.briarproject.api.db.DbException
at org.briarproject.db.JdbcDatabase.open(JdbcDatabase.java:256)
at org.briarproject.db.H2Database.open(H2Database.java:41)
at org.briarproject.db.DatabaseComponentImpl.open(DatabaseComponentImpl.java:106)
at org.briarproject.lifecycle.LifecycleManagerImpl.startServices(LifecycleManagerImpl.java:79)
at org.briarproject.android.BriarService$1.run(BriarService.java:94)
05-11 10:16:29.398 18637-19779/org.briarproject W/BriarService: Startup failed: DB_ERROR
`
https://code.briarproject.org/briar/briar/-/issues/382Deliver messages to incoming message hook after their dependencies2018-06-12T11:32:27ZakwizgranDeliver messages to incoming message hook after their dependenciesThe sync layer should keep track of each message's dependencies and deliver messages to the incoming message hook after their dependencies. If any dependency is invalid or in a different group, the message is invalid and should be delete...The sync layer should keep track of each message's dependencies and deliver messages to the incoming message hook after their dependencies. If any dependency is invalid or in a different group, the message is invalid and should be deleted.
Messages that are waiting for dependencies should not be visible to clients.
Subtask of #122.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/381Extract dependencies from messages in validation hook2018-06-12T11:32:27ZakwizgranExtract dependencies from messages in validation hookThe validation hook should return a list of dependencies to the validation manager.The validation hook should return a list of dependencies to the validation manager.Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/380Standard UI pattern for handling background errors2018-06-12T11:32:27ZakwizgranStandard UI pattern for handling background errorsVarious bits of the UI handle errors in background tasks in different ways - for example, by showing a toast, finishing the activity, or just logging the error. Come up with a standard pattern and apply it consistently, except where ther...Various bits of the UI handle errors in background tasks in different ways - for example, by showing a toast, finishing the activity, or just logging the error. Come up with a standard pattern and apply it consistently, except where there's a reason for making an exception.https://code.briarproject.org/briar/briar/-/issues/378Replace BDF data structures with classes in forum sharing client2018-06-12T11:32:28ZakwizgranReplace BDF data structures with classes in forum sharing clientThe forum sharing client uses BdfDictionary and BdfList for its internal data structures, rather than just for serialisation. This tends to push type checking from compile time to run time. Create classes to represent the protocol messag...The forum sharing client uses BdfDictionary and BdfList for its internal data structures, rather than just for serialisation. This tends to push type checking from compile time to run time. Create classes to represent the protocol messages and other internal state.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/375Extract ForumFactory from ForumManager2018-06-12T11:32:28ZakwizgranExtract ForumFactory from ForumManagerThe code for creating forums in ForumManager is used by ForumSharingManager and also needed by InviteeEngine. Extract it into its own class.The code for creating forums in ForumManager is used by ForumSharingManager and also needed by InviteeEngine. Extract it into its own class.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/374Add Forum Avatars to Available Forums List2018-06-12T11:32:28ZTorsten GroteAdd Forum Avatars to Available Forums ListAs soon as !172 and !178 have both been merged, the forum avatars should also be added to the Available Forums List.
As soon as !172 and !178 have both been merged, the forum avatars should also be added to the Available Forums List.
Milestone CTorsten GroteTorsten Grotehttps://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/372Clean up Introduction Session States when removing contact2018-06-12T11:32:28ZTorsten GroteClean up Introduction Session States when removing contactCurrently, when a contact is removed, any existing sessions will be aborted, but no session state messages are deleted from the local group.
Currently, when a contact is removed, any existing sessions will be aborted, but no session state messages are deleted from the local group.
Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/371Don't allow SessionId re-use in IntroductionClient2018-06-12T11:32:28ZTorsten GroteDon't allow SessionId re-use in IntroductionClientWhen an introducee received a message with type `TYPE_REQUEST` that re-uses an old `SessionId`, the introducee treats this as a new introduction.
Check for this to happen and if so, delete message without processing it.
Also add a test.When an introducee received a message with type `TYPE_REQUEST` that re-uses an old `SessionId`, the introducee treats this as a new introduction.
Check for this to happen and if so, delete message without processing it.
Also add a test.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/370Nav Drawer Activity doesn't remember selected Fragment2018-06-12T11:32:28ZTorsten GroteNav Drawer Activity doesn't remember selected Fragment1. Open Forums
2. Rotate your device
3. Observe how you suddenly see the contact list1. Open Forums
2. Rotate your device
3. Observe how you suddenly see the contact listMilestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/367Replace invitation codes with list of discovered devices2018-06-12T11:32:28ZakwizgranReplace invitation codes with list of discovered devicesWhen using the Bluetooth method of adding contacts, testers found the similarity between invitation codes and confirmation codes confusing. The workflow could be simplified by picking the contact's device from a list of discovered device...When using the Bluetooth method of adding contacts, testers found the similarity between invitation codes and confirmation codes confusing. The workflow could be simplified by picking the contact's device from a list of discovered devices, then exchanging confirmation codes.
Related to #33.https://code.briarproject.org/briar/briar/-/issues/366Protocol spec for contact exchange protocol2018-06-12T11:32:28ZakwizgranProtocol spec for contact exchange protocolRelated to #365.Related to #365.