2.9 KiB
MSC3987: Push actions clean-up
There are two defined push rule actions which are of dubious use:
coalesce
is defined, but unused in the spec and not implemented on any homeservers 1 or clients 2 beyond validating it or treating it identically tonotify
.dont_notify
is a no-op, but frequently used as a way to denote do nothing. It is clearer to provide an empty list of actions to avoid a situation where additional actions are given with it, e.g.["notify", "dont_notify"]
is currently valid, but does not make sense. 3
Proposal
The coalesce
push rule action is removed from the Matrix specification.
The dont_notify
push rule action is deprecated. Homeservers and clients should
ignore it. Any pre-defined rules
which include the dont_notify
action are redefined to have an empty list of actions:
.m.rule.master
.m.rule.suppress_notices
.m.rule.member_event
It is recommended that homeservers continue accepting the coalesce
and dont_notify
actions, but ignore them during processing. (Treating them as no-ops.) A future
Matrix spec version should remove them completely.
Potential issues
A client might attempt to create a push rule with a coalesce
or dont_notify
action that homeservers will reject as an unknown action.
Alternatives
Do nothing and continue propagating confusion.
Security considerations
None.
Dependencies
None.
-
matrix-js-sdk, matrix-ios-sdk, matrix-rust-sdk, matrix-android-sdk2, Ruma. ↩︎
-
It has been noted on recent MSCs that new rules should not use
dont_notify
, see MSC3786, MSC2153 / MSC2677. ↩︎