-
Notifications
You must be signed in to change notification settings - Fork 384
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
Spec lazy-loading room members #2035
Conversation
The options also work on /messages
Note: This makes assumptions on what the TODO comment in Synapse means: https://github.com/matrix-org/synapse/blob/e26e6b3230f0b55376f0f3bf823dd789ac7064d0/synapse/handlers/pagination.py#L262 Due to lack of implementation, it is assumed that using the same filter across multiple calls to /sync OR /messages will result in the redundant members being excluded in the next request. For example, calling /sync, then /messages which returns some members, then /sync again will exclude the members due to them being in /messages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generally looks good. I'm a bit hazy about some of this stuff though :/
Information about the room which clients may need to | ||
correctly render it to users. | ||
properties: | ||
"m.heroes": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these properties not required
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, because if they are omitted then the client should interpret it as "no change".
Co-Authored-By: Richard van der Hoff <[email protected]>
Co-Authored-By: Richard van der Hoff <[email protected]>
…azy-loading incorporate LL review from matthew
Shoving this back into the queue to get a checkmark (hopefully) from someone on the team. There's a few people who have reviewed this, so picking on someone isn't super obvious. |
i'm happy with it from my pov fwiw, but i guess my rewrite needs some review if someone can face it. |
arguably this is fine to merge as I reviewed your edits, but I think a third opinion would be good given the amount of review on here. |
let's just merge it. |
Reviewers: Although this has team review requested, I would appreciate particular review from @ara4n as the proposal author and @KitsuneRal as having gone through the gauntlet. Feedback in addition is more than appreciated.
Disclaimer: Although the implementation is lacking in areas (see below), it is believed by the spec core team that lazy-loading has enough benefits to be added to the spec, as per the MSC guidelines.
Implementation references:
/members
additions/context
becoming aware of LL/sync
&/messages
behaviourNotable lacks of implementation:
/members
- https://github.com/matrix-org/synapse/blob/e26e6b3230f0b55376f0f3bf823dd789ac7064d0/synapse/rest/client/v1/room.py#L394m.heroes
- Synapse doesn't send left members as heroes synapse#4926/messages
- https://github.com/matrix-org/synapse/blob/b54b03f9e1abc1964fe5f00115a165a2b8e10df5/synapse/handlers/pagination.py#L262Spec references:
at
andnot_membership
parameters #1945Alterations from the proposals:
summary
should be required. The implementation only does so when lazy-loading is active, however this seems like a bug. Written as required so that clients can usem.heroes
to name the room.(note: due to these proposals being older Google Doc MSCs, they have had the alterations described here represented in the applicable threaded comments instead of the body of the proposal. This is to hopefully more clearly represent the changes.)