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

Timeout / No Auth #379

Closed
sssoleileraaa opened this issue May 22, 2019 · 5 comments
Closed

Timeout / No Auth #379

sssoleileraaa opened this issue May 22, 2019 · 5 comments

Comments

@sssoleileraaa
Copy link
Contributor

There is no signal for for ApiInacessibleError or RequestTimeoutError, and there needs to be as these being raised requires action from the user. As it stands now, either of these errors will either abort the thread (with no way to restart) or crash the app. I haven't tested.

~heartsucker


see #374 for more info

@redshiftzero
Copy link
Contributor

redshiftzero commented Jun 5, 2019

Proposal: when ApiInaccessibleError occurs in the queue, we should emit a signal that on_action_requiring_login listens for (in logic.py), which will cause this UI action:

Screen Shot 2019-06-05 at 12 16 59 PM

@sssoleileraaa
Copy link
Contributor Author

Good idea. We also should make sure to stop users from performing actions ahead of time when in offline mode.

@redshiftzero
Copy link
Contributor

OK after more consideration I think we want to do the following:

  1. ApiInaccessibleError: this means that either the user is logged out OR their token expired. We should pause queue execution and should probably open a customized version of the Login UI indicating that they have been logged out and should login again (or continue in offline mode).
  2. RequestTimeoutError: if we've implemented Enable configurable number of retries for each API job #384 and we STILL see this, it means that network connectivity is lost to the server. We should pause queue execution and open a window indicating: “We’ve lost contact with the server: Go to offline mode (this is a button) or Try again (this is a button)”

@eloquence
Copy link
Member

ApiInaccessibleError: this means that either the user is logged out OR their token expired. We should pause queue execution and should probably open a customized version of the Login UI indicating that they have been logged out and should login again (or continue in offline mode).

Given the 8 hour expiry, throwing user back to login dialog makes sense to me, would be nice if we had a way to pass along a "reason" message to the UI, even if placement is temporary for now.

RequestTimeoutError: if we've implemented #384 and we STILL see this, it means that network connectivity is lost to the server. We should pause queue execution and open a window indicating: “We’ve lost contact with the server: Go to offline mode (this is a button) or Try again (this is a button)”

This is spec'd out in #391 (it currently doesn't have an "offline mode" action, but that's a good place to discuss that).

@sssoleileraaa
Copy link
Contributor Author

Doing a little cleanup...

I'm closing this issue because it's outdated now, and I made sure we have more recent issues that make it easier to see work left to do (see below) and nothing gets lost here.

  1. ApiInaccessibleError: this means that either the user is logged out OR their token expired. We should pause queue execution and should probably open a customized version of the Login UI indicating that they have been logged out and should login again (or continue in offline mode).

We are now pausing the queue on ApiInaccessibleError, and opening a customized version of the Login dialog is being tracked here.

  1. RequestTimeoutError: if we've implemented Enable configurable number of retries for each API job #384 and we STILL see this, it means that network connectivity is lost to the server. We should pause queue execution and open a window indicating: “We’ve lost contact with the server: Go to offline mode (this is a button) or Try again (this is a button)”

We've implemented:

And as eloquence mentioned, this is being tracked in #391.

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

3 participants