Hi, sometimes IM users want to talk to themselves, e.g. to send a URL from one device to another, or to take notes. In systems like Slack this is recognized and the self-message area is provided as a draft board.
In modern XMPP (6121+Carbons/MAM), messages-to-self are always delivered twice(*), breaking this usage pattern. (*) Except for M-Link, which apparently does "the right thing" in violation of the RFC. Example: If I'm user@domain on client /A, and I send a self-message to my bare JID (or even to the same client /A), I will end up with the following. On Client A: [out] <message from=user@domain/A to=user@domain> [in] <message> or <received> Carbon to user@domain/A On Client B: [in] <sent> Carbon of the "outgoing" message from /A [in] <message> or <received> Carbon to user@domain/B Ideally, we only want the message to appear on each client once. The rules in https://tools.ietf.org/html/rfc6121#section-8.5.2.1.1 are very specific: if /A is the only or the most-available resource, the server MUST deliver a second copy of the message to /A. It would be great if instead we could end up with one copy of the message in MAM, one 'sent' carbon on all other clients, and possibly even a message ACK (0184) from MAM to the sending client, so that we can have a visual indication of the message's arrival. Am I overlooking something? This could probably be "solved" on the client-side by interpreting the "sent" carbon as the message and the "received" carbon/message as an ACK, but this looks rather inefficient and would require changes on all involved client implementations. Comments? Georg
signature.asc
Description: PGP signature
_______________________________________________ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: [email protected] _______________________________________________
