tutao / tutanota

Tuta is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.
https://tuta.com
GNU General Public License v3.0
6.06k stars 524 forks source link

Email address is not put into the login field after signup #5810

Closed armhub closed 12 months ago

armhub commented 1 year ago

How to reproduce:

  1. Sign up for a new account. -> When switching to the login form after signup the email address field is empty. Expected: The email address selected at signup is put into the field.

This bug exists since 3.118.1. Locally the bug could not be reproduced with 3.118.1. The URL is the same in both cases (/login?noAutoLogin=true&loginWith=". Additional observation: In the error case the "saved credentials" button is visible in the login form. In the other case it is not.

Test Notes:

wrdhub commented 1 year ago

Looking into this I saw that the email address would be filled in consistently when using firefox, but not when using chrome. I tested this with a local build on versions 3.118.1, 3.117.0, 3.116.8, so I do not believe this is related to the latest release. In the LoginView the loginWith argument would always be filled in, even when it wasn't displayed. So the data is there, and something else is going wrong.

ganthern commented 1 year ago

probably related commit 4f3bd9b41a8b87b3a32b91dd3571fea613de50a4

and therefore also https://github.com/tutao/tutanota/issues/4630

armhub commented 1 year ago

Reproducing and debugging this issue is not easy and it is not consistent. This could be a timing issue. It seems like this.loginForm.promise.then is not resolved in LoginView.handleLoginArguments() and therefore the email address is not set. We should observe it after releasing 3.118.1.

kib42 commented 1 year ago

The issue is reproducible on the test system where there are saved accounts in the client. Here are some notes:

kib42 commented 1 year ago

More notes for native Apps. Tested signups with both stored accounts and no stored accounts. All on version 3.118.5

armhub commented 1 year ago

On production system:

nokhub commented 1 year ago

The note with the saved accounts was very helpful! Since the loginForm is not recreated when switching from saved accounts to loginForm and signup, the loginForm promise is not resolved again and thus the url args are not read.