You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec-proposals/proposals/4062-dont_email_tweak.md

2.7 KiB

MSC4062: Add a push rule tweak to disable email notification

A user may set up a pusher to receive emails with unread notifications (see the spec here with kind = "email"). Note that in the current Synapse implementation this pusher sends emails on a delay of ~10 minutes to give people time to see the notification and mark it as read. It looks like some other server implementations don't support email pushers though (see details in this comment).

In order to support mentions-and-keywords-only notifications in encrypted rooms on clients which get push notifications, we introduced in MSC4028 a new predefined override push rule (.m.rule.encrypted_event). When this rule is enabled, the server pushes all encrypted events except for muted rooms. The resulting notifications are not relevant for the email notifications. They concern encrypted events which may contain an actual notification or not. The server implementations which support email notifications should ignore in the email the events pushed because of this new push rule. Otherwise the users will receive an immense amount more email notifications. This will cause people to treat those emails as spam.

The present proposal attempts to resolve this situation by introducing a new push rule tweak to disable the email notification for a push rule when it triggers a notification for an event.

Proposal

A new tweak dont_email is introduced in the push rules actions definition.

  • dont_email -- A boolean representing whether or not this event should be notified by email too. If a dont_email tweak is given with no value, its value is defined to be true. If no dont_email tweak is given at all then the value of dont_email is defined to be false.

The servers which implement email notifications have to check this tweak before adding a new notification in the email. No change is expected in the client implementation.

Potential issues

None.

Alternatives

Another option was to define a new action push_but_dont_notify. We prefer the new tweak option because no change is required in the client implementations. They can ignore it.

About the naming of this new tweak, http_only has been suggested too (if we don't want a negative). We prefer dont_email in case a new kind of pusher is introduced later.

Security considerations

None.

Unstable prefix

While this MSC is not considered stable, dont_email should be referred to as org.matrix.msc4062.dont_email.

Dependencies

None.