List- and room- scoping

kegan/ssext-receipts
David Robertson 1 year ago
parent 203b4dee07
commit e6404b6c0f
No known key found for this signature in database
GPG Key ID: 903ECE108A39DEDD

@ -8,27 +8,36 @@ which includes support for room receipts in the `/sync` response.
MSC3575 does not include support for receipts. This extension will add support for both public MSC3575 does not include support for receipts. This extension will add support for both public
and private room receipts. and private room receipts.
The prosposal is to introduce a new extension called `receipts` with the following request parameters: The proposal is to introduce a new extension called `receipts`. It processes the
```js core extension arguments `enabled`, `rooms` and `lists`, but defines no
arguments of its own.
```json5
{ {
"enabled": true, // sticky "enabled": true, // sticky
"lists": ["rooms", "dms"], // sticky
"rooms": ["!abcd:example.com"] // sticky
} }
``` ```
If `enabled` is `true`, then the sliding sync response MAY include the following response fields in If `enabled` is `true`, then the sliding sync response MAY include the following response fields in
the `receipts` extension response: the `receipts` extension response:
```json ```json5
{ {
"rooms": { "rooms": {
"!foo:bar": { "!foo:bar": {
m.receipt EDU // m.receipt EDU
}, },
"!foo2:bar" { "!foo2:bar": {
m.receipt EDU // m.receipt EDU
} }
} }
} }
``` ```
If a `lists` or `rooms` argument is given to the extension, the `typing` extension
response SHOULD only include rooms belonging at least one of the sliding windows
in `lists`, or rooms whose IDs are in `rooms`. See also MSC3575's "Extensions"
section.
The `m.receipt` event in this response is the same event that would appear in the array The `m.receipt` event in this response is the same event that would appear in the array
`rooms.join["!foo:bar"].ephemeral.events` under `/sync`. This includes the `m.read.private` key in the `rooms.join["!foo:bar"].ephemeral.events` under `/sync`. This includes the `m.read.private` key in the
receipt EDU for private read receipts. receipt EDU for private read receipts.
@ -66,7 +75,7 @@ No additional security considerations beyond what the current `/sync` implementa
No unstable prefix as Sliding Sync is still in review. To enable this extension, just add this to No unstable prefix as Sliding Sync is still in review. To enable this extension, just add this to
your request JSON: your request JSON:
```js ```json
{ {
"extensions": { "extensions": {
"receipts": { "receipts": {

Loading…
Cancel
Save