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

Remove references to device-specific push rules. #1842

Merged
merged 5 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelogs/client_server/newsfragments/1842.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove references to device-specific push rules.
272 changes: 212 additions & 60 deletions data/api/client-server/pushrules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ paths:
get:
summary: Retrieve all push rulesets.
description: |-
Retrieve all push rulesets for this user. Clients can "drill-down" on
the rulesets by suffixing a `scope` to this path e.g.
`/pushrules/global/`. This will return a subset of this data under the
specified key e.g. the `global` key.
Retrieve all push rulesets for this user. Currently the only push ruleset
defined is `global`.
operationId: getPushRules
security:
- accessTokenQuery: []
Expand Down Expand Up @@ -237,7 +235,214 @@ paths:
}
tags:
- Push notifications
"/pushrules/{scope}/{kind}/{ruleId}":
/pushrules/global/:
richvdh marked this conversation as resolved.
Show resolved Hide resolved
get:
summary: Retrieve all push rules.
description: |-
Retrieve all push rules for this user.
operationId: getPushRulesGlobal
security:
- accessTokenQuery: []
- accessTokenBearer: []
responses:
"200":
description: All the push rules for this user.
content:
application/json:
schema:
$ref: definitions/push_ruleset.yaml
examples:
response:
value: {
"content": [
clokep marked this conversation as resolved.
Show resolved Hide resolved
{
"actions": [
"notify",
{
"set_tweak": "sound",
"value": "default"
},
{
"set_tweak": "highlight"
}
],
"default": true,
"enabled": true,
"pattern": "alice",
"rule_id": ".m.rule.contains_user_name"
}
],
"override": [
{
"actions": [],
"conditions": [],
"default": true,
"enabled": false,
"rule_id": ".m.rule.master"
},
{
"actions": [],
"conditions": [
{
"key": "content.msgtype",
"kind": "event_match",
"pattern": "m.notice"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.suppress_notices"
}
],
"room": [],
"sender": [],
"underride": [
{
"actions": [
"notify",
{
"set_tweak": "sound",
"value": "ring"
},
{
"set_tweak": "highlight",
"value": false
}
],
"conditions": [
{
"key": "type",
"kind": "event_match",
"pattern": "m.call.invite"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.call"
},
{
"actions": [
"notify",
{
"set_tweak": "sound",
"value": "default"
},
{
"set_tweak": "highlight"
}
],
"conditions": [
{
"kind": "contains_display_name"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.contains_display_name"
},
{
"actions": [
"notify",
{
"set_tweak": "sound",
"value": "default"
},
{
"set_tweak": "highlight",
"value": false
}
],
"conditions": [
{
"kind": "room_member_count",
"is": "2"
},
{
"kind": "event_match",
"key": "type",
"pattern": "m.room.message"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.room_one_to_one"
},
{
"actions": [
"notify",
{
"set_tweak": "sound",
"value": "default"
},
{
"set_tweak": "highlight",
"value": false
}
],
"conditions": [
{
"key": "type",
"kind": "event_match",
"pattern": "m.room.member"
},
{
"key": "content.membership",
"kind": "event_match",
"pattern": "invite"
},
{
"key": "state_key",
"kind": "event_match",
"pattern": "@alice:example.com"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.invite_for_me"
},
{
"actions": [
"notify",
{
"set_tweak": "highlight",
"value": false
}
],
"conditions": [
{
"key": "type",
"kind": "event_match",
"pattern": "m.room.member"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.member_event"
},
{
"actions": [
"notify",
{
"set_tweak": "highlight",
"value": false
}
],
"conditions": [
{
"key": "type",
"kind": "event_match",
"pattern": "m.room.message"
}
],
"default": true,
"enabled": true,
"rule_id": ".m.rule.message"
}
]
}
tags:
- Push notifications
"/pushrules/global/{kind}/{ruleId}":
get:
summary: Retrieve a push rule.
description: Retrieve a single specified push rule.
Expand All @@ -246,13 +451,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: "`global` to specify global rules."
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -318,13 +516,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: "`global` to specify global rules."
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -395,13 +586,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: "`global` to specify global rules."
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -523,7 +707,7 @@ paths:
$ref: definitions/errors/rate_limited.yaml
tags:
- Push notifications
"/pushrules/{scope}/{kind}/{ruleId}/enabled":
"/pushrules/global/{kind}/{ruleId}/enabled":
get:
summary: Get whether a push rule is enabled
description: This endpoint gets whether the specified push rule is enabled.
Expand All @@ -532,15 +716,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: |-
Either `global` or `device/<profile_tag>` to specify global
rules or device rules for the given `profile_tag`.
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -604,13 +779,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: "`global` to specify global rules."
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -674,7 +842,7 @@ paths:
}
tags:
- Push notifications
"/pushrules/{scope}/{kind}/{ruleId}/actions":
"/pushrules/global/{kind}/{ruleId}/actions":
get:
summary: The actions for a push rule
description: This endpoint get the actions for the specified push rule.
Expand All @@ -683,15 +851,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: |-
Either `global` or `device/<profile_tag>` to specify global
rules or device rules for the given `profile_tag`.
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down Expand Up @@ -764,13 +923,6 @@ paths:
- accessTokenQuery: []
- accessTokenBearer: []
parameters:
- in: path
name: scope
required: true
description: "`global` to specify global rules."
example: global
schema:
type: string
- in: path
name: kind
required: true
Expand Down