Skip to content

Implement disappearing messages

Matti Viljanen requested to merge disappearing-messages into main
  • Expose message expiry data to GUI
  • Show time remaining indicator on message bubble
  • Don't mark ExpirationTimerUpdate messages as expiring
  • Don't mark Group changed by xxx messages as expiring
  • Expose session expiry data to GUI
  • Notify backend when an expiring message has been shown for the first time
  • Make backend actually delete messages
    • Delete or mark-as-deleted? Signal Desktop doesn't leave the message bubble behind.
    • Attachments too? Needs to be tested.
  • Add expiry icon to SessionDelegate
  • Add expiry period icon to ConversationPage
  • Add expiry period icon to GroupProfilePage
  • Split GroupProfilePage into RecipientProfilePage
  • Add expiry period to DirectMessageProfilePage
  • Add expiry setting to GroupProfilePage
  • Better trigger for the "read" signal; currently a dim screen with open session already triggers the read
    • Initial detection of on-screen messages is now implemented
  • Fix behavior of ExpiringMessagesComboBox
  • Implement changing the expiry period to database
  • Send an update message when changing expiry period
  • Incoming message is not marked as read/expiring when the conversation is open (and scrolled to bottom?)

One important aspect to handle with care:

  • Decide and implement handling of messages marked as disappearing before user installed the update
    • We do not want to unexpectedly delete users' messages and attachments
    • Essentially: after the cut-off, there should be no choice, but how to handle the previously-arrived messages?
    • → Current implementation: start old messages' expiry when they are read (again), i.e. when the session is opened and the message is on the screen

Fixes #279 (closed) and #166 (closed)

  • Check if this fixes any other issues
Edited by Matti Viljanen

Merge request reports