Merge pull request #275 from matrix-org/markjh/remove_device_specific_rules

Remove references to device specific push rules

Since they weren't implemented on the servers and weren't
used by the clients.
pull/977/head
Mark Haines 9 years ago
commit 193e05275b

@ -2,7 +2,6 @@ properties:
kind: kind:
enum: enum:
- event_match - event_match
- profile_tag
- contains_display_name - contains_display_name
- room_member_count - room_member_count
type: string type: string

@ -41,7 +41,6 @@ paths:
"app_display_name": "Mat Rix", "app_display_name": "Mat Rix",
"device_display_name": "iPhone 9", "device_display_name": "iPhone 9",
"app_id": "com.example.app.ios", "app_id": "com.example.app.ios",
"profile_tag": "4bea66906d0111e59d70feff819cdc9f",
"pushkey": "APA91bHPRgkF3JUikC4ENAHEeMrd41Zxv3hVZjC9KtT8OvPVGJ-hQMRKRrZuJAEcl7B338qju59zJMjw2DELjzEvxwYv7hH5Ynpc1ODQ0aT4U4OFEeco8ohsN5PjL1iC2dNtk2BAokeMCg2ZXKqpc8FXKmhX94kIxQ", "pushkey": "APA91bHPRgkF3JUikC4ENAHEeMrd41Zxv3hVZjC9KtT8OvPVGJ-hQMRKRrZuJAEcl7B338qju59zJMjw2DELjzEvxwYv7hH5Ynpc1ODQ0aT4U4OFEeco8ohsN5PjL1iC2dNtk2BAokeMCg2ZXKqpc8FXKmhX94kIxQ",
"data": { "data": {
"url": "https://push-gateway.location.here" "url": "https://push-gateway.location.here"
@ -63,17 +62,6 @@ paths:
description: |- description: |-
The kind of pusher to configure. ``"http"`` makes a pusher that The kind of pusher to configure. ``"http"`` makes a pusher that
sends HTTP pokes. ``null`` deletes the pusher. sends HTTP pokes. ``null`` deletes the pusher.
profile_tag:
type: string
description: |-
This is a string that determines what set of device rules will
be matched when evaluating push rules for this pusher. It is
an arbitrary string. Multiple devices may use the same
``profile_tag``. It is advised that when an app's data is
copied or restored to a different device, this value remain
the same. Client apps should offer ways to change the
``profile_tag``, optionally copying rules from the old
profile tag. Max length, 32 bytes.
app_id: app_id:
type: string type: string
description: |- description: |-
@ -116,7 +104,7 @@ paths:
different user IDs. Otherwise, the homeserver must remove any different user IDs. Otherwise, the homeserver must remove any
other pushers with the same App ID and pushkey for different other pushers with the same App ID and pushkey for different
users. The default is ``false``. users. The default is ``false``.
required: ['profile_tag', 'kind', 'app_id', 'app_display_name', required: ['kind', 'app_id', 'app_display_name',
'device_display_name', 'pushkey', 'lang', 'data'] 'device_display_name', 'pushkey', 'lang', 'data']
responses: responses:
200: 200:

@ -33,20 +33,8 @@ paths:
description: All the push rulesets for this user. description: All the push rulesets for this user.
schema: schema:
type: object type: object
required: ["device", "global"] required: ["global"]
properties: properties:
device:
type: object
title: Devices
description: A dictionary of profile tags to rulesets.
additionalProperties:
x-pattern: "$PROFILE_TAG"
type: object
description: The ruleset for this profile tag.
title: Ruleset
allOf: [
"$ref": "definitions/push_ruleset.yaml"
]
global: global:
type: object type: object
description: The global ruleset. description: The global ruleset.
@ -57,7 +45,6 @@ paths:
examples: examples:
application/json: |- application/json: |-
{ {
"device": {},
"global": { "global": {
"content": [ "content": [
{ {
@ -261,8 +248,7 @@ paths:
required: true required: true
x-example: "global" x-example: "global"
description: |- description: |-
Either ``global`` or ``device/<profile_tag>`` to specify global ``global`` to specify global rules.
rules or device rules for the given ``profile_tag``.
- in: path - in: path
type: string type: string
name: kind name: kind
@ -314,8 +300,7 @@ paths:
required: true required: true
x-example: "global" x-example: "global"
description: |- description: |-
Either ``global`` or ``device/<profile_tag>`` to specify global ``global`` to specify global rules.
rules or device rules for the given ``profile_tag``.
- in: path - in: path
type: string type: string
name: kind name: kind
@ -356,8 +341,7 @@ paths:
required: true required: true
x-example: "global" x-example: "global"
description: |- description: |-
Either ``global`` or ``device/<profile_tag>`` to specify global ``global`` to specify global rules.
rules or device rules for the given ``profile_tag``.
- in: path - in: path
type: string type: string
name: kind name: kind
@ -460,8 +444,7 @@ paths:
required: true required: true
x-example: "global" x-example: "global"
description: |- description: |-
Either ``global`` or ``device/<profile_tag>`` to specify global ``global`` to specify global rules.
rules or device rules for the given ``profile_tag``.
- in: path - in: path
type: string type: string
name: kind name: kind

@ -122,16 +122,9 @@ Underride rules ``underride``
These are identical to ``override`` rules, but have a lower priority than These are identical to ``override`` rules, but have a lower priority than
``content``, ``room`` and ``sender`` rules. ``content``, ``room`` and ``sender`` rules.
Push rules may be either global or device-specific. Device specific rules only This means that the full list of rule kinds, in descending priority order, is
affect delivery of notifications via pushers with a matching ``profile_tag``. as follows:
All device-specific rules have a higher priority than global rules. This means
that the full list of rule kinds, in descending priority order, is as follows:
* Device-specific Override
* Device-specific Content
* Device-specific Room
* Device-specific Sender
* Device-specific Underride
* Global Override * Global Override
* Global Content * Global Content
* Global Room * Global Room
@ -321,12 +314,6 @@ rule determines its behaviour. The following conditions are defined:
special glob characters should be treated as having asterisks special glob characters should be treated as having asterisks
prepended and appended when testing the condition. prepended and appended when testing the condition.
``profile_tag``
Matches the ``profile_tag`` of the device that the notification would be
delivered to. Parameters:
* ``profile_tag``: The profile_tag to match with.
``contains_display_name`` ``contains_display_name``
This matches unencrypted messages where ``content.body`` contains the owner's This matches unencrypted messages where ``content.body`` contains the owner's
display name in that room. This is a separate rule because display names may display name in that room. This is a separate rule because display names may

Loading…
Cancel
Save