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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: [email protected]
_______________________________________________

Reply via email to