Skip to content

Element X fails to login - with Matrix v1.128.0 with native Sliding Sync #4063

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

Closed
vmario89 opened this issue Apr 25, 2025 · 4 comments
Closed
Labels

Comments

@vmario89
Copy link

vmario89 commented Apr 25, 2025

Steps to reproduce

Dear developers,

we have an issue with Element X for iOs Version 25.04.3 from 14.04.2025. When trying to log into our own Matrix Server, it fails and says the server needs to enable Sliding Sync. It shows a link to go to https://github.com/matrix-org/sliding-sync/blob/main/docs/Landing.md - this landing page shows docs about the obsolete SS proxy.

Our Server is running Matrix v1.128.0 and this has got native sliding sync support.

The regular Element clients in Browser, Windows and Android run well, Element X on Android also works with that server. regular Element on iOs also works.

So only Element X on iOs fails. I tested this on two different devices - on iPad Pro and on iPhone.

What can i do to check about the configuration of sliding sync? We never modified our server setup to support the previously provided Sliding Sync Proxy, which was abandoned by native SS.

would be happy about some Feedback. I was not able to find any settings which would be required now to modify homeserver.yaml or nginx web server settings about sliding sync (only the old docs for that old proxy, ~8 months ago). For my understanding, setting in ./.well-known/matrix/client with key org.matrix.msc3575.proxy looks wrong/old/unrequired.

Many thanks, Mario

Outcome

The Login should work properly

Your phone model

iPad EU 10.2" (8. Generation)

Operating system version

iOs 18.3.2

Application version

25.04.3

Homeserver

1.128.0

Will you send logs?

Yes

@pixlwave
Copy link
Member

@vmario89 Have you sent logs from the app yet, I can't see any.

@vmario89
Copy link
Author

vmario89 commented Apr 27, 2025

Hi,
i had time to grab the logs from UI (was not aware about that log export button)

2025-04-26T13:31:28.853124Z DEBUG matrix_sdk::client::builder: Starting to build the Client | crates/matrix-sdk/src/client/builder/mod.rs:475 | spans: root > build
2025-04-26T13:31:29.232639Z DEBUG matrix_sdk::client::builder::homeserver_config: Trying to discover the homeserver | crates/matrix-sdk/src/client/builder/homeserver_config.rs:159 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")}
2025-04-26T13:31:29.239443Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=1 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-0" method=GET uri="https://matrix.fablabchemnitz.de/.well-known/matrix/client"}
2025-04-26T13:31:30.023016Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=2 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-0" method=GET uri="https://matrix.fablabchemnitz.de/.well-known/matrix/client"}
2025-04-26T13:31:30.900075Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=3 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-0" method=GET uri="https://matrix.fablabchemnitz.de/.well-known/matrix/client"}
2025-04-26T13:31:31.022368Z DEBUG matrix_sdk::http_client: Error while sending request: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.fablabchemnitz.de/.well-known/matrix/client", source: hyper_util::client::legacy::Error(Connect, Error { code: -9836, message: "Ungültige Protokollversion" }) }) | crates/matrix-sdk/src/http_client/mod.rs:224 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-0" method=GET uri="https://matrix.fablabchemnitz.de/.well-known/matrix/client"}
2025-04-26T13:31:31.048902Z DEBUG matrix_sdk::client::builder::homeserver_config: Well-known discovery failed. error=error sending request for url (https://matrix.fablabchemnitz.de/.well-known/matrix/client) | crates/matrix-sdk/src/client/builder/homeserver_config.rs:123 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")}
2025-04-26T13:31:31.051670Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=1 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-1" method=GET uri="https://matrix.fablabchemnitz.de/_matrix/client/versions"}
2025-04-26T13:31:31.628113Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=2 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-1" method=GET uri="https://matrix.fablabchemnitz.de/_matrix/client/versions"}
2025-04-26T13:31:32.823200Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=3 | crates/matrix-sdk/src/http_client/native.rs:55 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-1" method=GET uri="https://matrix.fablabchemnitz.de/_matrix/client/versions"}
2025-04-26T13:31:32.945539Z DEBUG matrix_sdk::http_client: Error while sending request: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.fablabchemnitz.de/_matrix/client/versions", source: hyper_util::client::legacy::Error(Connect, Error { code: -9836, message: "Ungültige Protokollversion" }) }) | crates/matrix-sdk/src/http_client/mod.rs:224 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")} > send{server_versions=[V1_0] config=RequestConfig { timeout: 30s, retry_limit: 3 } request_id="REQ-1" method=GET uri="https://matrix.fablabchemnitz.de/_matrix/client/versions"}
2025-04-26T13:31:32.946202Z DEBUG matrix_sdk::client::builder::homeserver_config: Checking supported versions failed. error=error sending request for url (https://matrix.fablabchemnitz.de/_matrix/client/versions) | crates/matrix-sdk/src/client/builder/homeserver_config.rs:144 | spans: root > build{homeserver=ServerNameOrHomeserverUrl("matrix.fablabchemnitz.de")}
2025-04-26T13:31:32.966879Z ERROR elementx: Failed configuring a server: ServerUnreachable(message: "error sending request for url (https://matrix.fablabchemnitz.de/.well-known/matrix/client)") | AuthenticationService.swift:86 | spans: root

so i still don't see the issue. The following configs look fine for me and server is is reachable - was all the time

https://matrix.fablabchemnitz.de/.well-known/matrix/client
https://matrix.fablabchemnitz.de/_matrix/client/versions

the MSC 3575 is enabled (org.matrix.simplified_msc3575)

@vmario89
Copy link
Author

Ungültige Protokollversion - invalid protocol version. Is there any issue with TLS 1.3 only maybe?

the nginx cfg we use:

	#http3/UDP IPv4/IPv6
	listen 443 quic;
	listen [::]:443 quic;
	add_header Alt-Svc 'h3=":443"; ma=864000';

	#http2/regular TLS IPv4/IPv6
	listen 443 ssl;   
	listen [::]:443 ssl;
	http2 on;

    # For the federation port
    listen 8448 ssl default_server;
    listen [::]:8448 ssl default_server;

	include /etc/nginx/ssl-config.conf;

ssl-config.conf

ssl_certificate /etc/letsencrypt/live/redacted/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/redacted/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache   shared:SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.3;
ssl_ecdh_curve X25519:prime256v1:secp384r1;
ssl_prefer_server_ciphers off;

@marwing
Copy link

marwing commented Apr 27, 2025

#786

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

No branches or pull requests

3 participants