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

MSC2675: Serverside aggregations of message relationships #2675

Merged
merged 109 commits into from
Jan 15, 2022
Merged
Changes from 1 commit
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
c9794d4
initial version of serverside aggregations proposal
uhoreg Jul 7, 2020
03ce398
fix MSC numbers
uhoreg Jul 7, 2020
e5d133b
clarification
uhoreg Jun 2, 2021
2d36c36
add e2ee section from 2674 here, as it is only needed for server-side…
bwindels Jul 1, 2021
8eec329
move edge case wrt to calling /context on a relation here from 2674
bwindels Jul 5, 2021
343afff
fix typo
bwindels Nov 23, 2021
8e6c0a3
clarify which APIs should bundle relations
bwindels Nov 23, 2021
d5bbc72
move stale_events over to future extensions section
bwindels Nov 23, 2021
2091034
summarize stale_events and make tone conditional to mark that is not …
bwindels Nov 23, 2021
68c95a4
casing and wording
bwindels Nov 23, 2021
84a4a75
clarify in summary an API for requesting relations is also proposed
bwindels Nov 23, 2021
ca4ceff
remove proposal for batch get event api as is unused and unimplemented
bwindels Nov 24, 2021
7de182c
attempt to clarify relations vs aggregations
bwindels Nov 24, 2021
143a70e
clarify pagination and align it with synapse impl already in the wild
bwindels Nov 25, 2021
ad159f4
conciseness
bwindels Nov 25, 2021
948f7cd
better headers
bwindels Nov 25, 2021
5d7b404
clarify that relations are always returned, contrary to aggregations
bwindels Nov 25, 2021
e8aca3e
document the limitation of the event type not being known in e2ee rooms
bwindels Nov 25, 2021
657617f
specify that redacted relations are not aggregated
bwindels Nov 25, 2021
ffa3995
remove type in (non-binding) example as synapse doesn't do this
bwindels Nov 25, 2021
561cfc3
mention that these are just examples
bwindels Nov 25, 2021
42221ab
clarify that this is a non-normative example
bwindels Nov 25, 2021
037cab3
Update proposals/2675-aggregations-server.md
bwindels Nov 25, 2021
d7aa3ed
add http method for endpoint list
bwindels Nov 25, 2021
30cf5f8
line break
bwindels Nov 26, 2021
ee152e0
remove "unbundled relations" term, it's just confusing
bwindels Nov 26, 2021
483224a
some more restructuring of text after changing doc structure
bwindels Nov 26, 2021
16723da
mention original_event for m.replace relations
bwindels Nov 26, 2021
8e532ac
remove dir param as it is unused and unimplemented
bwindels Nov 29, 2021
6cf4d58
clarify that relating pending events should happen by transaction_id
bwindels Nov 29, 2021
b0fbee1
remove unimplemented /aggregations/{eventID}//{eventType}/{key}
bwindels Nov 29, 2021
53a30fc
Update proposals/2675-aggregations-server.md
bwindels Nov 30, 2021
f959119
mention that the server might not be aware of all the relations
bwindels Nov 30, 2021
dead293
clarify that redacted events should still return their relations and …
bwindels Nov 30, 2021
7299a8c
remove /context edge case, it should not be special-cased
bwindels Nov 30, 2021
37db984
Update proposals/2675-aggregations-server.md
bwindels Nov 30, 2021
36fb70b
Update proposals/2675-aggregations-server.md
bwindels Nov 30, 2021
061a104
Update proposals/2675-aggregations-server.md
bwindels Nov 30, 2021
bf9340e
bad example, replies doesn't use relations
bwindels Nov 30, 2021
c8533ec
clarify that we dont bundle discrete events
bwindels Nov 30, 2021
51bc1da
clarify that we dont bundle discrete events, again
bwindels Nov 30, 2021
7559275
improve example
bwindels Nov 30, 2021
c475bb9
clarify this MSC does not use a prefix
bwindels Nov 30, 2021
872d3f5
better english
bwindels Nov 30, 2021
7119947
clarify pagination in example
bwindels Nov 30, 2021
0d7b525
better english
bwindels Nov 30, 2021
764d785
remove contradication: m.reference doesn't support pagination but exa…
bwindels Nov 30, 2021
26376de
double punctuation
bwindels Nov 30, 2021
382bb1d
clarify that only the bundled aggregation limit for truncation can't …
bwindels Nov 30, 2021
a0af573
move e2ee limitation to limitations section
bwindels Nov 30, 2021
2557d23
clarify prefixes
bwindels Nov 30, 2021
c62165a
mention that state events never bundle aggregations
bwindels Dec 2, 2021
e26e465
Update proposals/2675-aggregations-server.md
bwindels Dec 3, 2021
503a569
add that the visibility of relations can derive from that of the target
bwindels Dec 14, 2021
049863b
typsos
bwindels Dec 14, 2021
44d04f4
be more explicit
bwindels Dec 14, 2021
1160b4a
moar rewording
bwindels Dec 14, 2021
0abf2ce
keep related parts together
bwindels Dec 14, 2021
e460a27
don't make a relation invisible because the target event isn't
bwindels Dec 14, 2021
58cb3ef
Update proposals/2675-aggregations-server.md
bwindels Dec 14, 2021
de00362
better words
bwindels Dec 14, 2021
3dcf0ce
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
9d96311
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
541632f
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
a9943c0
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
f97df03
be more precise when clients should ensure the key is shared
bwindels Dec 15, 2021
798835a
mention that ignored users can cause different aggregations for users
bwindels Dec 15, 2021
fe78152
move visibility rule changes to MSC3570
bwindels Dec 15, 2021
17122bf
don't overspecify visibility limitation, allow for unspecified behaviour
bwindels Dec 15, 2021
ba59c43
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
68b302e
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
d182b9a
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
67d60b1
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
71757a4
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
48c3063
move non-normative note to below example
bwindels Dec 15, 2021
f93143b
make rel_type mandatory as the response structure doesn't allow for m…
bwindels Dec 15, 2021
29fcd87
fix typo/thinko
bwindels Dec 15, 2021
6a76e5c
make pagination forward only as there is no use case for backwards
bwindels Dec 15, 2021
f61d8dc
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
c65b467
add non-normative aggregation examples
bwindels Dec 15, 2021
0717a51
Update proposals/2675-aggregations-server.md
bwindels Dec 15, 2021
71e4e5c
use relation type rather than rel_type
bwindels Dec 15, 2021
942cfcb
change trailing slashes remark to event_type, rel_type is mandatory now
bwindels Dec 16, 2021
b680406
reword and split out client-side aggregation section
bwindels Dec 16, 2021
ef57449
rename parent event to target event, the term used elsewhere
bwindels Dec 16, 2021
33471e6
apply suggestion
bwindels Dec 16, 2021
9399b0f
apply suggestion
bwindels Dec 16, 2021
6e8ff69
remove pagination
bwindels Dec 16, 2021
8033733
remove mentions of /aggregations endpoint after removing pagination
bwindels Dec 16, 2021
3b5f05c
add note about not bundling into state events
bwindels Dec 16, 2021
513cd91
restructure headers so more of the aggregations stuff is under section
bwindels Dec 16, 2021
178976a
make rel_type mandatory for /relations and better wording
bwindels Dec 16, 2021
06fcc15
remove confusion that aggregations contain more info than relations
bwindels Dec 16, 2021
ea8ada3
Update proposals/2675-aggregations-server.md
bwindels Dec 16, 2021
6cdf9e7
Update proposals/2675-aggregations-server.md
bwindels Dec 16, 2021
bcf7d15
mention that tokens from /sync, /messages can be used on /relations
bwindels Dec 16, 2021
0114090
try not to be overly prescriptive
bwindels Dec 16, 2021
3c77504
remove edge case of ignoring events without target event, as ignoring…
bwindels Dec 17, 2021
8a3d9b1
clarify limitation for encrypted rooms
bwindels Dec 17, 2021
8460f64
make rel_type optional again for /relations
bwindels Dec 17, 2021
e1e2593
Update proposals/2675-aggregations-server.md
bwindels Jan 7, 2022
e72837a
Update proposals/2675-aggregations-server.md
bwindels Jan 7, 2022
ae20bcd
Update proposals/2675-aggregations-server.md
bwindels Jan 7, 2022
1dbe2f0
Update proposals/2675-aggregations-server.md
bwindels Jan 7, 2022
88892a5
Update proposals/2675-aggregations-server.md
bwindels Jan 7, 2022
67fa56e
mention requires auth and rate-limited on /relations
bwindels Jan 7, 2022
be6b1c7
replace hypothetical examples for bundled aggregations with non-norma…
bwindels Jan 10, 2022
8f3a28a
move to MSC 2676 as it's specific to edits
bwindels Jan 10, 2022
ae7dc26
dont repeat how local echo using transaction_id works
bwindels Jan 10, 2022
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
Prev Previous commit
Next Next commit
mention that tokens from /sync, /messages can be used on /relations
  • Loading branch information
