diff --git a/proposals/3786-acl-notifs.md b/proposals/3786-acl-notifs.md new file mode 100644 index 00000000..ee743425 --- /dev/null +++ b/proposals/3786-acl-notifs.md @@ -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 .) + +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 ), 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", + "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`.