Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XEP-0045 ambiguity concerning "visitor" role in unmoderated rooms #3428

Open
JohnXLivingston opened this issue Jun 20, 2024 · 1 comment
Open
Milestone

Comments

@JohnXLivingston
Copy link
Contributor

Describe the bug

XEP-0045 MUC considers that the "visitor" role is related to the room "moderated" option. But the XEP is not very clear about what we should do when an occupant has "visitor" role on an unmoderated room.

There is just this, somewhere hidden in the middle of the XEP: "** An implementation MAY grant voice by default to visitors in unmoderated rooms."

If we test with the Prosody server, and with ConverseJS as client, we can do "/mute XXX" in an unmoderated room.
This will indeed set the occupant as "visitor", and bounce all his messages.

But in such case, ConverseJS does not disable the message field. This is because of this part of the code:

canPostMessages () {
  return this.isEntered() && !(this.features.get('moderated') && this.getOwnRole() === 'visitor');
}

I think we should remove the test on this.features.get('moderated').

To Reproduce
Steps to reproduce the behavior:

  1. Join an unmoderated room with 2 accounts: one owner, the other just participant (on a Prosody server)
  2. With the owner, do /mute the_other_account
  3. See that the participant is now visitor, and that if he tries to send a message, Prosody will bounce it.

Expected behavior

Message field should be disabled for the visitor.

@Neustradamus
Copy link

To follow this ticket

@jcbrand jcbrand modified the milestone: 11.0.0 Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants