-
-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Specify a means for clients to "edit" previous messages (SPEC-410) #184
Comments
Links exported from Jira: relates to SPEC-9 |
As with redactions, this will presumably take the form of an event which refers to the original event. -- @richvdh |
Since Gitter has the ability to perform message updates (it lets users edit their most recent message) the Matrix-Gitter bridge has to handle this. Currently it does it by performing a diff between the old and new content, stripping a common prefix and suffix and then presenting the resulting change on the Matrix side in a (somewhat) helpful way. I've made mention of this spec bug in the code there, so if a better means arrives in Matrix to represent this it can be updated. See -- @leonerd |
Pretty, pretty please with sugar on top add this soon. -- Andrew |
Is there a branch or a PR regarding this issue where we could follow implementation of this issue? |
there's a contribution from @pik at matrix-org/matrix-react-sdk#588 but we haven't yet got to properly review or merge it, as the core team is drowning in E2E bughunting etc. Agreed that it's a hugely important feature. |
Maybe in near future you will have time to review this contribution? Edit message feature will be very useful for people, especially for blog-like rooms via Matrix Live or Journal |
Some discussion with @richvdh revealed the following:
There appear to be three solutions:
If no objections are made, I hope to make a proposal for implementing the last solution soon. Other issues:
|
Hope I'm not intruding here. I've read your very interesting post @NotAFile and that made me thinking. Disclaimer: I'm merely proposing a solution from my perspective, hoping it's also what most of the users would like to have as well. Although I'm a programmer myself, I reckon I don't know anything about decentralized messaging apps 😄 From a user perspective, I think the user should have all the rights over his messages. And by that, I think this is what Matrix should be aiming to. Of course, there is always the problem of a third party server that don't follow the protocol and, for instance, keeps all the versions of the messages, even if the user asked to delete it... but we can't do anything against that, can we? So, with that in mind, I think a solution could be to see the history of the messages. This is helpful for both the author of the message, but also the other users that can see what has been edited (that would actually be a feature Slack doesn't have). By being able to see the history of his message, the user will understand that editing the message simply adds a new "revision" to the message, but if he wants to delete the message entirely, he'll have to delete his message (with a confirmation window, showing that this is "more permanent" than a simple edit). |
I support proposal for editing message via adds new revision (like comments in Facebook)- this will be best way. Maybe this can be implemented via Threaded Messaging feature, with special mark that this is thread for message revision, and display only last revision for this thread type. |
Would love to see this in soon. I did want to point out one potential complication with this that I don't think has been mentioned: For messages that were composed using markdown syntax in riot, the markdown text gets converted to html and stored in the formatted_body attribute of the message event, and I believe this happens on the client side before the event is sent to the homeserver. When starting an editing on a previous message, you'd presumably want to edit it the same way you originally composed it.. for e.g., using the markdown syntax you originally used. The problem is, the way things work now, that original syntax is effectively gone by the time you go to edit the message -- as just mentioned, it was converted to html before being sent to the server. Something would have to be done about this. That might mean storing the original text (i.e. markdown) used to compose every message in the events that are sent to the home server. To go further with it, perhaps the original syntax used to compose all messages should be the only thing send to the server, and it should be converted to html on the receiving end. Or something else I haven't thought of. Perhaps a matrix dev can chime in with some ideas/comments. In any case, It does seem like a significant complication to me, unless I'm missing something obvious. |
@AndrewJDR The messages include both a |
Not really. The |
@Matrixcoffee not quite. Therefore |
|
Well it's not part of the spec, and Riot was the first client that started using it and pretty much decide what is valid for the |
matrix-console (which preceded Riot) also used it: https://github.com/matrix-org/matrix-angular-sdk/blob/84b0b64d3a6b3ecb602783123481cdca65a78e3e/syweb/webclient/lib/matrix.js#L171-L179 In any case, the ongoing recommendation (which obviously should be added to the spec, like everything else) is that the |
@turt2live: There are tiny little niggles like stripping backslashes. After all, if I send a shrug emoticon, I'd expect the plain body to contain |
Isn't the proposal about event structure supposed to officially fix an event representation that could be used for editing? |
matrix-org/matrix-spec-proposals#1695 should probably be linked here |
this will be fixed by matrix-org/matrix-spec-proposals#1849 once it is done. |
or, now that MSC1849 has been superceded, matrix-org/matrix-spec-proposals#2676. |
fixed by #1211 |
Submitted by @matthew:matrix.org
(Imported from https://matrix.org/jira/browse/SPEC-410)
The text was updated successfully, but these errors were encountered: