XSF Discussion - 2024-05-24


  1. 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?

  2. MattJ

    I think it's irrelevant

  3. Kev

    I don't think it is.

  4. 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.

  5. MattJ

    Can moderators kick other moderators (if they have no affiliation)?

  6. Kev

    By that paragraph, yes, if they both have no affiliation.

  7. Kev

    But a non-member couldn't kick a member.

  8. Kev

    I definitely don't have the rest of 45 memorised to know if there's anything else on the matter elsewhere, though.

  9. MattJ

    There is a table right above that does not imply moderators can kick other moderators

  10. MattJ

    I hesitate to say it implies they can't, but I think it does imply they can't

  11. Guus

    What table are you referring to MattJ?

  12. 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.

  13. 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

  14. 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

  15. Kev

    The section explicitly on kicking is fairly clear about the 'affiliations is what matters' thing.

  16. Kev

    That table does show a moderator kicking another moderator, MattJ

  17. 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).

  18. MattJ

    No, the table says admin or owner :)

  19. Kev

    Who are automatically moderators.

  20. MattJ

    I get that they are both moderators, but I'm curious about if the affiliations are equal

  21. 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.

  22. MattJ

    So I think it's saying that if there is a tie in the roles, then use the affiliation to break the tie?

  23. Kev

    Kinda.

  24. 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"

  25. Kev

    Well, I wouldn't phrase it like that in a XEP, but YKWIM.

  26. Kev

    If an owner was to de-op themselves, for example, the unaffiliated mod would still not be able to kick them.

  27. Kev

    Because they'd still be owner, even though they're temporarily not a moderator.

  28. MattJ

    Guus, you should know better than to ask such questions on a Friday

  29. MattJ

    I suppose you have a small question about XEP-0060 lined up, too? ;)

  30. Guus looks innocent

  31. MattJ

    Yeah, Prosody checks the affiliations as the first step of may_set_role()

  32. Guus

    I'm still busy writing tests for 0045 for the time being, though :)

  33. Guus

    Fishbowler and me are making headway on that server-compliancy-testsuite that we discussed earlier

  34. MattJ

    Great :)

  35. Guus

    https://xmpp-interop-testing.github.io/ for those that want to follow along

  36. 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

  37. 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

  38. MattJ

    Yes

  39. MattJ

    That interpretation is roughly confirmed by the table in 5.1.3

  40. Guus

    wow. Words are hard.

  41. 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)

  42. Zash

    Words, how do they work?

  43. Guus

    Thanks theTedd: https://github.com/xsf/xeps/pull/1344

  44. 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

  45. Guus

    possibly. Incremental improvements > no improvements

  46. 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?

  47. singpolyma

    Is "moderateh room" actually a concept in 45?

  48. Kev

    Yes, moderated rooms are those where non-members are visitors rather than occupants by default.

  49. 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.