Missing stanza-id attribute in mode-change messages?
I'm using Biboumi 8.0 with ejabberd 18.04 and Gajim 1.0.3.
- Join a Biboumi MUC (say,
- Wait until a participant's mode changes (e.g. promoted to operator).
- Gajim complains that the MUC is non-compliant and adds it to its MAM blacklist.
Here's the offending stanza:
<message firstname.lastname@example.org/Gajim' email@example.com' type='groupchat' id='12345678-9abc-def0-1234-56789abcdef0'><body>Mode #channel [+o randomuser] by otheruser</body></message>
The Gajim developers say this (https://dev.gajim.org/gajim/gajim/issues/9169):
This is expected behavior, the MUC announced mam:2 capabilities but breaks the spec afterwards in sending messages that have no stanza-id attr
The XEP states (https://xmpp.org/extensions/xep-0313.html#archives_id):
When a message is archived, the server MUST add an element as defined in Unique and Stable Stanza IDs (XEP-0359)  to the message, which informs the recipient of where and under what ID the message is stored.
I'm not entirely sure how to interpret that sentence. It might mean that it's perfectly legal to leave out the
stanza-id attribute in messages that are not supposed to be archived. That said, I'm not an XMPP-specification pundit.
Either way, does Biboumi intend explicitly not to archive those messages - in which case we would have to discuss this with the Gajim developers - or is it just an oversight on the part of Biboumi?