From fe56ea949b74bb8b7c2bc483cdb4ff0a95c7ee11 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 15 Nov 2022 15:49:26 -0700 Subject: [PATCH 1/2] Push rule condition for extensible events room version --- ...ble-events-room-ver-push-rule-condition.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 proposals/0000-extensible-events-room-ver-push-rule-condition.md diff --git a/proposals/0000-extensible-events-room-ver-push-rule-condition.md b/proposals/0000-extensible-events-room-ver-push-rule-condition.md new file mode 100644 index 00000000000..65c760be8d8 --- /dev/null +++ b/proposals/0000-extensible-events-room-ver-push-rule-condition.md @@ -0,0 +1,50 @@ +# MSC0000: Extensible events room version push rule feature flag + +As defined by [MSC3931](https://github.com/matrix-org/matrix-spec-proposals/pull/3931), push rules +can be disabled or enabled based on what the room version itself supports feature-wise. This MSC +introduces a feature flag for [MSC1767](https://github.com/matrix-org/matrix-spec-proposals/pull/1767), +making it possible to restrict extensible events to an appropriate room version through notifications. + +A theory with this approach is that if push rules (and therefore notifications) are denied for extensible +events, they are even less likely to be sent in inappropriate room versions. + +## Proposal + +For room versions supporting extensible events, they declare support for an `m.extensible_events` +feature flag. + +Push rules which don't specify a `room_version_supports` condition are assumed to *not* support +extensible events and are therefore expected to be treated as disabled when a room version *does* +support extensible events. This is to ensure that legacy rules do not trigger in new room versions, +similar to how this MSC aims to only enable certain push rules in applicable room versions. + +The above rule does *not* apply to the following push rule IDs: +* `.m.rule.master` +* `.m.rule.roomnotif` +* `.m.rule.contains_user_name` + +Note that this MSC intentionally considers the lack of the condition rather than the lack of feature +flag check on the push rule: this is intentional as the timeline for extensible events appears to +show that this "push rules feature flags" system will land at the same time as extensible events, +causing all future MSCs to consider extensible events too. + +Any room version which supports MSC1767's described room version is required to list this new feature +flag. + +## Potential issues + +There is complexity in understanding how to apply the feature flag's condition to existing push rules, +however through implementation effort it will become clearer. + +## Alternatives + +None discovered. + +## Security considerations + +No new considerations apply. + +## Unstable prefix + +While this MSC is not considered stable, implementations should use `org.matrix.msc0000.*` in place of +`m.*` throughout this proposal. From b669483e01917d80767d27129f01f7aa4d83b65e Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 15 Nov 2022 15:54:26 -0700 Subject: [PATCH 2/2] Assign number --- ...=> 3932-extensible-events-room-ver-push-rule-condition.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename proposals/{0000-extensible-events-room-ver-push-rule-condition.md => 3932-extensible-events-room-ver-push-rule-condition.md} (95%) diff --git a/proposals/0000-extensible-events-room-ver-push-rule-condition.md b/proposals/3932-extensible-events-room-ver-push-rule-condition.md similarity index 95% rename from proposals/0000-extensible-events-room-ver-push-rule-condition.md rename to proposals/3932-extensible-events-room-ver-push-rule-condition.md index 65c760be8d8..688fb094ea5 100644 --- a/proposals/0000-extensible-events-room-ver-push-rule-condition.md +++ b/proposals/3932-extensible-events-room-ver-push-rule-condition.md @@ -1,4 +1,4 @@ -# MSC0000: Extensible events room version push rule feature flag +# MSC3932: Extensible events room version push rule feature flag As defined by [MSC3931](https://github.com/matrix-org/matrix-spec-proposals/pull/3931), push rules can be disabled or enabled based on what the room version itself supports feature-wise. This MSC @@ -46,5 +46,5 @@ No new considerations apply. ## Unstable prefix -While this MSC is not considered stable, implementations should use `org.matrix.msc0000.*` in place of +While this MSC is not considered stable, implementations should use `org.matrix.msc3932.*` in place of `m.*` throughout this proposal.