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

MSC4179: Moderation event hiding #4179

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Prev Previous commit
Next Next commit
Update 4179-moderation-hidden.md - Comparison with #3531
  • Loading branch information
tranquillity-codes authored Aug 21, 2024
commit 997543884f5ade2c7aeb7e93113d0f2a6f1f6206
17 changes: 17 additions & 0 deletions proposals/4179-moderation-hidden.md
Copy link
Member

Choose a reason for hiding this comment

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

Having a comparison to #3531 would be appreciated.

Copy link
Author

Choose a reason for hiding this comment

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

Based on a quick look, the differences I noticed:
The motivation is different. #3531 is primarily for hiding message events pending moderation, while #4179 is for hiding state events that have already happened but include content that one might not wish to be visible (such as a user with an offensive MXID getting banned)
#3531 is less granular. Its visibility: hidden corresponds to the hidden level in #4179, but there is no equivalent of the spoiler level. Additionally, #3531 uses a free-form string, which cannot be automatically matched on by a client, while #4179 uses a tag list (allowing someone to customize what events they are okay with seeing, and allowing optional fine-grained control over the completeness vs safety of room history per-client)
#3531 requires the sending of a separate event, while #4179 has no such race condition, plus piggy-backs off of edit events for changing the state.

I will note this down in the MSC (and should probably mention that it should support edits, unsure if it requires a mention or not)

Copy link
Author

Choose a reason for hiding this comment

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

Both have been noted in the MSC contents now

Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ Example:
}
```

This key should be retroactively editable.
Since this is intended primarily for state events, this also means allowing the modification of this part of a state event.
Thankfully, this is only metadata, and it does not change the actual protocoal-critical parts of the stat event, so there should be no problem,
but it's important to mention it nonetheless.

## Client implementation
A client should offer a three-state option in its settings about the interpretation of the hints.
- Respect the hints
Expand All @@ -40,6 +45,18 @@ A client should offer a three-state option in its settings about the interpretat
## Unstable prefix
Use `org.itycodes.msc4179.moderation_hidden` in place of `m.moderation_hidden`.

## Comparison with #3531
##### Motivation
#3531 is primarily for hiding message events pending moderation, while #4179 is for hiding state events that have already happened but include content that one might not wish to be visible
(such as a user with an offensive MXID getting banned).
#3531 is likely to have the hidden status of an event retracted and the message deleted, while #4179 is unlikely to have the hidden status modified after the event has been sent
##### Granularity
#3531 is less granular. Its `visibility: hidden` corresponds to the `hidden` level in #4179, but there is no equivalent of the `spoiler` level.
Additionally, #3531 uses a free-form string, which cannot be automatically matched on by a client, while #4179 uses a tag list
(allowing someone to customize what events they are okay with seeing, and allowing optional fine-grained control over the completeness vs safety of room history per-client)
##### Race condition
#3531 requires the sending of a separate event, while #4179 has no such race condition, plus piggy-backs off of edit events for changing the content.

## Further work
Standardizing the list of tags

Expand Down