[Standards] Mediated MUC invitations for someone already in room
bcully at gmail.com
Thu Jun 23 16:17:11 UTC 2016
It’s currently unspecified in XEP-0045 § 7.8.2 what should be done when multiple mediated invitations are sent, or when an invitation is sent to someone already in the room.
Part of me wants to just duplicate the wording in XEP-0249 § 4, because it’s fairly straight forward on the server end to just blindly forward invitations, and clients may be able to reuse logic for XEP-0249.
OTOH, since it’s a mediated invitation, the MUC service already has state about pending invitations and room occupants. I don’t see a way for the service to determine that an invitation was successfully sent to a given JID (the JID may be offline, the JID’s server may silently drop messages from contacts not in its roster, the JID may simply be ignoring the invitation), so in that case it’s probably best to simply send an invitation to the JID when a mediated invitation is requested.
However, in the case that a JID is already in a room it’s probably better to just ignore the mediated invitation, however this doesn’t provide any feedback to the inviter that the invitee is already there — but this is true in direct invitations as well — and supplying that information may allow a form of harvesting in anonymous rooms: if an inviter suspects a person is in a room, they can send a mediated invitation to the room to the suspect and see if there’s an “already in room” response.
Given this, I’m leaning on just duplicating the behavior of XEP-0249.
If a client receives multiple invitations to the same room (e.g., a mediated invitation as defined in XEP-0045 and a direct invitation as defined here), the client SHOULD present only one of the invitations to a human user. If a client receives an invitation to a room in which the user is already an occupant, the client SHOULD silently discard the invitation.
More information about the Standards