briar issueshttps://code.briarproject.org/groups/briar/-/issues2017-12-18T07:40:23Zhttps://code.briarproject.org/briar/briar/-/issues/879Implement Threaded Unread Handling2017-12-18T07:40:23ZTorsten GroteImplement Threaded Unread HandlingBased on the feature specification from #478, this ticket is for the actual implementation of this feature.
![mockup](https://code.briarproject.org/akwizgran/briar/uploads/89ad16273315aa10922a222c2ba090f3/forum_01_up_and_down.jpg)
...Based on the feature specification from #478, this ticket is for the actual implementation of this feature.
![mockup](https://code.briarproject.org/akwizgran/briar/uploads/89ad16273315aa10922a222c2ba090f3/forum_01_up_and_down.jpg)
When the user scrolls the forum list, visible unread entries will be marked read after playing their animation. The unread counters on the two floating buttons are updated accordingly. If the user presses the floating button, the list scrolls to the nearest unread message in that direction which plays its animation. While the list scrolls, no messages that are passed will be marked as read.
When a new message arrives, the counters are updated accordingly when the new message is not visible in the current viewport. If it is visible, its animation plays and it is marked as read. If the message arrives in a closed thread, the root message has an unread counter signaling the availability of unread messages in that thread.
If there are no more unread messages in one direction, the respective floating button will be hidden.
When the user opens the forum next time, the list should scroll to the most recently read message (easy to implement via MessageTracker). It's a good compromise between taking the user somewhere familiar, and taking her to the latest content. But scrolling to the first unread message, as we've discussed previously, would also be reasonable.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/877Save invitation outcome to invitation message and make available to UI2017-12-18T07:40:23ZTorsten GroteSave invitation outcome to invitation message and make available to UIThe shareable of an invitation can only be opened when an invitation was accepted and we still subscribe to the shareable.
To be able to set `canBeOpened` to a proper value, the user's response needs to be recorded in the invitation's m...The shareable of an invitation can only be opened when an invitation was accepted and we still subscribe to the shareable.
To be able to set `canBeOpened` to a proper value, the user's response needs to be recorded in the invitation's metadata.
For the group invitation protocol the response could be stored in `InviteeProtocolEngine#onLocalAccept()` at the same time as marking the invitation unavailable to answer, then retrieved in `GroupManagerImpl#parseInvitationRequest()`.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/820Recreate Briar logo using one of an endless array of fonts that only a philis...2017-12-18T07:40:25ZakwizgranRecreate Briar logo using one of an endless array of fonts that only a philistine would consider similarWe need versions of the logo with the text on the right (for the nav drawer) and underneath (for the splash screen and website).We need versions of the logo with the text on the right (for the nav drawer) and underneath (for the splash screen and website).Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/813Add online status and creator information to group memberlist2017-12-18T07:40:25ZTorsten GroteAdd online status and creator information to group memberlistFrom #646:
> Personally I'd vote for a simple emphasis like adding "Created the group" under the creator's name in the member listFrom #646:
> Personally I'd vote for a simple emphasis like adding "Created the group" under the creator's name in the member listMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/812Update screenshots on website2017-12-18T07:40:26ZakwizgranUpdate screenshots on websiteWe should probably use a newer phone, too.We should probably use a newer phone, too.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/810Fix Sharing Status Screens2017-12-18T07:40:26ZTorsten GroteFix Sharing Status ScreensCurrently, the sharing status screen distinguishes between contacts the shareable is shared with and contacts the sharable is shared by. This distinction should be removed and all contacts we are sharing the shareable `Group` with should...Currently, the sharing status screen distinguishes between contacts the shareable is shared with and contacts the sharable is shared by. This distinction should be removed and all contacts we are sharing the shareable `Group` with should be shown.
Also, personal blogs are automatically shared with all contacts. That should be shown in the UI as well.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/788Sao Paulo User Testing Session2017-12-18T07:40:26ZTorsten GroteSao Paulo User Testing Session[![300px-Garoa_Briar](/uploads/738b5c18e042969a3e48771b4f9f84e1/300px-Garoa_Briar.png)](https://garoa.net.br/wiki/Workshop_Briar:_Comunica%C3%A7%C3%A3o_Criptografada_P2P)
Subticket of #140[![300px-Garoa_Briar](/uploads/738b5c18e042969a3e48771b4f9f84e1/300px-Garoa_Briar.png)](https://garoa.net.br/wiki/Workshop_Briar:_Comunica%C3%A7%C3%A3o_Criptografada_P2P)
Subticket of #140Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/778Move unit tests into their respective modules2017-12-18T07:40:26ZakwizgranMove unit tests into their respective modulesThe briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.The briar-tests module contains a mixture of Briar and Bramble tests. Move the tests into their respective modules.
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/777Move integration tests into their respective modules2017-12-18T07:40:27ZakwizgranMove integration tests into their respective modulesWhen we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integratio...When we switched from Guice to Dagger, we put the integration tests in an Android module because the android-apt plugin didn't support Java modules. An APT plugin that supports Java modules is now available, so we can move the integration tests into their respective modules and remove the briar-android-tests module.
https://bitbucket.org/hvisser/android-apt/issues/18/support-java-plugin#comment-20327914
https://plugins.gradle.org/plugin/net.ltgt.apt
The "idea" plugin should also be used so that Android Studio recognises the generated classes:
http://stackoverflow.com/a/37963784
Subtask of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/771Create Bramble modules2017-12-18T07:40:27ZakwizgranCreate Bramble modules* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability...* bramble-android: plugins and any backend code needed for running bramble-core on Android
* bramble-api: API for bramble-core
* bramble-core: crypto, data, db, event, identity, keyagreement, lifecycle, plugins, properties, reliability, reporting, settings, socks, sync, system, transport, util (excluding HtmlUtils)
* bramble-j2se: plugins and any backend code needed for running bramble-core on J2SE (everything in briar-desktop, by the look of it)
Subtask of #136.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/769Test whether wake lock is still needed with Tor 0.2.82017-12-18T07:40:27ZakwizgranTest whether wake lock is still needed with Tor 0.2.8Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Test whether Tor 0.2.8 still needs a wake lock in order to keep the hidden service available when the device is idle. The wake lock is a major source of battery drain.
Related to #44, #574.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/766Unit tests for group invitation client2017-12-18T07:40:36ZTorsten GroteUnit tests for group invitation clientMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/763Remove old signature API2017-12-18T07:40:36ZakwizgranRemove old signature APIRemove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Remove the Signature and SignatureImpl classes, which aren't needed any more. CryptoComponentImpl can directly use the Bouncy Castle class that they wrap.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/760Integration tests for private group invitation protocol2017-12-18T07:40:36ZakwizgranIntegration tests for private group invitation protocolMilestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/757Remove DeviceId code2017-12-18T07:40:36ZakwizgranRemove DeviceId codeThe DeviceId is a leftover from an early attempt to add multi-device support. Remove it as part of the Grand Refactoring of #136.The DeviceId is a leftover from an early attempt to add multi-device support. Remove it as part of the Grand Refactoring of #136.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/754Add visibility information to group member list2017-12-18T07:40:36ZTorsten GroteAdd visibility information to group member listThe member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.The member list currently only says if the group is shared with a contact or not using a sharing icon. It does not give any details on whether the relationship to that user is revealed or not.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/752Break up ActivityModule so controller implementations can be package-private2017-12-18T07:40:36ZakwizgranBreak up ActivityModule so controller implementations can be package-privateController implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #...Controller implementations need to be public so that ActivityModule can access them. Break up ActivityModule into smaller package-specific modules, like we do in the core, so we can reduce the visibility of the controllers.
Related to #368.Milestone Fhttps://code.briarproject.org/briar/briar/-/issues/747Remove injected field from BlogManagerImplTest2017-12-18T07:40:37ZakwizgranRemove injected field from BlogManagerImplTestBlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.BlogManagerImplTest has an @Inject annotated field, but injections aren't used in the briar-tests module. Replace it with a mock.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/742Use unique request IDs across the app2017-12-18T07:40:37ZakwizgranUse unique request IDs across the app@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```@ernir came up with a nice solution for this: a static method that returns an incrementing counter.
```
private final static int REQUEST_INVITE = SomeUtil.getUniqueRequestId();
```Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/741Move events into their respective packages2017-12-18T07:40:37ZakwizgranMove events into their respective packagesAll events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136All events are currently in the package `org.briarproject.api.event`. Events that are specific to a given package should be moved into the package that uses them.
Sub-task of #136Milestone Fakwizgranakwizgran