Under 4. Business Rules XEP-0308 mentions:
> A correction MUST only be allowed when both the original message and
> correction are received from the same full-JID.
However, it has little discussion on why there is this restriction. While it
certainly is a MUST for security reasons in MUC situations where different full
JIDs are different accounts (i.e. associated to different bare JIDs), it is
less so for security reasons in the non-MUC case.
I’ve shortly discussed it with other community members in the XSF chatroom ,
but thought I’d bring it up here for discussion with a wider audience, while
providing a short summary of the room discussions below:
When would a client send an correction for a message from another account
resource? Two cases come to mind:
a) Carbons, editing a message from another client when you switch clients
b) Reconnection, where a client has the server assign it a resource.
What would speak for allowing edits across resources:
From a UX perspective, clients show messages the same, no matter if your
current resource has send it or another resource and you’ve received a carbons
for it. At least this is the case for Conversations and Swift from my
experience. I think it would not be obvious to a user why they can edit only
some of their sent messages.
Allowing edits across resource changes and carbons would provide a more
What speaks against it:
Cross resource edits may rarely be needed as you usually notice your errors
right away and fix them directly afterwards.
Another case is where a server sends different carbons messages to different
resources. Some think allowing cross-resource corrections will open a can of
What do you think? Do you have further comments on this issue?
Standards mailing list