Open rootuser opened 4 years ago
Hello. Sorry for the late answer.
I double checked the code and ma1sd always return CORS headers.
I think this issue occurs because V2 API was disabled in the previous version. In the next release V2 will be enabled by default. Lets check again after the release.
@ma1uta I am using ma1sd v2.4.0 with V2 enabled, but the problem still persists. Any ideas how I could debug it?
@rootuser @ma1uta I think I pinned down the problem to the now unmaintained https://github.com/kamax-matrix/matrix-synapse-rest-password-provider and more precisely to:
I can see from my logs that it never actually adds the 3PID to the database. This because of a change in synapse:
https://github.com/matrix-org/synapse/commit/e91abfd2919bcd42322099ecca8387a2dae9b06e
- user_id = yield self.hs.get_datastore().get_user_id_by_threepid(
+ user_id = await self.hs.get_datastore().get_user_id_by_threepid(
Since the matrix-synapse-rest-password-provider is now read-only I don't see a way to file a PR. I will change to matrix-synapse-ldap3 for now, hoping that 3PID work there.
matrix-synapse-rest-password-provider was forked in the https://github.com/ma1uta/matrix-synapse-rest-password-provider, feel free to create a PR.
I was able to get 3pids to show up again in the webapp after enabling hashing according to this document: https://github.com/ma1uta/ma1sd/blob/master/docs/MSC2140_MSC2134.md
I would like to point out a problem that may be due to a bug in ma1sd.
The original issue was first reported in the riot-web bug list, see here: https://github.com/vector-im/riot-web/issues/13033#
In short, the problem is that no 3PIDs are shown in the settings page of riot-web, as well as in riotX Android app. In the old riot Android app, 3PIDs are shown though.
When I noticed the followin error in the browsers javascript console:
it seemed to me the problem might be caused by a wrongly configured reverse proxy.
I contacted the developer of matrix-docker-ansible-deploy, as my installation is done via his script. You can find my report in his issue list at https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/505
It turned out that when riot-web accessed the identity server, an Access-Control-Allow-Origin header was missing, which denied access. This problem was finally fixed, see https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/511
The reason why I am addressing you is that the absence of the old bug now reveals a new one: in the current version I get the message: Unable to reach identity server at https://matrix.mydomain.de to check for 3PIDs bindings in Settings Error: Unsupported identity server: bad response
Since I use ma1sd as identity server and since e.g. the login works without problems I wonder if the described behaviour might be a bug in ma1sd.
It would be great if you could comment on this.
Best, Tom