I just discovered it’s possible to edit the last msg that was sent over XMPP.
Dino
Has the capability. But it does not give you a record of past versions. It would be useful if Dino would still show you your past versions because you cannot know if the other party saw the uncorrected version. So you should have a record of those erroneous payloads.
Profanity
Has the capability. But it cannot correct a msg that you composed in another client. That may be a protocol limitation. Maybe they don’t want the complexity of having edited versions signed by a different key.
Strangely, Profanity only updates the display if an inbound correction (e.g. from Dino) is minor. Dramatic edits in Dino seem to be ignored by Profanity. Also strange that when Profanity accepts an inbound update from Dino, the existing msg text is updated. One might expect text in a TUI to not be altered in place. It’s an IRC-like interface.
Snikket
Does not have the capability of making corrections. But it fully accepts inbound alterations no matter how dramatic the change is.
Well, technically XMPP just sends a new message on edit and tells clients that this should be displayed in stead of the old one. So the edit history is fully preserved and how to display it is up to the clients.