briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:34Zhttps://code.briarproject.org/briar/briar/-/issues/209Ensure clients can reliably respond to contacts being added/removed2018-06-12T11:32:34ZakwizgranEnsure clients can reliably respond to contacts being added/removedAdding or removing a contact may trigger actions by sync clients (such as adding or removing a private group shared with the contact).
If the app crashes immediately after the DB transaction that adds/removes the contact is committed,...Adding or removing a contact may trigger actions by sync clients (such as adding or removing a private group shared with the contact).
If the app crashes immediately after the DB transaction that adds/removes the contact is committed, event handlers registered by clients may not be run.
Possible solutions:
* Clients could check the contact list at startup and perform any actions needed to bring their own state back into step with the contact list.
* Clients could register handlers to be run in the same DB transaction as the add/remove event.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/210PanicKit Support for Destructive Actions2018-06-12T11:32:34ZTorsten GrotePanicKit Support for Destructive ActionsBased on !52, PanicKit support should be extended to support connecting/disconnecting panic trigger apps and verify that trigger actions come only from trusted apps using the trustedIntents library from the GuardianProject.
The first ...Based on !52, PanicKit support should be extended to support connecting/disconnecting panic trigger apps and verify that trigger actions come only from trusted apps using the trustedIntents library from the GuardianProject.
The first destructive response should be to purge all settings and the entire database. This should be configurable.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/213Use @Test annotation to test for exceptions being thrown2018-06-12T11:32:34ZakwizgranUse @Test annotation to test for exceptions being thrownLots of tests currently use this idiom:
```
@Test
public void testFoo() {
try {
foo();
Assert.fail();
} catch (FooException expected) {
// Expected
}
}
```
They should instead use JUnit...Lots of tests currently use this idiom:
```
@Test
public void testFoo() {
try {
foo();
Assert.fail();
} catch (FooException expected) {
// Expected
}
}
```
They should instead use JUnit's support for catching exceptions:
```
@Test(expected = FooException.class)
public void testFoo() throws FooException {
foo();
}
```Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/215Panic button delete action doesn't remove DB password2018-06-12T11:32:34ZakwizgranPanic button delete action doesn't remove DB passwordSteps to reproduce:
* Choose Ripple as the panic button app
* Enable the delete account action
* Sign out of Briar
* Trigger Ripple's panic button
* Re-launch Briar from the recents menu
* The password prompt is shown
* Sign in
...Steps to reproduce:
* Choose Ripple as the panic button app
* Enable the delete account action
* Sign out of Briar
* Trigger Ripple's panic button
* Re-launch Briar from the recents menu
* The password prompt is shown
* Sign in
* The dashboard is shown, then it disappears
* Re-launch Briar from the recents menu
* This time the setup screen is shown, as expected
My guess is that the shared preferences DB containing the password-encrypted database key isn't being deleted by the panic action. But after the first re-launch, Briar detects that the main database is missing and deletes the shared preferences DB.
Tested on a Samsing Galaxy Nexus (Android 4.3).Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/221Metadata for groups2018-06-12T11:32:34ZakwizgranMetadata for groupsSubtask of #112.Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/248Expose transactions to sync clients2018-06-12T11:32:32ZakwizgranExpose transactions to sync clientsSubtask of #112.Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/37Optionally disable Tor when using mobile data2018-04-30T15:55:35ZakwizgranOptionally disable Tor when using mobile dataUsers may want to save bandwidth and battery by disabling Tor when they're using mobile data. We can detect this using the same events that we use to detect loss of connectivity.Users may want to save bandwidth and battery by disabling Tor when they're using mobile data. We can detect this using the same events that we use to detect loss of connectivity.Milestone ASantiago Torres-AriasSantiago Torres-Ariashttps://code.briarproject.org/briar/briar/-/issues/112Separate data sync protocol (BSP) from clients2018-04-16T16:24:37ZakwizgranSeparate data sync protocol (BSP) from clientsThe current clients of the data sync protocol are:
* Transport properties
* Private messages
* Forums
The current clients of the data sync protocol are:
* Transport properties
* Private messages
* Forums
Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/174Rename classes, methods, fields with BSP nomenclature2018-04-16T16:24:37ZakwizgranRename classes, methods, fields with BSP nomenclatureThis is going to touch a lot of code, but shouldn't make any functional changes.
Subtask of #112.This is going to touch a lot of code, but shouldn't make any functional changes.
Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/229Convert TransportPropertyManager into a BSP client2018-04-16T16:24:37ZakwizgranConvert TransportPropertyManager into a BSP clientSubtask of #112Subtask of #112Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/7Crashes can create multiple instances of PasswordActivity2018-01-28T11:30:28ZakwizgranCrashes can create multiple instances of PasswordActivityAfter a crash, sometimes several instances of PasswordActivity appear on top of each other. This could be caused by the system relaunching a stack of activities, each of which spawns an instance of PasswordActivity. But the launch mode o...After a crash, sometimes several instances of PasswordActivity appear on top of each other. This could be caused by the system relaunching a stack of activities, each of which spawns an instance of PasswordActivity. But the launch mode of PasswordActivity should prevent multiple instances from being created.Milestone ATorsten GroteTorsten Grote