The application is not able to create an account on this homeserver
Description
I have configured a new homeserver that Element (Android) says it cannot create an account and prompts me to use a web client. This is a terrible user experience. See screenshot
Steps to reproduce
- Open Element
- Click Create Account
- Change Server URL to my homeserver
Homeserver
https://ohana.chat
Synapse Version
1.115.0
Installation Method
Debian packages from packages.matrix.org
Database
PostgreSQL
Workers
Single process
Platform
Ubuntu 22.04.5
Configuration
Running a custom coTurn (on an external VPS hosted on DigitalOcean) enable_registration: true registration_requires_token: true (using Synapse-Admin to generate these) auto_join_rooms (x2) allow_guest_access: true (this is new but was receiving this error before enabling it) server_notices public_baseurl: https://ohana.chat default_identity_server: https://matrix.org web_client_location: https://web.ohana.chat/ serve_server_wellknown: true
Relevant log output
2024-09-21 01:30:51,363 - synapse.access.http.8008 - 473 - INFO - GET-7074 - 192.168.50.1 - 8008 - {None} Processed request: 0.000sec/0.000sec (0.000sec, 0.000sec) (0.000sec/0.000sec/0) 1038B 200 "GET /_matrix/client/versions HTTP/1.0" "Element/1.6.20 (Wingtech TMRV075G; Android 14; TMRV075G_0.08.18; Flavour GooglePlay; MatrixAndroidSdk2 1.6.20)" [0 dbevts]
2024-09-21 01:30:51,543 - synapse.access.http.8008 - 473 - INFO - GET-7075 - 192.168.50.1 - 8008 - {None} Processed request: 0.000sec/0.000sec (0.000sec, 0.000sec) (0.000sec/0.000sec/0) 1038B 200 "GET /_matrix/client/versions HTTP/1.0" "Element/1.6.20 (Wingtech TMRV075G; Android 14; TMRV075G_0.08.18; Flavour GooglePlay; MatrixAndroidSdk2 1.6.20)" [0 dbevts]
2024-09-21 01:30:51,600 - synapse.access.http.8008 - 473 - INFO - GET-7076 - 192.168.50.1 - 8008 - {None} Processed request: 0.000sec/0.000sec (0.000sec, 0.000sec) (0.000sec/0.000sec/0) 78B 200 "GET /_matrix/client/r0/login HTTP/1.0" "Element/1.6.20 (Wingtech TMRV075G; Android 14; TMRV075G_0.08.18; Flavour GooglePlay; MatrixAndroidSdk2 1.6.20)" [0 dbevts]
2024-09-21 01:30:51,841 - synapse.access.http.8008 - 473 - INFO - POST-7077 - 192.168.50.1 - 8008 - {None} Processed request: 0.049sec/0.000sec (0.000sec, 0.001sec) (0.000sec/0.047sec/2) 127B 401 "POST /_matrix/client/r0/register HTTP/1.0" "Element/1.6.20 (Wingtech TMRV075G; Android 14; TMRV075G_0.08.18; Flavour GooglePlay; MatrixAndroidSdk2 1.6.20)" [0 dbevts]
Anything else that would be useful to know?
My last server didn't have this problem and the only security I had was entering user emails on a case-by-case basis. Is this to do with registration tokens? If so, where is the documentation for this? If not, can I get a better error to show what about my homeserver the client is rejecting?
Isn't your problem rather than legacy Element Android does not seem to support the use of tokens? registration_requires_token. I don't think that legacy Element Android will receive any major updates.
Having the same issue, changing registration_requires_token to false solved it. I really really think there should be some specification somewhere that "not all clients support every type of registration", this would have saved me 2 days of troubleshooting.
This issue would be more appropriate for a client issue tracker; the server can't force all clients to implement all auth flows.
However next-gen auth (use of Matrix Authentication Service) will, in a sense, solve this problem for clients that support it (which will hopefully be the norm in the future).