Closed ShadowJonathan closed 2 years ago
We should do this on Synapse to help with spec compliance. However, before we can land the change in Synapse we'll need the clients to be fixed first.
We should talk to the client teams to make sure fixing those bugs is on their radar before we spend time on this.
First step is to figure out what is required to actually fix these TODOs, note that there are likely other TODOs around lazy loading of members in the pagination and sync code.
Possibly related: https://github.com/matrix-org/matrix-spec/issues/942
https://github.com/matrix-org/synapse/issues/5393 appears to be related, and/or the original issue for this.
Duplicate of #5393
https://github.com/matrix-org/synapse/blob/68acb0a29dcb03a0ecbcebdb95e09c5999598f42/synapse/handlers/pagination.py#L525
This is not mandated explicitly by the spec;
...however, this caused problems when conduit did not implement this similarly to synapse;
JS-SDK (Cinny and Element Web), Element Android, and Hydrogen all assume this behaviour is a must.
I believe it'd help with more correct spec adoption greatly if redundant membership was indeed removed, so that current clients are more aware of this optional spec behaviour.