#1982 MUC Presence misses required user attributes

Reporter lovetox
Owner Nobody
Created
Updated
Stars ★ (1)
Tags
  • Priority-Medium
  • Status-New
  • Compliance
  • Type-Defect
  1. lovetox on

    Please provide a snippet of the part of the specification which we violate if possible: In order to inform occupants of room roles and affiliations, and to make it easier for clients to track the current state of all users in the room, MUC service implementations MUST provide role and affiliation data (and, if allowed by the room configuration, full JID) in all presence stanzas, including presence stanzas of type "unavailable" sent when a user exits the room for any reason. Please provide a link to the specification: https://xmpp.org/extensions/xep-0045.html#bizrules-presence Steps to reproduce: - Have 2 clients with same nick (lovemovim2) joined to the MUC - Change nick on client 1 to "lovemovim" - Change nick on client 2 to "lovemovim" after the nick change of the client 2, prosody sends a unavailable presence for "lovemovim2" with missing affiliation and role data. This produce the following stanza input on client 1: <!-- Incoming Mo 09 Feb 2026 10:51:06 (lovetox2@movim.eu) --> <presence xmlns="jabber:client" to="lovetox2@movim.eu/gajim.QD8X38UF" from="jayasayi@conference.hydrant.one/lovemovim2" type="unavailable"> <x xmlns="http://jabber.org/protocol/muc#user"> <item nick="lovemovim" affiliation="member" jid="lovetox2@movim.eu/gajim.QD8X38UF" role="participant" /> <status code="303" /> <status code="110" /> </x> </presence> <!-- Incoming Mo 09 Feb 2026 10:51:06 (lovetox2@movim.eu) --> <presence xmlns="jabber:client" xml:lang="en-US" to="lovetox2@movim.eu/gajim.QD8X38UF" from="jayasayi@conference.hydrant.one/lovemovim" id="9e434f0b-3f4e-4424-8965-c65ceccb07a0"> <c xmlns="http://jabber.org/protocol/caps" ver="usZsOO/Qatb2CqcK/Nk9R1nCEjE=" node="https://gajim.org" hash="sha-1" /> <x xmlns="vcard-temp:x:update" /> <occupant-id xmlns="urn:xmpp:occupant-id:0" id="OlIrJ/4cGKUzOsnr6Q5y0TjZH/NR3AAg2hhQiiOniIo=" /> <x xmlns="http://jabber.org/protocol/muc#user"> <item affiliation="member" jid="lovetox2@movim.eu/gajim.QD8X38UF" role="participant" /> <status code="110" /> </x> </presence> <!-- Incoming Mo 09 Feb 2026 10:51:06 (lovetox2@movim.eu) --> <presence xmlns="jabber:client" xml:lang="en" to="lovetox2@movim.eu/gajim.QD8X38UF" from="jayasayi@conference.hydrant.one/lovemovim2"> <x xmlns="vcard-temp:x:update" /> <occupant-id xmlns="urn:xmpp:occupant-id:0" id="OlIrJ/4cGKUzOsnr6Q5y0TjZH/NR3AAg2hhQiiOniIo=" /> <x xmlns="http://jabber.org/protocol/muc#user"> <item affiliation="member" jid="lovetox2@movim.eu/Conversations.3VwMkUzSjW" role="participant" /> </x> </presence> <!-- Incoming Mo 09 Feb 2026 10:51:06 (lovetox2@movim.eu) --> <presence xmlns="jabber:client" to="lovetox2@movim.eu/gajim.QD8X38UF" from="jayasayi@conference.hydrant.one/lovemovim2" type="unavailable"> <occupant-id xmlns="urn:xmpp:occupant-id:0" id="OlIrJ/4cGKUzOsnr6Q5y0TjZH/NR3AAg2hhQiiOniIo=" /> <x xmlns="http://jabber.org/protocol/muc#user" /> </presence> <!-- Incoming Mo 09 Feb 2026 10:51:06 (lovetox2@movim.eu) --> <presence xmlns="jabber:client" xml:lang="en-US" to="lovetox2@movim.eu/gajim.QD8X38UF" from="jayasayi@conference.hydrant.one/lovemovim" id="9e434f0b-3f4e-4424-8965-c65ceccb07a0"> <c xmlns="http://jabber.org/protocol/caps" ver="usZsOO/Qatb2CqcK/Nk9R1nCEjE=" node="https://gajim.org" hash="sha-1" /> <x xmlns="vcard-temp:x:update" /> <occupant-id xmlns="urn:xmpp:occupant-id:0" id="OlIrJ/4cGKUzOsnr6Q5y0TjZH/NR3AAg2hhQiiOniIo=" /> <x xmlns="http://jabber.org/protocol/muc#user"> <item affiliation="member" jid="lovetox2@movim.eu/Conversations.3VwMkUzSjW" role="participant" /> <item affiliation="member" jid="lovetox2@movim.eu/gajim.QD8X38UF" role="participant" /> <status code="110" /> </x> </presence>

New comment

Not published. Used for spam prevention and optional update notifications.