bwindels committed Dec 16, 2021
commit bcf7d15fc0ae6b1c01e857ff7487c91af8ea1c21
7 changes: 5 additions & 2 deletions proposals/2675-aggregations-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,9 @@ overload the client by, for example, including them all bundled with the
related-to event. Instead, we also provide a new `/relations` API in
order to paginate over the relations, which behaves in a similar way to
`/messages`, except using `next_batch` and `prev_batch` names
(in line with `/sync` API).
(in line with `/sync` API). Tokens from `/sync` or `/messages` can be
passed to `/relations` to only get relating events from a section of
the timeline.

The `/relations` API returns the discrete relation events
associated with an event that the server is aware of
Expand All @@ -150,7 +152,7 @@ You can filter by a given relation type and optionally the event type of the
relating event:

```
GET /_matrix/client/v1/rooms/{roomID}/relations/{event_id}/{rel_type}[/{event_type}][?from=token][&limit=amount]
GET /_matrix/client/v1/rooms/{roomID}/relations/{event_id}/{rel_type}[/{event_type}][?from=token][&to=token][&limit=amount]
```

```json
Expand All @@ -162,6 +164,7 @@ GET /_matrix/client/v1/rooms/{roomID}/relations/{event_id}/{rel_type}[/{event_ty
"content": { }
}
],
"prev_batch": "some_token",
"next_batch": "some_token",
}
```
Expand Down