[Standards] MAM Corner Cases: MUC-PMs and Self-Messages
ivan at vucica.net
Wed Feb 21 19:30:39 UTC 2018
On Feb 21, 2018 19:05, "Georg Lukas" <georg at op-co.de> wrote:
Philipp H. pointed out an interesting issue today: MUC-PMs are sent by a
MUC to all joined client full-JIDs, so if you are joined to a MUC with
two devices, your account will see two copies of the messages. Your MAM
archive is also going to store two copies of them, with different
MAM-IDs, which makes later deduplication rather complicated (you can't
rely on them having a message ID or an origin-id, and the timestamp
might vary a bit).
Do we want MUC-PMs stored in MAM at all?
Yes, I do.
And if yes, how can we prevent
multiple copies from being stored?
Didn't you suggest it above? Mandatory unique message IDs. Make them
mandatory, and treat nonconforming clients and components as exactly that,
nonconforming. Deprecate id-free messages; support them, but with caveat
that dupes are possible.
If an id is lacking, clients and MAMs can have an undefined behavior: store
both, or dedupe based on (most of?) XML content.
(Please ignore for a moment the
synchronization problems that arise if you respond to MUC-PM copies
before joining the respective MUC).
Another nice corner case are messages to my own JID. Servers will send a
"sent" Carbon Copy of them to all your other clients, then reflect the
message to the "most available" client and send a Carbon Copy to all
others. Each client ends up with two copies of each message, and the MAM
archive probably as well. Does this make sense?
|| http://op-co.de ++ GCS d--(++) s: a C+++ UL+++ !P L+++ !E W+++ N ++
|| gpg: 0x962FD2DE || o? K- w---() O M V? PS+ PE-- Y++ PGP+ t+ 5 R+ ||
|| Ge0rG: euIRCnet || X(+++) tv+ b+(++) DI+++ D- G e++++ h- r++ y? ||
++ IRCnet OFTC OPN ||_________________________________________________||
Standards mailing list
Unsubscribe: Standards-unsubscribe at xmpp.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Standards