briar issueshttps://code.briarproject.org/groups/briar/-/issues2021-03-11T12:26:19Zhttps://code.briarproject.org/briar/briar/-/issues/1864Show warning dialog when the expected timer differs from the current timer2021-03-11T12:26:19ZTorsten GroteShow warning dialog when the expected timer differs from the current timerWe mirror the timer duration from our contact's messages. It is possible that we are writing a message and short before we hit send, the timer changes or gets turned off. To prevent this scenario, we should show a warning dialog that pop...We mirror the timer duration from our contact's messages. It is possible that we are writing a message and short before we hit send, the timer changes or gets turned off. To prevent this scenario, we should show a warning dialog that pops up if the timer when sending is different from the timer when we started typing the message.
Subtask of #804.Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1863IllegalArgumentException when creating group invitation2021-04-15T15:24:24ZTorsten GroteIllegalArgumentException when creating group invitation
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.db.DatabaseComponentImpl.mergeGroupMetadata(DatabaseComponentImpl.java:756)
at org.briarproject.bramble.client.ClientHelperImpl.mergeGroupMetadata(C...
```
java.lang.IllegalArgumentException
at org.briarproject.bramble.db.DatabaseComponentImpl.mergeGroupMetadata(DatabaseComponentImpl.java:756)
at org.briarproject.bramble.client.ClientHelperImpl.mergeGroupMetadata(ClientHelperImpl.java:217)
at org.briarproject.briar.autodelete.AutoDeleteManagerImpl.getAutoDeleteTimer(AutoDeleteManagerImpl.java:109)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.createInvitationContexts(CreateGroupControllerImpl.java:174)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.lambda$null$4(CreateGroupControllerImpl.java:155)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.lambda$null$4$CreateGroupControllerImpl(CreateGroupControllerImpl.java)
at org.briarproject.briar.android.privategroup.creation.-$$Lambda$CreateGroupControllerImpl$UuIyBT5BPK-Ol5OSyYuTSxVHrEA.run(lambda)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:198)
at org.briarproject.briar.android.privategroup.creation.CreateGroupControllerImpl.lambda$sendInvitation$5(CreateGroupControllerImpl.java:151)
```Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1862Show a bomb icon on the send button when the self-destruct timer is enabled2021-07-06T09:56:55ZakwizgranShow a bomb icon on the send button when the self-destruct timer is enabledSubtask of #804.Subtask of #804.Self-destructing messagesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1859Menu item to enable/disable disappearing messages2020-12-11T10:45:21ZSebastianMenu item to enable/disable disappearing messagesSelf-destructing messagesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1856Update profile picture in current chat's app bar2020-12-16T12:59:18ZSebastianUpdate profile picture in current chat's app barLike #1855 we need to update the avatar once it changesLike #1855 we need to update the avatar once it changesProfile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1855Update profile pictures in contact list2020-12-16T13:01:41ZSebastianUpdate profile pictures in contact listMake sure that the profile pictures update in the contact list automatically when one of the contacts changes their avatar.Make sure that the profile pictures update in the contact list automatically when one of the contacts changes their avatar.Profile picturesSebastianSebastian2021-01-31https://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/1851Move media related classes and interfaces from AttachmentModule into dedicate...2021-02-19T17:58:09ZSebastianMove media related classes and interfaces from AttachmentModule into dedicated MediaModuleWhile working on #1846 the idea came up to further refactor the attachment package and module by creating a dedicated media or image module that would be a new home for the various classes and interfaces dealing with images that might de...While working on #1846 the idea came up to further refactor the attachment package and module by creating a dedicated media or image module that would be a new home for the various classes and interfaces dealing with images that might deserve their own package now that they are also being used for other purposes. We decided to handle that further refactoring separately to not interfere too much with the ongoing work on #214Profile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1848Test performance of profile picture loading and caching2020-12-11T10:34:16ZakwizgranTest performance of profile picture loading and cachingCheck that performance is acceptable when loading a conversation with a large number of profile pictures (eg a forum with posts from many contacts).
Depends on #1845. Subtask of #214.Check that performance is acceptable when loading a conversation with a large number of profile pictures (eg a forum with posts from many contacts).
Depends on #1845. Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1847UI for choosing profile picture2020-12-11T10:34:02ZakwizgranUI for choosing profile pictureAdd an item to the settings screen that shows the user's current profile picture (if any) with a button for choosing a new picture.
Create a new confirmation screen that shows the chosen picture cropped to a circle, with an explanation ...Add an item to the settings screen that shows the user's current profile picture (if any) with a button for choosing a new picture.
Create a new confirmation screen that shows the chosen picture cropped to a circle, with an explanation that the picture will only be visible to contacts and buttons to confirm or cancel the choice.
Depends on #1844, #1846. Subtask of #214.Profile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1846Refactor image compression code for reuse outside messaging client2020-12-07T11:49:19ZakwizgranRefactor image compression code for reuse outside messaging clientFactor out AttachmentCreationTask#compressImage() so it can be reused when storing the user's profile picture.
Subtask of #214.Factor out AttachmentCreationTask#compressImage() so it can be reused when storing the user's profile picture.
Subtask of #214.Profile picturesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1845Show profile picture in AuthorView using Glide2020-12-11T10:34:26ZakwizgranShow profile picture in AuthorView using GlideIf an AuthorInfo specifies a profile picture, AuthorView should load it using Glide instead of showing an identicon.
Depends on #1842 and #1844. Subtask of #214.If an AuthorInfo specifies a profile picture, AuthorView should load it using Glide instead of showing an identicon.
Depends on #1842 and #1844. Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1844Add core method for loading a profile picture2020-11-30T12:31:04ZakwizgranAdd core method for loading a profile pictureAdd a core method for loading a profile picture as an InputStream, give the message ID and content type. This will be similar to MessagingManager#getAttachment(), so consider whether that method and the Attachment and AttachmentHeader cl...Add a core method for loading a profile picture as an InputStream, give the message ID and content type. This will be similar to MessagingManager#getAttachment(), so consider whether that method and the Attachment and AttachmentHeader classes should be factored out.
Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1843Create sync client to exchange profile pictures with contacts2020-11-30T12:31:03ZakwizgranCreate sync client to exchange profile pictures with contactsThis client will sync single-block messages initially, pending large message support.
Subtask of #214.This client will sync single-block messages initially, pending large message support.
Subtask of #214.Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1842Add message ID of profile picture to Identity, Contact and AuthorInfo classes2020-12-11T10:34:39ZakwizgranAdd message ID of profile picture to Identity, Contact and AuthorInfo classesThis field will be null for identities without a profile picture, or those whose profile picture is unknown.
Subtask of #214This field will be null for identities without a profile picture, or those whose profile picture is unknown.
Subtask of #214Profile picturesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1838Show a bomb icon on messages with self-destruct timers2020-12-03T14:02:14ZakwizgranShow a bomb icon on messages with self-destruct timersSubtask of #804Subtask of #804Self-destructing messagesTorsten GroteTorsten Grote2021-01-31https://code.briarproject.org/briar/briar/-/issues/1837Conversation settings screen2021-04-13T11:49:41ZakwizgranConversation settings screenAdd a per-conversation settings screen, accessible via the conversation screen's menu.
The screen will initially have one setting: a switch that enables or disables self-destructing messages, with an explanation of the timer duration an...Add a per-conversation settings screen, accessible via the conversation screen's menu.
The screen will initially have one setting: a switch that enables or disables self-destructing messages, with an explanation of the timer duration and the fact that changes made by the contact will be followed automatically.
Subtask of #804Self-destructing messagesSebastianSebastian2021-01-31https://code.briarproject.org/briar/briar/-/issues/1836Automatically decline incoming private group invitations when they self-destruct2021-03-11T12:26:10ZakwizgranAutomatically decline incoming private group invitations when they self-destructWhen an incoming private group invitation self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1831) to flag the decline as an automatic response that shouldn't b...When an incoming private group invitation self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1831) 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/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/1834Automatically decline incoming introduction requests when they self-destruct2021-05-05T16:17:22ZakwizgranAutomatically decline incoming introduction requests when they self-destructWhen an incoming introduction request self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1829) to flag the decline as an automatic response that shouldn't be sh...When an incoming introduction request self-destructs without being answered, automatically decline the request. This may require a protocol update (coordinated with #1829) to flag the decline as an automatic response that shouldn't be shown in the UI.
Subtask of #804
Test instructions:
* Use three devices, users A, B and C
* Enable self-destructing messages in the conversations A-B and A-C
* Let A introduce contacts B and C
* Expect invitation messages to arrive at B and C about the invitation
* Expect the invitation messages to have a auto-delete timers
* Let those timers expire. Expect that to trigger an automatic decline of the invitation, i.e. on all three devices it is visible that the introduction failed (due to the expired response)
* Expect all messages from that interaction to destroy after each message's timer expires
* Let A introduce B and C again. Expect this *not* to fail due to an introduction that is already going on (because none should be going on any longer)
* Let B and C accept the introduction
* Expect the introduction to work
* Confirm that B and C have each other in the contact list
* Expect all messages involved in the transaction to have auto-delete timers
* Let those timers expire and expect all those messages to disappearSelf-destructing messagesIvanaIvana2021-01-31