%ents; ]>
Last Message Correction This specification defines a method for marking a message as a correction of the last sent message. &LEGALNOTICE; 0308 Experimental Standards Track Standards Council XMPP Core NOT_YET_ASSIGNED &ksmith; 0.1 2011-11-10 psa

Initial published version.

0.0.2 2011-10-30 kis

Adding discovery, as discussed as a prerequisite to acceptance with Council.

0.0.1 2010-07-20 kis

First draft.

When sending a message, people often introduce typing errors and send a follow-up message to correct them. This specification allows the sending client to flag the second message as correcting the first.

If a server implements message correction, it MUST specify the 'urn:xmpp:message-correct:0' feature in its service discovery information features as specified in &xep0030; and the Entity Capabilities profile specified in &xep0115;.

]]> ... ... ]]>

When a user indicates to the client that he wants to correct the most recently sent message to a contact, the client will resend the corrected message with a new id, and with the replace payload refering to the previous message by id.

But soft, what light through yonder airlock breaks? ]]> But soft, what light through yonder window breaks? ]]>

The 'id' attribute is included on the replace to prevent situations where messages being routed to a different resource than the intended cause incorrect replacements.

A receiving client can choose to replace the previous message in whatever display is used for messages, or in any stored history, or can choose to display the correction in another way.

A client SHOULD alert the user that the displayed message has been edited since it was originally sent.

Clients MUST send ids on messages if they allow the user to correct messages.

To deal with multiple payloads, the sender MUST re-send the entire stanza with only the id and the corrections changed. It is expected that the receiver will then treat the new stanza as complete replacement, but such logic is ultimately the resposibility of the client.

The Sender MUST NOT include a correction for a message with non-messaging payloads. For example, a sender MUST NOT include a correction for a roster item exchange request.

The replacement message could have an entirely different meaning from the original message, so clients will need to warn users that the displayed message has been edited.

None.

Upon advancement of this specification, the ®ISTRAR; shall issue permanent namespaces in accordance with the process defined in Section 4 of &xep0053;.

The following namespaces are requested, and are thought to be unique per the XMPP Registrar's requirements:

  • urn:xmpp:message-correct:0
urn:xmpp:message-correct:0 Support for message correction THIS PROTOXEP ]]>
]]>