client icon indicating copy to clipboard operation
client copied to clipboard

OAuth2 "login required" dialog remains open after error

Open fmoc opened this issue 3 years ago • 1 comments

Pre-submission Checks

  • [X] I checked for similar issues, but could not find any. I also checked the closed issues. I could not contribute additional information to any existing issue.
  • [X] I will take the time to fill in all the required fields. I know that the bug report may be dismissed otherwise due to lack of information.

Describe the bug

While playing a bit with the new OAuth2 "login required" dialog introduced in #9742, I found that whenever there is an error, the internal web server closes (typically it sends an error website, but then just exits), but the dialog remains open. The URL it provides no longer works (since the webserver stopped working), so what needs to be done is exit the dialog and hit the "log in" button again.

This is anything but intiutive and user friendly, so we need to improve that.

Expected behavior

Either:

  1. the dialog closes and therefore logs the user out (kind of similar to the old behavior, the user also had to press the "log in" button again)
  2. we create a new OAuth object (we need to notify the user, though, so they use the new URL)
  3. we "reset" the OAuth object (also need to notify the user about the new URL)

These are just some ideas. Initially, I was in favor with the first one since it is an easy and small fix. However, one point to keep in mind is that it would be even better for the user if the webserver could stay around, so if the first response is not seen by the user, further responses inform them what the problem is. It might therefore be easier to just reset the OAuth object (e.g., by creating a new one) on the fly, and clean the old one up once the user has clicked either button. We should also show an error message in the dialog and prompt the user to click either button (we can reset the Reopen browser button to Open browser, too).

Since the user experience differs quite a lot, we need to discuss which option is going to work best. Other ideas are welcome as well, of course!

Steps to reproduce the issue

  1. log out of an account and log in again (or otherwise trigger the dialog)
  2. open the URL in your browser
  3. produce an error, for instance by:
    • entering credentials for the wrong user (this will always work)
    • going back and forward in the history a bit
  4. the webserver will close (after displaying an error message), but the dialog remains open

Screenshots

No response

Logs

No response

Client version number

Current master (any commit since the linked PR shows this behavior).

Desktop environment (Linux only)

No response

Client package version and origin (Linux only)

No response

Installation path (Windows only)

No response

Server information

No response

Additional context

No response

fmoc avatar Aug 05 '22 15:08 fmoc

The "retry" bit has been implemented by #10026, so this issue now focuses on whether to change the webserver behavior now.

fmoc avatar Oct 13 '22 21:10 fmoc

Closing as resolved, all new discussions need to be done in new issues.

fmoc avatar Jun 16 '23 13:06 fmoc