[Standards] Blocking a MUC participant
zash at zash.se
Tue Sep 29 22:43:17 UTC 2015
With Privacy lists and Blocking command being brought up, I'd like to
raise an issue they both have: blocking a MUC participant. Both
XEP-0016 and XEP-0191 states that when someone who has been blocked
attempts to communicate with the the user:
> For message stanzas, the server SHOULD return an error, which SHOULD
> be <service-unavailable/>.
Both XEPs have this identical text¹². A weird thing arises when you
block a MUC participant tho, namely that you (appear to) send an error
stanza to the MUC. This may make the MUC think that you have silently
gone offline, and to prevent ghosts, kicks you out.
This isn't really very nice. It can be partially solved by not bouncing
groupchat messages, but private messages through the room would still be
a problem. And someone spamming in PM could be why you blocked them.
I can see two or three solutions.
1) Drop messages instead of bouncing.
2) Keep track of MUC joins and drop blocked MUC participants messages.
3) Move the blocking to the MUC itself (something for MUC2?).
I would prefer 1.
2 would mean more complicated code that touches more places than the
block list and the current stanza.
3 has some benefits (or overlap with incident reporting) such as being
able to notify room owners or automatic kick if enough participants
XEP-0016 has this footnote:
> Until version 1.5 of this document (therefore also in RFC 6121),
> it was recommended to silently ignore message stanzas, which
> unfortunately resulted in a delivery "black hole" regarding message stanzas.
I don't really understand how that is a bad thing. If you blocked
someone, do you want to appear eternally offline or do you want to
appear as if you deleted your account? Normally, a message for someone
who is offline would go into offline storage for later delivery, so
there would be no reply.
Kim "Zash" Alvefur
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 836 bytes
Desc: OpenPGP digital signature
More information about the Standards