Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor issues with Login screen #307

Open
4 tasks
kevinaboos opened this issue Dec 30, 2024 · 0 comments
Open
4 tasks

Minor issues with Login screen #307

kevinaboos opened this issue Dec 30, 2024 · 0 comments
Assignees

Comments

@kevinaboos
Copy link
Member

@alanpoon In testing and tinkering with the Login Screen design, I noticed a few issues:

  • The Twitter log-in button is missing, which is a supported Identity Provider.
    • This is probably just an accident, since the LoginScreen view currently defines two duplicate GitHub login buttons:
      github_button = <SsoButton> {
      image = <SsoImage> {
      source: dep("crate://self/resources/img/github.png")
      }
      }
      github_button = <SsoButton> {
      image = <SsoImage> {
      source: dep("crate://self/resources/img/github.png")
      }
      }
  • SSO-based login is incredibly slow -- it takes nearly 10 full seconds for the browser screen to open (even though the Opening Browser... status message is very quickly displayed). And then, once I do successfully login, it takes another 5-8 full seconds for Robrix to respond.
    • Surely this cannot be correct, so we probably have a loop or hidden wait somewhere. Please investigate to find out why/where this is happening.
  • If SSO-based login is canceled, we never detect it. Thus, we're not handling it by resetting the LoginScreen back to its empty state, meaning that the user has to fully quit the entire app and then restart it in order to try to login again.
  • I think we should eliminate the entire concept of trying to pre-retrieve the supported login methods before the user actually tries to login. I think that it's too complicated and will likely confuse the user, since if they enter a new homeserver but don't remember to press the search button, they won't be shown the correct set of available login methods.
    • Instead, we should just always show all 6 SSO provider buttons, and simply allow them to submit a login request for any of them. If it fails, then the status message should inform them why it failed. This makes both our code and the user's login UX a lot less complicated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants