Skip to content

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

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

reivilibre
Copy link
Contributor

Introduced in: #17167

  1. Remove obsolete /sync/e2ee experimental endpoint
    The endpoint was part of experiments for MSC3575 but does not feature in
    that MSC.

The endpoint was part of experiments for MSC3575 but does not feature in
that MSC.
Signed-off-by: Olivier 'reivilibre <[email protected]>
@reivilibre
Copy link
Contributor Author

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):
Copy link
Contributor

@MadLittleMods MadLittleMods Jun 20, 2025

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.

-- @MadLittleMods, #17167 (comment)

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.

-- @MadLittleMods, #17167 (comment)

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants