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

feat: add sliding-sync-proxy support #2515

Closed

Conversation

gnunicorn
Copy link
Contributor

fixes #2478

@@ -26,6 +26,11 @@
"preferredDomain": {{ matrix_client_element_jitsi_preferredDomain|to_json }}
}
{% endif %}
{% if matrix_sliding_sync_proxy_enabled %},
"org.matrix.msc3575.proxy": {
"url": "https://{{ matrix_server_fqn_sliding_sync_proxy }}/_matrix/client/unstable/org.matrix.msc3575/sync"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should not include the path to the sync API, just the URL of sync proxy:

{
    "org.matrix.msc3575.proxy": {
        "url": "https://{{ matrix_server_fqn_sliding_sync_proxy }}"
    }
}

See Matrix.org's client well-known as an example:
https://matrix.org/.well-known/matrix/client

Copy link
Contributor Author

@gnunicorn gnunicorn Feb 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While, I'd generally agree, the way I read the Section in the MSC3575 as it is now, it specifically talks about the URL the sync is to be found at. I've ask there for clarification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, the way I read that section was that both the well-known JSON key: org.matrix.msc3575.proxy and the path to the sync endpoint are prefixed.
One stabilized, the JSON key would just be proxy

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Proxy is a temporary measure im not sure it will actually become stable. As in its likely there wont be a proxy that is under a stable identifier as this will just become sync v4 endpoint wise

Copy link
Contributor

@FSG-Cat FSG-Cat Mar 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarification from Travis on the matter of the destiny of the proxy. It seems like its not going to become stabilised also as for what the /.well-known content should be to me it sounds like it should be

{
    "org.matrix.msc3575.proxy": {
        "url": "https://{{ matrix_server_fqn_sliding_sync_proxy }}"
    }
}

as @Kab1r is suggesting.

@gnunicorn
Copy link
Contributor Author

Because of priority reshuffling I won't be working on this for the next few days yet. If anyone wants to take this and run it to completion, please feel free to do so and superseed my PR. The current state and necessary tasks from my point of view are:

  • Sliding sync Docker image included
  • Sliding sync proxy linked to postgresql service
  • Sliding sync proxy running and exposed via nginx-proxy
  • Sliding sync proxy-URL added to the well-known
  • ensure the self-build-part of docker works properly
  • switch from nginx to traefik as proxy
  • ensure the proxy-url in well-known is correct (seems to be only the fqdn)

spantaleev added a commit that referenced this pull request Mar 7, 2023
This allows people to try out the new Element X clients, which need to
run against the sliding-sync proxy (https://github.com/matrix-org/sliding-sync).

Supersedes #2515

The code is based on the existing PR (#2515), but heavily reworked. Major changes:

- lots of internal refactoring and variable renaming

- fixed self-building to support non-amd64 architectures

- changed to talk to the homeserver locally, over the container network (not
  publicly)

- no more matrix-nginx-proxy support due to complexity (see below)

- no more `matrix_server_fqn_sliding_sync_proxy` in favor of
  `matrix_sliding_sync_hostname` and `matrix_sliding_sync_path_prefix`

- runs on `matrix.DOMAIN/sliding-sync` by default, so it can tried
  easily without having to create new DNS records
spantaleev added a commit that referenced this pull request Mar 7, 2023
@spantaleev spantaleev closed this Mar 7, 2023
@spantaleev
Copy link
Owner

Sliding Sync support is here now. Thanks to everyone who contributed to this!

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.

Support deploying the Sliding Sync proxy
4 participants