briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:35Zhttps://code.briarproject.org/briar/briar/-/issues/186Bluetooth dashboard icon doesn't update on Galaxy Nexus2018-06-12T11:32:35ZakwizgranBluetooth dashboard icon doesn't update on Galaxy NexusThis could be related to #184. When the Bluetooth adapter is enabled or disabled, either via SettingsActivity or the device's settings, the Bluetooth icon on the dashboard doesn't update. Rotating the screen updates the icon.
This pro...This could be related to #184. When the Bluetooth adapter is enabled or disabled, either via SettingsActivity or the device's settings, the Bluetooth icon on the dashboard doesn't update. Rotating the screen updates the icon.
This problem is specific to the Galaxy Nexus, the icon updates fine on other devices.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/188Inject DbExecutor as an ExecutorService2018-06-12T11:32:35ZakwizgranInject DbExecutor as an ExecutorServiceTransportKeyManager needs to submit database tasks and wait for them to complete, so it needs to see the DbExecutor as an ExecutorService rather than an Executor.
Subtask of #111.TransportKeyManager needs to submit database tasks and wait for them to complete, so it needs to see the DbExecutor as an ExecutorService rather than an Executor.
Subtask of #111.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/189Implement BLAKE2s2018-06-12T11:32:35Zstr4dImplement BLAKE2sSubtask of #169
Initial implementation will go into briar-core. Once implemented, we should aim to push the implementation upstream into BouncyCastle. We can then drop it from briar-core once it has propagated to BouncyCastly and Spon...Subtask of #169
Initial implementation will go into briar-core. Once implemented, we should aim to push the implementation upstream into BouncyCastle. We can then drop it from briar-core once it has propagated to BouncyCastly and SpongyCastle.Milestone Ahttps://code.briarproject.org/briar/briar/-/issues/190TransportKeyManager creates duplicates when rotating keys2018-06-12T11:32:35ZakwizgranTransportKeyManager creates duplicates when rotating keysGot this stacktrace on the Sony Xperia Tipo (Android 4.0.4) when relaunching Briar after installing it yesterday:
```
12-18 10:57:16.936 22408-23493/org.briarproject W/TransportKeyManager: org.briarproject.api.db.DbException: org.h2....Got this stacktrace on the Sony Xperia Tipo (Android 4.0.4) when relaunching Briar after installing it yesterday:
```
12-18 10:57:16.936 22408-23493/org.briarproject W/TransportKeyManager: org.briarproject.api.db.DbException: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'tor', 16781, 13)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
org.briarproject.api.db.DbException: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'tor', 16781, 13)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
at org.briarproject.db.JdbcDatabase.addTransportKeys(JdbcDatabase.java:919)
at org.briarproject.db.JdbcDatabase.updateTransportKeys(JdbcDatabase.java:3163)
at org.briarproject.db.JdbcDatabase.updateTransportKeys(JdbcDatabase.java:65)
at org.briarproject.db.DatabaseComponentImpl.updateTransportKeys(DatabaseComponentImpl.java:1461)
at org.briarproject.transport.TransportKeyManager$1.run(TransportKeyManager.java:127)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'tor', 16781, 13)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
at org.h2.jdbc.JdbcPreparedStatement.executeBatch(Unknown Source)
at org.briarproject.db.JdbcDatabase.addTransportKeys(JdbcDatabase.java:896)
... 7 more
12-18 10:57:17.166 22408-23493/org.briarproject W/TransportKeyManager: org.briarproject.api.db.DbException: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'bt', 16781, 16)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
org.briarproject.api.db.DbException: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'bt', 16781, 16)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
at org.briarproject.db.JdbcDatabase.addTransportKeys(JdbcDatabase.java:919)
at org.briarproject.db.JdbcDatabase.updateTransportKeys(JdbcDatabase.java:3163)
at org.briarproject.db.JdbcDatabase.updateTransportKeys(JdbcDatabase.java:65)
at org.briarproject.db.DatabaseComponentImpl.updateTransportKeys(DatabaseComponentImpl.java:1461)
at org.briarproject.transport.TransportKeyManager$1.run(TransportKeyManager.java:127)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_1D ON PUBLIC.INCOMINGKEYS(CONTACTID, TRANSPORTID, PERIOD) VALUES (2, 'bt', 16781, 16)"; SQL statement:
INSERT INTO incomingKeys (contactId, transportId, period, tagKey, headerKey, base, bitmap) VALUES (?, ?, ?, ?, ?, ?, ?) [23505-190]
at org.h2.jdbc.JdbcPreparedStatement.executeBatch(Unknown Source)
at org.briarproject.db.JdbcDatabase.addTransportKeys(JdbcDatabase.java:896)
... 7 more
```Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/191Transport icon labels dont't fit on small screens2018-06-12T11:32:35ZakwizgranTransport icon labels dont't fit on small screensOn the Sony Xperia Tipo and Samsung Galaxy Ace, the transport icons and their labels are too wide for the screen, causing the Bluetooth label to wrap onto a second line.
Putting the labels below the icons solves the problem.On the Sony Xperia Tipo and Samsung Galaxy Ace, the transport icons and their labels are too wide for the screen, causing the Bluetooth label to wrap onto a second line.
Putting the labels below the icons solves the problem.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/193Crash reporter doesn't have a title bar2018-06-12T11:32:35ZakwizgranCrash reporter doesn't have a title barThere's no indication of what this screen is for or which app it belongs to.There's no indication of what this screen is for or which app it belongs to.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/194Setup Translation Platform for App2018-06-12T11:32:35ZTorsten GroteSetup Translation Platform for AppCurrently, the app is only available in English. It should be translated into other languages. To make things easier for potential translators, the translation should not happen via editing XML files and doing pull requests on GitLab, bu...Currently, the app is only available in English. It should be translated into other languages. To make things easier for potential translators, the translation should not happen via editing XML files and doing pull requests on GitLab, but rather through a dedicated platform such as [Transifex](http://transifex.com/), [Weblate](https://weblate.org) or a similar service.
This is a precondition for #143.Milestone Ahttps://code.briarproject.org/briar/briar/-/issues/195Notification about private messages should go away when viewing messages2018-06-12T11:32:35ZTorsten GroteNotification about private messages should go away when viewing messagesWhen viewing the private messages, the notification about these private messages should automatically be dismissed.When viewing the private messages, the notification about these private messages should automatically be dismissed.Milestone BTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/196Mark Private Messages As Read Properly2018-06-12T11:32:35ZTorsten GroteMark Private Messages As Read ProperlyThere's some circumstances in conversations where private private messages are not marked as read properly.
This is easy to spot when using the code from !36 which shows unread messages in a different color to make it easier to spot d...There's some circumstances in conversations where private private messages are not marked as read properly.
This is easy to spot when using the code from !36 which shows unread messages in a different color to make it easier to spot delayed messages in a conversation.Milestone Fakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/198Refactor out pattern of list with empty view and progress wheel2018-06-12T11:32:35ZTorsten GroteRefactor out pattern of list with empty view and progress wheelWe have many lists that need an empty view to be shown when no elements exist and a progress wheel when elements are loaded. This could be re-factored out since it is a common pattern.We have many lists that need an empty view to be shown when no elements exist and a progress wheel when elements are loaded. This could be re-factored out since it is a common pattern.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/199Use Floating Action Button (FAB) for adding new contact2018-06-12T11:32:35ZTorsten GroteUse Floating Action Button (FAB) for adding new contactCurrently, there's an icon in the action bar for adding new contacts. However, this action is a prime candidate to be implemented with a Floating Action Button (FAB).
There's basically two options for the implementation:
* [Design Su...Currently, there's an icon in the action bar for adding new contacts. However, this action is a prime candidate to be implemented with a Floating Action Button (FAB).
There's basically two options for the implementation:
* [Design Support Library](http://android-developers.blogspot.com.br/2015/05/android-design-support-library.html)
* @str4d's [FloatingActionButton library](https://github.com/str4d/android-floating-action-button)Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/200Duplicate entries in ContactList2018-06-12T11:32:35ZakwizgranDuplicate entries in ContactListAfter merging !38 I've started to see duplicate entries in the contact list. To reproduce:
* Touch a contact to enter ConversationActivity
* Receive a message from the contact
* Wait a minute so the time shown for the new message is...After merging !38 I've started to see duplicate entries in the contact list. To reproduce:
* Touch a contact to enter ConversationActivity
* Receive a message from the contact
* Wait a minute so the time shown for the new message is different from the time shown for the previous message
* Press the back button
* Two entries are shown in the contact list
* Repeat to create more duplicates
I'm guessing this might have something to do with RecyclerView recycling views that should have been replaced.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/201Messages that arrive while a conversation is open should not be shown as unread2018-06-12T11:32:35ZakwizgranMessages that arrive while a conversation is open should not be shown as unreadRelated: #195, #196.Related: #195, #196.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/202Extend ContactListActivity to show which contacts are linked with which ident...2018-06-12T11:32:35Zstr4dExtend ContactListActivity to show which contacts are linked with which identity/identities> [@akwizgran] the main use case is posting to forums/blogs under a different identity from the one(s) you use with your contacts
> [@akwizgran] following on from that is a secondary use case: add contacts using an identity that was i...> [@akwizgran] the main use case is posting to forums/blogs under a different identity from the one(s) you use with your contacts
> [@akwizgran] following on from that is a secondary use case: add contacts using an identity that was initially created for posting to forums/blogs - for example, if you meet someone irl who knows you via your forum/blog handle
> [@akwizgran] they could also be used for grouping contacts into 'circles' but we haven't gone into that in detail yet
> [@str4d] Right, was about to say that the contacts page should expose that information somehow.
> [@akwizgran] yup, good point
> [@akwizgran] see also #34
> [@str4d] If the intent of identities is for them to appear (at least initially) to be different people, the UI needs to remind the user which of their contacts know which of their identitieshttps://code.briarproject.org/briar/briar/-/issues/203Remove Tor binaries from repo2018-06-12T11:32:34ZakwizgranRemove Tor binaries from repoThe Tor binaries (and Tor's GeoIP database) need to be updated regularly - this makes the repo enormous. Remove the binaries from the repo and find a convenient way of downloading and verifying them during the build process - possibly gr...The Tor binaries (and Tor's GeoIP database) need to be updated regularly - this makes the repo enormous. Remove the binaries from the repo and find a convenient way of downloading and verifying them during the build process - possibly gradle-witness?
We may want to remove the binaries from the repo's history too, but that will need to be co-ordinated among all developers to avoid git breakage.Milestone Cakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/204Support PanicKit2018-06-12T11:32:34ZakwizgranSupport PanicKitThe Guardian Project has developed a framework that allows a panic button app to broadcast an Intent that other apps can react to. Briar should respond by signing out.
We should provide an option to delete the user's account as well, ...The Guardian Project has developed a framework that allows a panic button app to broadcast an Intent that other apps can react to. Briar should respond by signing out.
We should provide an option to delete the user's account as well, but this was split out into #210.Milestone ATorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/205Unit tests for KeyManagerImpl and TransportKeyManager2018-06-12T11:32:34ZakwizgranUnit tests for KeyManagerImpl and TransportKeyManagerAn exciting way to become familiar with some core code.An exciting way to become familiar with some core code.Milestone FTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/206Use Material Design and Standard Practises for SettingsActivity2018-06-12T11:32:34ZTorsten GroteUse Material Design and Standard Practises for SettingsActivityCurrently, the SettingsActivity is written by hand and difficult to extent. It does not use Material Design like the rest of the application (will).
It should be rewritten using [best practices](https://developer.android.com/guide/top...Currently, the SettingsActivity is written by hand and difficult to extent. It does not use Material Design like the rest of the application (will).
It should be rewritten using [best practices](https://developer.android.com/guide/topics/ui/settings.html).
If for some reason, the preferences should not be stored in the default Android location, a custom PreferenceManager needs to be implemented.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/207SetupActivity UI improvements2018-06-12T11:32:34ZErnir ErlingssonSetupActivity UI improvements1. The password strength bar should be over the password input fields otherwise it will be partially or completely obscured by the soft keyboard (depending on the device). The user should not have to scroll down to see the meter.
2. S...1. The password strength bar should be over the password input fields otherwise it will be partially or completely obscured by the soft keyboard (depending on the device). The user should not have to scroll down to see the meter.
2. Styling! The "Create Account" button has no style at all and does not really fit with the rest. Re-evaluate margins/paddings and consider using the EditText hints rather than TextView headers that makes scrolling necessary for smaller devices. Milestone DTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/208Remove ReadPrivateMessageActivity and WritePrivateMessageActivity2018-06-12T11:32:34ZakwizgranRemove ReadPrivateMessageActivity and WritePrivateMessageActivityDo you use them? No, neither does anyone else.Do you use them? No, neither does anyone else.Milestone Aakwizgranakwizgran