Very quickly attempt to sign in while the "Connecting" indicator is still orange. I don't think I can ever do this on MacOS, but on my windows computer it's easy.
Get an error message. This is already bad -- we should just make the sign in process wait until connection, then send the sign in message over the resulting websocket, rather than failing because the websocket won't be created until 2 seconds later.
The sign in button is now disabled. On Chrome on Windows it doesn't become re-enabled no matter what I do or how long I wait. I have to refresh my browser.
Obviously, there should be no situation where the "Sign In" button is disabled, except if the password field is empty. And also, obviously, there should be no stupid delays that result in error messages.
Why does sign in use the websocket at all? Can't it be done via an http request. The result of a successful sign in is (1) a cookie gets set, and (2) some information comes back (e.g. account_id) so user can further query various tables. Seems like http would be fine for this.
Obviously, there should be no situation where the "Sign In" button is disabled, except if the password field is empty. And also, obviously, there should be no stupid delays that result in error messages.