briar issueshttps://code.briarproject.org/groups/briar/-/issues2020-12-16T12:59:18Zhttps://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-31https://code.briarproject.org/briar/briar/-/issues/1833Delete messages when their self-destruct timers expire2021-03-11T12:25:31ZakwizgranDelete messages when their self-destruct timers expireCreate a component that tracks pending self-destruct timers and deletes messages when their self-destruct timers expire.
Conversation clients will register messages for deletion during delivery. The new component will be responsible for...Create a component that tracks pending self-destruct timers and deletes messages when their self-destruct timers expire.
Conversation clients will register messages for deletion during delivery. The new component will be responsible for calling back into the client when a message is due to be deleted. This will allow the client to take any necessary steps before deletion, such as declining an open introduction.
Subtask of #804Self-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1832Store self-destruct timer duration2020-12-16T12:58:10ZakwizgranStore self-destruct timer durationFor each contact, store the local timer duration for self-destructing messages and the time when it was updated. When a message is received from the contact with a different timer duration and higher timestamp, update the local timer dur...For each contact, store the local timer duration for self-destructing messages and the time when it was updated. When a message is received from the contact with a different timer duration and higher timestamp, update the local timer duration. There should also be methods for setting the duration manually and querying the duration when sending a message.
Subtask of #804Self-destructing messagesakwizgranakwizgran2021-01-31https://code.briarproject.org/briar/briar/-/issues/1831Update private group sharing client to include a self-destruct timer in each ...2020-11-30T12:45:14ZakwizgranUpdate private group sharing client to include a self-destruct timer in each messageSubtask of #804Subtask of #804Self-destructing messagesakwizgranakwizgran2021-01-31https://code.briarproject.org/briar/briar/-/issues/1830Update blog and forum sharing clients to include a self-destruct timer in eac...2020-11-30T12:45:14ZakwizgranUpdate blog and forum sharing clients to include a self-destruct timer in each messageSubtask of #804Subtask of #804Self-destructing messagesakwizgranakwizgran2021-01-31