briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-07-06T10:06:40Zhttps://code.briarproject.org/briar/briar/-/issues/1207Update content rating in Play Store when image support is added2021-07-06T10:06:40ZakwizgranUpdate content rating in Play Store when image support is addedProfile picturesakwizgranakwizgran2021-01-31https://code.briarproject.org/briar/briar/-/issues/1961Implement UI of "Connect via Bluetooth" feature2021-07-06T10:01:35ZTorsten GroteImplement UI of "Connect via Bluetooth" featureImplement the design of #1960
Sub-task of #1821Implement the design of #1960
Sub-task of #1821Adapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/1853Show a notice in the conversation when one party changes self-destruct timer2021-07-06T09:57:04ZTorsten GroteShow a notice in the conversation when one party changes self-destruct timerSort the conversation message items/headers by timestamp, work through them in order, and whenever the local or remote timer duration changes, insert a notice into the list.Sort the conversation message items/headers by timestamp, work through them in order, and whenever the local or remote timer duration changes, insert a notice into the list.Self-destructing messagesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1835Automatically decline incoming blog/forum invitations when they self-destruct2021-07-06T09:56:40ZakwizgranAutomatically decline incoming blog/forum invitations when they self-destructWhen an incoming blog/forum invitation self-destructs without being answered, automatically decline the invitation. This may require a protocol update (coordinated with #1830) to flag the decline as an automatic response that shouldn't b...When an incoming blog/forum invitation self-destructs without being answered, automatically decline the invitation. This may require a protocol update (coordinated with #1830) to flag the decline as an automatic response that shouldn't be shown in the UI.
Subtask of #804Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/2063Allow messages to be resent before they expire2021-07-06T09:41:53ZakwizgranAllow messages to be resent before they expireWhen sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports...When sending data via removable drives, the strategy of waiting for one maximum round-trip time (twice the maximum latency of the transport) before allowing messages to be resent is likely to cause problems. For example:
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice realises that she accidentally used a drive belonging to her elderly mother, Carol, who uses the drive to store episodes of Desperate Housewives that she watches on the long bus ride to San Pedro de Atacama (Carol doesn't enjoy the austere beauty of the Atacama Desert, for reasons that are beyond the scope of this user story). Alice deletes the file and exports her messages again, using the right drive this time. Alice may expect that the new file contains all messages not seen by Bob, but in fact it doesn't contain any messages. The messages in the deleted file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive. Before sending the drive to Bob, Alice writes another message and wants to send this too. So she exports messages to the drive again. Alice may expect that if she overwrites the file she created the first time, the new file will contain all messages not seen by Bob. But in fact it will only contain the most recent message. The messages in the overwritten file won't be sendable again for one max round-trip time
* Alice exports messages to a removable drive and attaches it to a carrier pigeon. Knowing that the Atacama Desert is a harsh environment for pigeons, Alice also exports messages to a second drive, which she attaches to a carrier tortoise as a backup in case the pigeon succumbs to the arid climate. Alice may expect that the second drive contains the same messages as the first one, but in fact it doesn't contain any messages. The messages attached to the unfortunate pigeon won't be sendable again for one max round-trip time
To address these user stories we should send all unacked messages when syncing via removable drives. When syncing via mailboxes we should continue to use the current strategy of sending only messages that have not been sent before, or that were last sent more than one max round-trip time ago.Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2071Remove ContactIds from RemovableDriveManager's task management2021-07-06T09:41:47ZTorsten GroteRemove ContactIds from RemovableDriveManager's task managementRemove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an ...Remove `ContactId`s from `RemovableDriveManager`'s task management, so we just have one writer and one reader task globally.
* For writer tasks we'll still need to pass a `ContactId` when creating the task, but not when checking for an existing task.
* For reader tasks, we don't provide any progress information. We can just remove the progress monitoring stuff from the reader task, and have it post a single progress update when it's complete (success or error).Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2045Make retransmissions in the sync protocol more flexible2021-07-06T09:41:41ZDaniel LublinMake retransmissions in the sync protocol more flexibleDifferent transports need different retransmission behaviour. Retransmission is currently coupled with key rotation period.
For the Removable Drive we might want cause retransmissions every time that the data for a contact is written to...Different transports need different retransmission behaviour. Retransmission is currently coupled with key rotation period.
For the Removable Drive we might want cause retransmissions every time that the data for a contact is written to storage.
- user might might not be sure that the file was correctly saved, and on the actual removable drive, and immediately repeat the process
- user might be accumulating data daily for several days before removable drive is eventually dispatched
- drive might soon break or get lost in transit, and user want to repeat the process, retransmitting all messages again (getting them all onto the removable drive again)Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2065Implement UI of transfer data feature2021-07-06T09:41:34ZTorsten GroteImplement UI of transfer data featureTransfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/1992Initial experiments to decide whether to use Bluetooth or Wi-Fi2021-07-06T09:40:57ZakwizgranInitial experiments to decide whether to use Bluetooth or Wi-FiInstall via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2021Permission requests cleanup in hotspot test app2021-07-06T09:40:50ZTorsten GrotePermission requests cleanup in hotspot test appThe hotspot test app currently asks for permissions once when it starts and then just refuses to work if they were not granted. We should probably introduce some sort of PermissionController that encapsulates all that logic and ensures t...The hotspot test app currently asks for permissions once when it starts and then just refuses to work if they were not granted. We should probably introduce some sort of PermissionController that encapsulates all that logic and ensures that the necessary permissions and enabled system settings (wi-fi, location) are requested properly.
Subtask of #1081Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2019ViewModel Cleanup (in hotspot test app)2021-07-06T09:40:45ZSebastianViewModel Cleanup (in hotspot test app)Subtask of #1081Subtask of #1081Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2020Implement UI prototype for app sharing2021-07-06T09:40:41ZSebastianImplement UI prototype for app sharingSubtask of #1081
1 acitivty + 3 fragments + 1 troubleshooting fragmentSubtask of #1081
1 acitivty + 3 fragments + 1 troubleshooting fragmentInstall via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2028Show a notification for as long as Wi-Fi hotspot is active2021-07-06T09:40:37ZTorsten GroteShow a notification for as long as Wi-Fi hotspot is activeThe notification should have a `Stop sharing` button.
Subtask of #1081The notification should have a `Stop sharing` button.
Subtask of #1081Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2024Port code from hotspot test app to Briar2021-07-06T09:40:31ZTorsten GrotePort code from hotspot test app to BriarThe `MainViewModel` and the `WebServer` from the hotspot test app need to be ported to Briar.
Subtask of #1081The `MainViewModel` and the `WebServer` from the hotspot test app need to be ported to Briar.
Subtask of #1081Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2022Implement website for app sharing2021-07-06T09:39:13ZSebastianImplement website for app sharingSubtask of #1081Subtask of #1081Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2051Rename app.apk to briar-X.Y.apk2021-07-06T09:39:08ZSebastianRename app.apk to briar-X.Y.apkIt probably makes sense to rename `app.apk` to something meaningful like `briar-X.Y.apk` on the hotspot download page, because that's the name it will end up with in the Downloads folder of the recipient. In case someone wants to copy th...It probably makes sense to rename `app.apk` to something meaningful like `briar-X.Y.apk` on the hotspot download page, because that's the name it will end up with in the Downloads folder of the recipient. In case someone wants to copy that over some other medium like email or USB stick, it's going to be easier to find.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2029Make Wi-Fi hotspot SSID and password persistent on API 29+2021-07-06T09:39:02ZTorsten GroteMake Wi-Fi hotspot SSID and password persistent on API 29+This should improve the UX, if they don't change on subsequent attempts.
Subtask of #1081This should improve the UX, if they don't change on subsequent attempts.
Subtask of #1081Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/2055Hide hotspot offline sharing feature behind feature flag2021-07-06T09:38:53ZTorsten GroteHide hotspot offline sharing feature behind feature flagInstall via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/2039Implement HotspotErrorFragment2021-07-06T09:38:42ZTorsten GroteImplement HotspotErrorFragmentWhen the hotspot or the webserver can't start, we should show an error page and include an option to get to the feedback sender, so we can be notified about the issue.When the hotspot or the webserver can't start, we should show an error page and include an option to get to the feedback sender, so we can be notified about the issue.Install via Bluetooth or Wi-FiSebastianSebastian2021-07-31https://code.briarproject.org/briar/briar/-/issues/384Create conversation manager2021-07-05T13:41:40ZakwizgranCreate conversation managerThe UI combines private messages, introduction messages and forum sharing messages into a single conversation. This requires various parts of the UI (contact list, conversation view, notification manager) to combine messages from the mes...The UI combines private messages, introduction messages and forum sharing messages into a single conversation. This requires various parts of the UI (contact list, conversation view, notification manager) to combine messages from the messaging, introduction, and forum sharing clients. Create a ConversationManager in the core that deals with combining these messages and presents a unified API (including events) to the UI.