[Standards] Call for Experience: XEP-0184: Message Delivery Receipts

Georg Lukas georg at op-co.de
Tue Mar 17 17:09:46 UTC 2020

* Jonas Schäfer <jonas at wielicki.name> [2020-03-17 17:28]:
> - Are clients allowed to reply receipt requests when fetching messages from 
> MAM? I think they are, despite the wording in the text (which IMO only 
> considers the user browsing an archive), but I guess the wording needs 
> cleaning up.

In my implementation (which mimicks behavior from others, as I've
heard), I will build up a list of unacked messages when syncing messages
from MAM:

- add JID + ID to the list when receiving a message
- remove JID + ID when receiving a "carbon copy" of an outgoing ACK

(this approach obviously depends on receiving messages in chronological

After MAM sync is finished, I will send ACKs for all IDs that are still
in this list. From some initial measurements, even when syncing a month
worth of messages from MAM, the number of outgoing ACKs is very
moderate (just a handful), as it will only ACK messages that weren't yet
acked by another client. Of course, if you've been offline with all your
devices for a week, this number will be significantly higher.

> - When syncing multiple messages from an archive, sending a receipt for each 
> one is expensive and wasteful. A way to send multiple receipts in a single 
> message would be appreciated.

Yes, it would be nice, and it was a sad oversight in the original
specification. However, just allowing for multiple ACK payloads in one
message will be a breaking change, thus requiring a namespace bump, and
the benefit is questionable. I suppose we could do this if we first
establish a kind of omni-present mod_receipts_compat server module that
will combine/split multi-receipts into old-namespace single-receipts
based on the namespace advertised by a client.

> - It would be nice if receipts could integrate with MAM better to avoid 
> fetching all the ACKs.

That sounds like a job for MAM Fastening Collation.

> - I wonder if it would be worthwhile to have MAM reply to receipts on behalf 
> of the user.

A categoric NO here. Servers are much more stable and long-living than
clients. If I have abandoned XMPP, there is really no value in my server
sending you receipts to all the messages you sent to me, basically
forever. There is real value in knowing that a message arrived at a
user's end device.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/standards/attachments/20200317/c2a0a3db/attachment.sig>

More information about the Standards mailing list