element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.01k stars 1.96k forks source link

After clicking on validation link in email (from mxisd template), riot forwards to create account rather than login or room #9775

Closed the-moog closed 5 years ago

the-moog commented 5 years ago

Description

Describe here the problem that you are experiencing, or the feature you are requesting.

In a self hosted Matrix system making use of Synapse, mxisd and Riot-web.

After successful registration, the validation url is https://chat.server.org/#/register?client_secret=o0vNszptAPV9D6IX5yibzCebvepmQYrw&hs_url=https%3A%2F%2Fmatrix.server.org&is_url=https%3A%2F%2Fmatrix.server.org&session_id=IolglQDOQFZcatKpUjgFjKIi

This is generated (by means I don't compltely understand) and sent to the web client as a forwarded address after the validation email link is clicked.

But on going to this address, riot trims the URL from ? onwards and tries to re-register a new account.

It used to simply go to the users' home page as though they had just logged in, after all the email has verified who they are, there is no need to login again.

At least it should go to the /#/login page rather than the /#/register page.

If the user then goes to the root URL and manually logs in, they get

https://chat.server.org/#/home

As they should.

Steps to reproduce

Describe how what happens differs from what you expected.

I would expect on clicking the validation link the user is forwarded to the 'accept'/'reject' for the room they have been invited to (this used to happen)

Version information

For the web app:

Update1: The 'Couldn't Load Page' previosuly mentioned in this report is a skinning issue and unrelated to this issue. The file home.html is simply missing from my install. Creating this file /opt/riot/home.html (empty html) removes this part of the issue. However it does not fix the validation link issue. See https://github.com/vector-im/riot-web/issues/9776

Update2: Pressing refresh on the first tab, where the 'a validation email has been sent' goes to the same incorrect registration page as clicking the link in the validation email.

jryans commented 5 years ago

This sounds related to https://github.com/vector-im/riot-web/issues/9586.

turt2live commented 5 years ago

Riot 1.0.1 is also a bit dated - can you try the latest release and see if it's any different? Logs would also be appreciated (after getting into the app, go to the help tab in settings and click "submit debug logs")

the-moog commented 5 years ago

Updated to v1.1.2, that complely borked it. I get a corrupted tab, half an image with text links in the wrong place.

Did a clear cache in the browser (seems other data needs cache busting too, see #9784)

V1.1.2 seems like a step backwards, the register email address field is now empty. Manually editing the registration email results in the same behaviour as 1.0.1. Debug log submitted against this Issue number

turt2live commented 5 years ago

Thanks, sorry about the caching problems. It should be automatically logging you in and skipping registration otherwise - I'll take a look at the logs today to see if that reveals anything

turt2live commented 5 years ago

hmm... @the-moog I took a look at the logs and it appears the most recent attempt prior to sending the report was successful. There's some errors before that, but they look like earlier attempts to get started. Does this match what you saw?

the-moog commented 5 years ago

@turt2live, I'm pretty much repeating the same processes with the same results. User test16 was the latest. If you have a throw away email you can give it a go yourself and also check it's not a local issue. I'll have to send an invite as it's not an open system.

Send me the logs (or tell me how to read them) and I'll look to see if anything stands out.

turt2live commented 5 years ago

I'll do some testing on my end to see if it's just a plain bug in Riot (which it may very well be). I can still send you the logs though - which user ID should I start a chat with?

the-moog commented 5 years ago

hmm... @the-moog I took a look at the logs and it appears the most recent attempt prior to sending the report was successful. There's some errors before that, but they look like earlier attempts to get started. Does this match what you saw?

I'll do some testing on my end to see if it's just a plain bug in Riot (which it may very well be). I can still send you the logs though - which user ID should I start a chat with?

@jasonm:matrix.cambsac.org.uk

turt2live commented 5 years ago

Right, so having tested myself it is just a plain Riot bug - the parameters don't do anything, and the user is asked to create an account. If you're unlucky enough to already be logged in and click the link in the email, nothing happens. I've opened https://github.com/vector-im/riot-web/issues/9816 to track it a bit more succinctly, and to close some duplicate issues.