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

Per-device push rules #273

Closed
turt2live opened this issue Mar 18, 2018 · 8 comments
Closed

Per-device push rules #273

turt2live opened this issue Mar 18, 2018 · 8 comments
Labels
A-Client-Server Issues affecting the CS API A-Push feature Suggestion for a significant extension which needs considerable consideration

Comments

@turt2live
Copy link
Member

turt2live commented Mar 18, 2018

Note: This previously was a question about what "device" push rules are. After some investigation (illustrated below) it was found that this is actually a feature we want to write, but is not an omission.


Per-device push rules may be useful in some scenarios. A rough prototype exists in Riot for how these could work, where they are stored in account data and applied before the global push rules. This gives individual devices a chance to be notified differently.

More thought needs to be done about how to implement these specifically, however some reference material is available here:

@turt2live turt2live added spec-omission implemented but not currently specified question Further information is requested labels Jul 19, 2018
@turt2live turt2live self-assigned this Aug 22, 2018
@turt2live turt2live changed the title "device" push rules in m.push_rules account data? Per-device push rules Aug 22, 2018
@turt2live turt2live added feature Suggestion for a significant extension which needs considerable consideration and removed question Further information is requested spec-omission implemented but not currently specified labels Aug 22, 2018
@turt2live
Copy link
Member Author

This has been converted to a feature after some investigation as to what these are. See the edited OP for more information.

@turt2live turt2live removed their assignment Sep 14, 2018
@turt2live turt2live added the A-Client-Server Issues affecting the CS API label Feb 6, 2019
@richvdh richvdh added the A-Push label Aug 11, 2020
@richvdh richvdh transferred this issue from matrix-org/matrix-spec-proposals Mar 1, 2022
@richvdh
Copy link
Member

richvdh commented Apr 14, 2022

per #673, we should remove these rather than document them.

@richvdh richvdh closed this as completed Apr 14, 2022
@turt2live
Copy link
Member Author

@richvdh wrong issue link? I can't really find which one you were looking for...

@turt2live turt2live reopened this Apr 14, 2022
@turt2live
Copy link
Member Author

(note that this issue is framed as a feature request, not a documentation omission)

@richvdh
Copy link
Member

richvdh commented Apr 14, 2022

Thanks, I meant #637, but revisiting it, that looks like it should be a synapse issue rather than a spec one.

It remains unclear to me if per-device push rules are something we actually want (so should implement and spec properly) per this issue. I am rather reluctant to do anything like that, given the number of times pushrules have shown themselves unfit for purpose.

Incidentally it looks to me like matrix-org/matrix-js-sdk#1404 ripped out the references you refer to in the issue description.

@turt2live
Copy link
Member Author

right, this issue is indeed not helpful then - reclosing.

@ownaginatious
Copy link

@turt2live curious, what was the conclusion here exactly?

I'm looking to filter out specific notifications for my iPhone. For context, I have an iMessage bridge setup for my non-Apple devices (mautrix-imessage) which works great. On my iPhone I'd prefer to use the official Messages client. The issue is, I have a Matrix client also installed on my iPhone (Element) and cannot silence the notifications from by iMessage bridge without also silencing them on all my other devices.

This should in theory be possible according to the Matrix spec with this:

PUT /_matrix/client/v3/pushrules/<scope:my-iphone-device-id>/sender/<rule_id:made-up-rule-id>

{
  "actions": [
    "dont_notify"
  ],
  "conditions": [{
    {"kind": "event_match", "key": "sender", "pattern": "@imessage_*"}
  }]
}

Looks like the actual synapse implementation is locked to only the global scope and has been for years: https://github.com/matrix-org/synapse/blob/6edefef60289cc54e17fd6af838eb66c4973f5f5/synapse/rest/client/push_rule.py#L191

The impression I get from this and the trail of issues connected to this topic is that everyone wants to move away from server-side device notification filtering for technical reasons.

In light of that, is there some other preferred way for achieving what I want server-side that is documented elsewhere, or should I take this issue over to the Element project to start a conversation about client-side notification filtering instead?

@clokep
Copy link
Member

clokep commented Oct 28, 2022

per #673, we should remove these rather than document them.

I believe this should be #637.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Client-Server Issues affecting the CS API A-Push feature Suggestion for a significant extension which needs considerable consideration
Projects
None yet
Development

No branches or pull requests

4 participants