-
Notifications
You must be signed in to change notification settings - Fork 434
MSC3784: Using room type of m.policy for policy rooms
#3784
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
base: main
Are you sure you want to change the base?
Changes from all commits
3a39930
32dca9f
4e5c46c
8f3a8b4
8d99dca
7278e35
5b6fb95
49a15d9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| # MSC3784 Using room type of m.policy for policy rooms | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Making this thread to track Implementation status outside of the PR descript. Implementation Tracking Mjolnir as of da08432 and that commit is included in Release 1.6.0. Mjolnir implementation at time of writing only includes that it creates rooms for policy lists with the type.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does Nheko use it besides just declaring the constant?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Policy Editing that utilises MSC3784 to aid in detecting if a room is a policy list is implemented in RMU. Version that implemented first is unknown but current Version as of writing relies on this as one of its 2 detection methods. It also supports legacy detection. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. https://mru.rory.gay/PolicyLists is the particular page in RMU that uses this MSC to find policy rooms. I'm not sure whether it has legacy detection enabled or not, but legacy detection here was implemented by checking for the Mjolnir shortcode state event. It does not show rooms that happen to have policy events, as querying /sync or /state for rooms is very expensive, especially compared to cherry picking 2 events. (Oops, I still have to get rid of the "Create policy list" popup being there by default, which also uses the MSC's unstable type on room creation, additionally I've just uncovered a crash related to fetching room names... That's for the tomorrow pile). |
||
|
|
||
| ## Introduction | ||
|
|
||
| Matrix already has [Moderation Policy Lists](https://spec.matrix.org/v1.17/client-server-api/#moderation-policy-lists) | ||
| which describe policy recommendations through state events. In typical usage, | ||
| these policy recommendations tend to appear in dedicated rooms, though are not | ||
| required to. | ||
|
|
||
| Having the policy recommendations in dedicated rooms helps clients better understand | ||
| the purpose of a room, and potentially hide it if the client knows it can't do | ||
| much with that dedicated purpose. For example, a messaging client might want to | ||
| hide policy list rooms by default to avoid showing "non-conversational" rooms to | ||
| the user. | ||
|
|
||
| This proposal introduces a [room type](https://spec.matrix.org/v1.17/client-server-api/#types) | ||
| to denote such dedicated rooms. | ||
|
|
||
| ## Proposal | ||
|
|
||
| Rooms dedicated to containing policy list recommendations SHOULD use a newly | ||
| defined `m.policy` room type. How clients choose to (not) handle the new type is | ||
| left as an implementation detail. | ||
|
|
||
| Where the `m.policy` room type is used, conversation is not expected. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Small quibble that I wouldn't block this MSC on, but should we use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't the policy server MSC then also be updated to use
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Im not married to any particular final name for the room type. I was just copying the precedent set by spaces at the time of writing originally. So i will take this to the saftey guild and ask them for input on what the name should be.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe we're already using this term, and that's ok. Thanks for providing the context on why this was chosen. It just stuck out to me as really vague. Would be curious for other SCT input here. |
||
| Clients SHOULD note that moderation policies can appear in rooms without the `m.policy` type, | ||
| where conversation could be present. | ||
|
|
||
| ## Potential issues | ||
|
|
||
| Clients which have dedicated UX for policy rooms might not be able to apply that | ||
| UX to rooms missing the `m.policy` room type. They can try to look for recommendation | ||
| state events contained in the room, though if their dedicated UX is invasive then | ||
| it may hide conversation being had in the room. This proposal does not attempt to | ||
| make rooms without the `m.policy` room type, but still contain policy recommendations, | ||
| invoke any dedicated UX a client might have - clients can choose how/if they handle | ||
| this case. | ||
|
|
||
| ## Alternatives | ||
|
|
||
| Peeking over federation, like in [MSC2444](https://github.com/matrix-org/matrix-spec-proposals/pull/2444), | ||
| can help clients identify rooms which contain policy list recommendation state | ||
| events. However, as identified above, this may be insufficient to properly | ||
| identify rooms *dedicated* to containing those state events. | ||
|
|
||
| ## Security considerations | ||
|
|
||
| This change is largely informative and carries no direct security impact. Clients | ||
| which interpret the `m.policy` room type will need to consider security in their | ||
| implementations. For example, if hiding the rooms then notifications in those | ||
| rooms will need some consideration. | ||
|
|
||
| ## Unstable prefix | ||
|
|
||
| If you want to implement this MSC before its merged you're free to use the unstable type of | ||
| `support.feline.policy.lists.msc.v1`. | ||
|
|
||
| After this MSC gets merged if a stakeholder has elected to remove its support for the unstable prefix if any | ||
| Because the room type is immutable, rooms which use the unstable room type might | ||
| find themselves "unsupported" when/if implementations drop support for the unstable | ||
| type when this proposal becomes stable. | ||
|
|
||
| ## Dependencies | ||
|
|
||
| The Author is not aware of any unstable MSC dependencies for this MSC. | ||
Uh oh!
There was an error while loading. Please reload this page.