briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-08-14T09:23:31Zhttps://code.briarproject.org/briar/briar/-/issues/1723User testing for transport toggles2020-08-14T09:23:31ZakwizgranUser testing for transport togglesRenata GegajRenata Gegajhttps://code.briarproject.org/briar/briar/-/issues/1721Request ACCESS_FINE_LOCATION for Bluetooth discovery2020-08-14T11:44:00ZakwizgranRequest ACCESS_FINE_LOCATION for Bluetooth discoveryBefore raising our target API version to 29 we'll need to request ACCESS_FINE_LOCATION rather than ACCESS_COARSE_LOCATION for Bluetooth discovery.
https://developer.android.com/guide/topics/connectivity/bluetooth#Permissions
Related to...Before raising our target API version to 29 we'll need to request ACCESS_FINE_LOCATION rather than ACCESS_COARSE_LOCATION for Bluetooth discovery.
https://developer.android.com/guide/topics/connectivity/bluetooth#Permissions
Related to #1546.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/python-briar-wrapper/-/issues/15Add option to use system's Tor binary2021-06-29T05:57:21ZNicoAdd option to use system's Tor binaryThis is most likely needed for a release to Debian (https://code.briarproject.org/briar/briar-gtk/issues/38).This is most likely needed for a release to Debian (https://code.briarproject.org/briar/briar-gtk/issues/38).https://code.briarproject.org/briar/briar-gtk/-/issues/27Refactor code2020-12-31T12:06:36ZNicoRefactor codeSo far, the code has grown organically. We should refactor the code to reduce duplication and improve maintainability.
#### Useful links
* https://refactoring.guruSo far, the code has grown organically. We should refactor the code to reduce duplication and improve maintainability.
#### Useful links
* https://refactoring.guruGTK 0.1.0-beta3NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/13Update Briar headless to 1.2.72020-03-22T00:53:57ZNicoUpdate Briar headless to 1.2.7* https://code.briarproject.org/briar/briar/-/wikis/changelog#anchor-127
* https://code.briarproject.org/briar/briar/-/tags/release-1.2.7
* https://media.dorfbrunnen.eu/briar/jars/009/* https://code.briarproject.org/briar/briar/-/wikis/changelog#anchor-127
* https://code.briarproject.org/briar/briar/-/tags/release-1.2.7
* https://media.dorfbrunnen.eu/briar/jars/009/GTK 0.1.0-alpha1NicoNicohttps://code.briarproject.org/briar/briar-gtk/-/issues/5Lazy loading of messages2021-01-11T08:03:51ZNicoLazy loading of messagesCurrently, all messages are loaded at once. With chat histories becoming bigger and bigger, this could result in serious performance problems.
Related issue in wrapper: https://code.briarproject.org/briar/python-briar-wrapper/issues/5Currently, all messages are loaded at once. With chat histories becoming bigger and bigger, this could result in serious performance problems.
Related issue in wrapper: https://code.briarproject.org/briar/python-briar-wrapper/issues/5https://code.briarproject.org/briar/briar/-/issues/1714Upgrade to Tor 0.3.5.102020-11-16T10:36:56ZakwizgranUpgrade to Tor 0.3.5.10Tor 0.3.5.10 fixes a CPU exhaustion attack that directory servers can launch against clients and hidden services. (Relays are also vulnerable, but we don't run relays.)Tor 0.3.5.10 fixes a CPU exhaustion attack that directory servers can launch against clients and hidden services. (Relays are also vulnerable, but we don't run relays.)Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1712Detect Bluetooth connection limit2022-02-25T15:09:28ZakwizgranDetect Bluetooth connection limitDifferent devices can support different numbers of simultaneous Bluetooth connections. Since we don't have a way to determine a priori how many connections a given device can support, we should try to detect the device's limit and stay b...Different devices can support different numbers of simultaneous Bluetooth connections. Since we don't have a way to determine a priori how many connections a given device can support, we should try to detect the device's limit and stay below it.
Related to #1130.akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1687Check whether workaround for Tor bug #28027 is still needed2022-06-06T13:28:06ZakwizgranCheck whether workaround for Tor bug #28027 is still neededThe Tor plugin contains a workaround for Tor bug #28027. The fix for that ticket's parent was backported to the 0.3.5 series, so the workaround may not be needed any more. Test whether it's still needed and remove if not.
https://trac.t...The Tor plugin contains a workaround for Tor bug #28027. The fix for that ticket's parent was backported to the 0.3.5 series, so the workaround may not be needed any more. Test whether it's still needed and remove if not.
https://trac.torproject.org/projects/tor/ticket/28027
https://trac.torproject.org/projects/tor/ticket/29875https://code.briarproject.org/briar/python-briar-wrapper/-/issues/2flit as tool to package and upload python-briar-wrapper to pypi?2020-03-21T23:14:56Zfphemeralflit as tool to package and upload python-briar-wrapper to pypi?So far I quite ejoyed flit for packaging and uploading pypi packages:
https://pypi.org/project/flit/
@nicoalt if you are ok with it, I would set it for this repo.So far I quite ejoyed flit for packaging and uploading pypi packages:
https://pypi.org/project/flit/
@nicoalt if you are ok with it, I would set it for this repo.fphemeralfphemeralhttps://code.briarproject.org/briar/briar/-/issues/1656Explain better why messages can not be deleted2019-12-10T12:38:35ZTorsten GroteExplain better why messages can not be deletedCurrently, we show a long, but still incomplete list of reasons why not all messages maybe could not have been deleted. We should add some kind of enum or ORable number, so we can only show the reasons that actually apply to the current ...Currently, we show a long, but still incomplete list of reasons why not all messages maybe could not have been deleted. We should add some kind of enum or ORable number, so we can only show the reasons that actually apply to the current situation.Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar-gtk/-/issues/2Repair pytest on GitLab CI2020-07-19T13:59:52ZNicoRepair pytest on GitLab CISince fc91cbd8dac3db4dd8965b7ef1662b63bad047f6, _pytest_ fails on GitLab CI. Locally, everything works fine for me. [This is the first job](https://code.briarproject.org/nicoalt/briar-gtk/-/jobs/3893) failing for this commit:
```
$ tool...Since fc91cbd8dac3db4dd8965b7ef1662b63bad047f6, _pytest_ fails on GitLab CI. Locally, everything works fine for me. [This is the first job](https://code.briarproject.org/nicoalt/briar-gtk/-/jobs/3893) failing for this commit:
```
$ tools/tests/test-pytest.sh
============================= test session starts ==============================
platform linux -- Python 3.7.3, pytest-5.2.0, py-1.8.0, pluggy-0.13.0
rootdir: /builds/nicoalt/briar-gtk, inifile: pytest.ini
plugins: cov-2.7.1, mock-1.11.0, requests-mock-1.7.0
collected 20 items
tests/briar/api/test_constants.py .... [ 20%]
tests/briar/api/models/test_contacts.py . [ 25%]
tests/briar/api/models/test_private_chat.py .. [ 35%]
tests/briar/gtk/test_application.py .....tools/tests/test-pytest.sh: line 6: 4406 Trace/breakpoint trap (core dumped) PYTHONPATH=src pytest --cov=src tests/
ERROR: Job failed: exit code 1
```
Until this is fixed, I allowed the pipeline to fail with d519ebc7aa5e0d3ed76cba2a424c4e64acf4397a.GTK 0.1.0-alpha2https://code.briarproject.org/briar/briar/-/issues/1634Raise target API level to 282019-10-22T15:14:15ZakwizgranRaise target API level to 28From 1 November Google Play requires all updates to target API 28 or higher. Even if 1.2 is released before 1 November it might make sense to raise the target API level for that release so we don't have to worry about it later if we need...From 1 November Google Play requires all updates to target API 28 or higher. Even if 1.2 is released before 1 November it might make sense to raise the target API level for that release so we don't have to worry about it later if we need to make an urgent bugfix release.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1633Raise minimum API level to 162019-10-14T15:37:45ZakwizgranRaise minimum API level to 16Devices running API 15 account for less than 1/1000 of our active installs according to Google Play.
Removing the non-PIE 32-bit binaries for Tor and obfsproxy, which are only needed for API 15, will make room for the 64-bit PIE binarie...Devices running API 15 account for less than 1/1000 of our active installs according to Google Play.
Removing the non-PIE 32-bit binaries for Tor and obfsproxy, which are only needed for API 15, will make room for the 64-bit PIE binaries. There may also be some conditional code we can remove. One of the test devices will have to be retired. :crying_cat_face:Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1630Remove anonymous author status2022-09-06T09:56:47ZakwizgranRemove anonymous author statusRemove the obsolete AuthorInfo.Status.ANONYMOUS constant and the corresponding drawable for the trust indicator.Remove the obsolete AuthorInfo.Status.ANONYMOUS constant and the corresponding drawable for the trust indicator.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1629Support for deleting a subset of all conversation messages2019-10-28T16:53:17ZTorsten GroteSupport for deleting a subset of all conversation messagesSubtask of #68
* [x] method to `ConversationClient` that returns a set of `MessageId`s it is responsible for
* [x] method to `ConversationClient` to delete a set of messages identified by `MessageId`
* [x] method to `ConversationManager...Subtask of #68
* [x] method to `ConversationClient` that returns a set of `MessageId`s it is responsible for
* [x] method to `ConversationClient` to delete a set of messages identified by `MessageId`
* [x] method to `ConversationManager` for deleting a set of messages identified by `MessageId`. This will intersect the IDs from the clients with IDs to be deleted and as the client to only delete this intersection
Implementation plan for deleting messages in ConversationClients builds on work done in #1627.
* parse message visibility for session's messages (true if visible in UI)
* when looping over all sessions check that all visible messages were selected for deletion, if not, do not delete sessionAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1628Multi-select conversion messages to delete2019-11-08T15:58:43ZTorsten GroteMulti-select conversion messages to deleteSubtask of #68
Add multi-selection of messages to conversation view and add a delete action for ActionMode.
If we migrated to AndroidX when working on this ticket, we could use the [androidx.recyclerview.selection](https://developer.an...Subtask of #68
Add multi-selection of messages to conversation view and add a delete action for ActionMode.
If we migrated to AndroidX when working on this ticket, we could use the [androidx.recyclerview.selection](https://developer.android.com/reference/androidx/recyclerview/selection/package-summary) library. Article: https://proandroiddev.com/a-guide-to-recyclerview-selection-3ed9f2381504Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1627Delete all invitation/introduction messages for completed sessions2019-10-14T12:57:58ZTorsten GroteDelete all invitation/introduction messages for completed sessionsSubtask of #68
* [x] Implement the no-ops from #1625 in the remaining `ConversationClient`s that deletes all completed sessions. A session is complete if it is in a completed state and all messages have been ACKed.
* [x] Introductio...Subtask of #68
* [x] Implement the no-ops from #1625 in the remaining `ConversationClient`s that deletes all completed sessions. A session is complete if it is in a completed state and all messages have been ACKed.
* [x] Introductions: If the session isn't in the start state or there are sent-but-unacked messages, refuse to delete the session. Otherwise delete all messages and their metadata, but leave the session storage message
* [x] Blogs/Forums: If the session has an invite available to answer, refuse to delete the session. Otherwise delete all visible messages and their metadata, but leave invisible messages and the session storage message
* [x] Private Groups: If the session has an invite available to answer, refuse to delete the session. Otherwise delete all visible messages and their metadata, but leave invisible messages and the session storage message
* [x] Update UI dialog to explain that ongoing invitations/introductions can't be deleted
Implementation plan:
* look up all the message metadata
* look up all message states
* loop over all message states and create hash set of message ids that are sent but not acked
* loop over all the message metadata finding session storage objects messages and creating session objects
* loop over it again assigning protocol messages to their sessions
* loop over all sessions: If session state is completed and all messages were ACKed, delete entire session, else remember non-deletion
* return false if at least one session could not be deletedAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1626UI for partial conversation message deletion2019-10-09T12:17:31ZTorsten GroteUI for partial conversation message deletionSubtask of #68
* [x] Add menu item for triggering deletion of all messages
* [x] Show dialog (if needed) explaining that invitation/introduction messages can't be deletedSubtask of #68
* [x] Add menu item for triggering deletion of all messages
* [x] Show dialog (if needed) explaining that invitation/introduction messages can't be deletedAndroid 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1625ConversationClient method for message deletion2019-10-07T14:45:20ZTorsten GroteConversationClient method for message deletionSubtask of #68
* [x] Add `ConversationManager` method for deleting all conversation messages which delegates to conversation clients
* [x] Add `ConversationClient` method for deleting all messages that returns true if all messages were ...Subtask of #68
* [x] Add `ConversationManager` method for deleting all conversation messages which delegates to conversation clients
* [x] Add `ConversationClient` method for deleting all messages that returns true if all messages were delete or false if not (because they are invitation/introduction messages that can't be deleted).
* [x] Add real implementation for `MessagingManager`, no-op implementations for other clients (just return false)Android 1.2Torsten GroteTorsten Grote