Thanks for sharing your idea! Please use this template to keep things organized
Idea name: Edit messages Description: Users should be able to edit their messages. Any message that was altered will have a flag indicating that the content was edited as well as the date this edition happened. If any user clicks / taps over an edited message, they will be able to see the previous versions of the messages in a popup. Use case: As a user, I want to edit my messages so that i can replace their content while still being able to look at the edit history Target user: Any user Why this is important: This is useful to correct spelling errors, grammar, incorrect information, etc, while still being able to look at how the message has changed over time Any other comments:
This should be technically viable by adding an optional attribute to the message payload indicating which messageId is being replaced (this is similar to the responseTo attribute used for replies)
If you think this is a great idea and know how to implement it, consider posting a project proposal on Assemble.
The message would not be “edited” per se, but replaced on the UI. They would be sent as soon as the user taps the send button. At the protocol level it would be N messages for each edition. i.e.:
Suppose you send a message with the following payload:
As you can see in this example, three messages are being sent (the original message, and the editions), but the UI would handle these as if they were a single message but with a new flag like this
Different client implementations could decide whether they want to display the messages as separate or not, and could decide whether to accept altered messages that happened >10s of the original message being sent, or discard them (not show those messages on the UI)