-
Guus
XEP-0045 Section 8.2: > A user cannot be kicked by a moderator with a lower affiliation. Therefore, if a moderator who is a member attempts to kick an admin or a moderator who is a member or admin attempts to kick an owner, the service MUST deny the request and return a <not-allowed/> error to the sender What is the relevance of "who is a member" in this statement?
-
MattJ
I think it's irrelevant
-
Kev
I don't think it is.
-
Kev
Moderator is role rather than affiliation, so it's saying that when you're both moderators by role, you still have to check the affiliation to see if you can kick.
-
MattJ
Can moderators kick other moderators (if they have no affiliation)?
-
Kev
By that paragraph, yes, if they both have no affiliation.
-
Kev
But a non-member couldn't kick a member.
-
Kev
I definitely don't have the rest of 45 memorised to know if there's anything else on the matter elsewhere, though.
-
MattJ
There is a table right above that does not imply moderators can kick other moderators
-
MattJ
I hesitate to say it implies they can't, but I think it does imply they can't
-
Guus
What table are you referring to MattJ?
-
Kev
I'd say that the combination of > A moderator has permissions to kick certain kinds of occupants from a room (which occupants are "kickable" depends on service provisioning, room configuration, and the moderator's affiliation -- see below). and > A user cannot be kicked by a moderator with a lower affiliation. Therefore, if a moderator who is a member attempts to kick an admin or a moderator who is a member or admin attempts to kick an owner, the service MUST deny the request and return a <not-allowed/> error to the sender: Is pretty clear that a moderator can kick people of a lower affiliation. Otherwise it wouldn't have to explain that you can't kick people of a higher affiliation. But this is XEP-0045.
-
Kev
Although the enumeration at the start of 8 does somewhat imply that moderators can never kick moderators, I can see that too. > kick a participant or visitor from the room
-
MattJ
Guus, oh, now I see your quote is from a different place that says roughly the same thing (?). I was looking at https://xmpp.org/extensions/xep-0045.html#roles-change
-
Kev
The section explicitly on kicking is fairly clear about the 'affiliations is what matters' thing.
-
Kev
That table does show a moderator kicking another moderator, MattJ
-
Kev
> Exit room or be kicked by an admin or owner * > * A moderator SHOULD NOT be allowed to revoke moderation privileges from someone with a higher affiliation than themselves (i.e., an unaffiliated moderator SHOULD NOT be allowed to revoke moderation privileges from an admin or an owner, and an admin SHOULD NOT be allowed to revoke moderation privileges from an owner).
-
MattJ
No, the table says admin or owner :)
-
Kev
Who are automatically moderators.
-
MattJ
I get that they are both moderators, but I'm curious about if the affiliations are equal
-
Kev
All the bits of text I've found so far have said that you can kick a person unless they're higher affiliation than you.
-
MattJ
So I think it's saying that if there is a tie in the roles, then use the affiliation to break the tie?
-
Kev
Kinda.
-
Kev
I think I'd phrase it as "Moderators can kick, and when they kick the affiliation of the kicker and kickee must be checked and kicker must be >= kickee"
-
Kev
Well, I wouldn't phrase it like that in a XEP, but YKWIM.
-
Kev
If an owner was to de-op themselves, for example, the unaffiliated mod would still not be able to kick them.
-
Kev
Because they'd still be owner, even though they're temporarily not a moderator.
-
MattJ
Guus, you should know better than to ask such questions on a Friday
-
MattJ
I suppose you have a small question about XEP-0060 lined up, too? ;)
- Guus looks innocent
-
MattJ
Yeah, Prosody checks the affiliations as the first step of may_set_role()
-
Guus
I'm still busy writing tests for 0045 for the time being, though :)
-
Guus
Fishbowler and me are making headway on that server-compliancy-testsuite that we discussed earlier
-
MattJ
Great :)
-
Guus
https://xmpp-interop-testing.github.io/ for those that want to follow along
-
Guus
> if a moderator who is a member attempts to kick an admin or a moderator who is a member or admin attempts to kick an owner, I think this line can be interpreted in multiple ways
-
Guus
Is this what is intended? if a moderator (who is a member) attempts to kick an admin, or if a moderator (who is a member or admin) attempts to kick an owner
-
MattJ
Yes
-
MattJ
That interpretation is roughly confirmed by the table in 5.1.3
-
Guus
wow. Words are hard.
-
theTedd
Words are at least easier when properly written > if a moderator who is a member attempts to kick an admin, or a moderator who is a member or admin attempts to kick an owner, (one comma makes a big difference)
-
Zash
Words, how do they work?
-
Guus
Thanks theTedd: https://github.com/xsf/xeps/pull/1344
-
theTedd
I expect there are many more instances to be fixed, but then comes the worry of potentially changing the meaning, or at least others' interpretation of the way it was originally
-
Guus
possibly. Incremental improvements > no improvements
-
Guus
XEP-0045 Section 5.1 (table 2) defines support for the Visitor role RECOMMENDED. How can one test if an implementation supports this role? When the implementation does not support the role, how does that affect the moderated vs. unmoderated room definition?
-
singpolyma
Is "moderateh room" actually a concept in 45?
-
Kev
Yes, moderated rooms are those where non-members are visitors rather than occupants by default.
-
Guus
Are moderated rooms therefore optional, if the role of Visitor is RECOMMENDED (rather than required)? I'm not sure if I can correlate like that.