-
Notifications
You must be signed in to change notification settings - Fork 362
Remove obsolete and experimental /sync/e2ee
endpoint.
#18583
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
base: develop
Are you sure you want to change the base?
Conversation
The endpoint was part of experiments for MSC3575 but does not feature in that MSC.
Signed-off-by: Olivier 'reivilibre <[email protected]>
cc @MadLittleMods please check if this removal matches your understanding for the future |
@@ -630,177 +628,6 @@ async def encode_room( | |||
return result | |||
|
|||
|
|||
class SlidingSyncE2eeRestServlet(RestServlet): |
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.
> cc @MadLittleMods please check if this removal matches your understanding for the future
I think removing /sync/e2ee
is fine. Here is what I wrote about it before:
Really feels like this
/sync/e2ee
endpoint should just be a sliding sync loop with only the e2ee extension.But I assume we're making
/sync/e2ee
in Synapse right now to lighten up the pressure for the Sliding Sync proxy in the mean-time.-- @MadLittleMods, Comment on the Native Sliding Sync simplification document
Re-stated:
My hunch is that this endpoint is probably more of a stepping stone to relieve pressure on the Sliding Sync proxy now and we will end up handling E2EE stuff in main Sliding Sync endpoint itself with the extensions.
But we weren't even able to use it to relieve pressure back then because an interaction problem with /sync
v2 (which the Sliding Sync proxy used) and To-Device messages, see #17167 (comment)
Additionally, the endpoint may be sufficiently heavyweight and just as slow (I don't think we really investigated this point after the fact as I'm not sure this endpoint was even used):
We're doing all the same work for this new endpoint as the old sync v2 so the performance is bound to be about the same. Which also means To-Device events will probably get backed up by other events above the same. I did add a filter to only work with membership events which might help.
Are clients using /sync/e2ee
?
I assume you've checked if the Element X clients are using this at all and have asked whether it was useful? Those would be the only clients using this endpoint.
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.
I did not see any usage on matrix.org, I also searched in Ruma (and in Conduwuit in case they implement the same), without finding this endpoint implemented.
I haven't asked them if it would be useful, but I guess they are getting by fine without it.
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.
This PR claims to remove an unused endpoint and indeed does that by removing lots of code. I also verified that there was no usage of this endpoint on matrix.org.
There are just some left over parametrisation in tests left that could be removed
@@ -32,11 +32,6 @@ | |||
("sync_endpoint", "experimental_features"), | |||
[ | |||
("/sync", {}), | |||
( |
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.
This does not need to be parametrised anymore
tests/rest/client/test_sync.py
Outdated
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.
All those tests don't need to be parametrised anymore
Introduced in: #17167
Remove obsolete
/sync/e2ee
experimental endpointThe endpoint was part of experiments for MSC3575 but does not feature in
that MSC.