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

MSC4060: Accept room rules before speaking #4060

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

turt2live
Copy link
Member

@turt2live turt2live added proposal A matrix spec change proposal client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff hacktoberfest-accepted needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Oct 14, 2023
3. [Event relationships](https://spec.matrix.org/v1.8/client-server-api/#forming-relationships-between-events) -
like we've done for pretty much everything else.

When `m.room.rules` is present in a room, and the user hasn't accepted them, the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably, if a new m.room.rules event is sent, everyone will need to accept the new rules, even if they had previously accepted the old rules. (Which means, among other things, that if a client sees a new m.room.rules state event, it should re-prompt the user to accept it.)

Comment on lines +76 to +80
This MSC deliberately does not tie acceptance of the rules into the event
authorization algorithm. Doing so with the current power level structure in
Matrix rooms could potentially lead to over-imposed opinions on what it means
to "speak" in a room, as well as requiring users to frequently accept rule
changes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my understanding this MSC is limited in this way to keep it small and simple?

As far as I see, there is a trade-off of initially not offering the customizability of

  • "what it means to speak"
  • how to deal with rule updates
  • maybe something I am not seeing or perhaps I am missing some specific context this is trying to address

and the worse UX and community admin effort of (creating,) setting up, and maintaining a bot that handles these.

While I think the additional effort is clear, the "worse UX" could mean e.g.

  • a bot redacts messages and posts a "please accept the rules" message -> spammy and disruptive to the rest of the community, especially if in a big community this happens constantly
  • a bot manages the PL to disallow sending at all, while no user feedback is possible (composer will only say "you can't send messages" and not "please accept the rules")

Most of this will then later become obsolete when a follow-up MSCs expands the possibilities.

Is this trade-off worth it to not make a bigger throw from the start? I would like to see further explanation why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API hacktoberfest-accepted kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants