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

MSC3786: Add a default push rule to ignore m.room.server_acl events #3786

Merged
merged 16 commits into from
Jul 17, 2022
Merged
50 changes: 50 additions & 0 deletions proposals/3786-acl-notifs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# MSC3786: Add a default push rule to ignore `m.room.server_acl` events

`m.room.server_acl` events allow for expressing which servers can participate in
a room. Room server ACLs aren't something the user should have to worry about,
so these events should not trigger notifications; however right now they *do*
trigger notifications, if the user has the room rule set to `notify` (`All
messages` in Element).

Additionally, these events are often sent quite frequently during spam attacks,
which causes the users to be overwhelmed by
notifications. (See <https://github.com/vector-im/element-web/issues/20788>.)

Due to these problems, this MSC proposes a new push rule to ignore these events.
The new push rule is analogous to `.m.rule.member_event` (see <https://spec.matrix.org/v1.2/client-server-api/#default-override-rules>), or `.m.rule.reaction`
(from [MSC2153](https://github.com/matrix-org/matrix-spec-proposals/pull/2153)
or [MSC2677](https://github.com/matrix-org/matrix-spec-proposals/pull/2677)).

## Proposal

A new [default override
rule](https://spec.matrix.org/v1.2/client-server-api/#default-override-rules) is
to be added that ignores `m.room.server_acl` events:

```json
{
"rule_id": ".m.rule.room.server_acl",
richvdh marked this conversation as resolved.
Show resolved Hide resolved
"default": true,
"enabled": true,
"conditions": [
{
"kind": "event_match",
"key": "type",
"pattern": "m.room.server_acl"
},
{
"kind": "event_match",
"key": "state_key",
"pattern": ""
}
],
"actions": []
}
```

This new push rule is inserted immediately after `.m.rule.tombstone`.

## Unstable prefix

During development, `.org.matrix.msc3786.rule.room.server_acl` is to be used
instead of `.m.rule.room.server_acl`.