-
Notifications
You must be signed in to change notification settings - Fork 42
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
Prompt the user when they attempt to log out or close the application when actions are pending #420
Comments
Long long ago and in a wireframe far far away, the above was alluded to with casual language and outdated UI conventions as shown below. A very simplified version with the standard alert bang, custom H1 & body text, and a "Cancel/Continue" binary as a standard Top Bar Message, feels like it'd be a great option for Beta. If possible. If. Possible. |
dope, this looks great. if we don't show the ETA and simplify the contextual messaging (maybe just the two states above) this could be doable |
Note that the user may exit the client by closing the application window; placement near username may be confusing in that case. |
^ Yeah, that's where the conversation kinda went as I recall, in the design review for this. "Why bother with a rich sign-out experience, when users will most likely just close the VM window?" That may be what prompted the idea of having a pulsey-something that's not obnoxious but subdued, on the right side of the blue top bar's gradient, when network activity things are happening? I think surfacing all the behavior in the Sync Widget status messages, should help a lot. For Beta, that tbh feels adequate. I know custom animations in QT are a big unknown on the team... which just shdn't be a priority abreast all the others, for Beta. |
Adding to #650 |
Because the queue is not visible in any way to the user, I believe this is an important issue for the beta. Perhaps not quite release blocker level -- we can warn users about exiting the client prematurely -- but close. Even with foreknowledge, if we don't warn them about pending operations, there's no way for them to fully know whether all operations (e.g., stars) have completed. I propose the first iteration of this should be a simple warning-styled dialog window:
(It may be preferable to have clearer labels on the buttons, to be more explicit about which action signs the user out/ It's crucial that the user sees it even if they quit the client, so we can't really integrate it with the "Sign out" button (as seen in the mockup above). |
Proposing this, as an iteration of Erik's iteration. H1: Cancel wd cancel whatever the prior user action was (signing out, or closing the window). |
If we're just downloading messages and replies (which can take a while if there's a lot of content on the server), would we want to still raise this dialog? I think we'd only want it for pending state changes the user wants to apply to the server (starring/deleting/sending a reply) and for long-running file downloads. It's worth noting that since this issue was filed, the user can now see in the UI that
|
Nah, it should only flag if the user has performed input actions that would otherwise be lost. That's the standard pattern. If the client is just set to receive inputs others already sent to the server, those can all be resumed later; the authenticated user's inputs, otoh, wd be lost if they sign out. TL;DR, we don't want anyone to lose data via this message. Both of the use-cases you cite, Jen, would do exactly that—it would lose an action from a user to the server. |
related to #410, a user doesn't have an easy way to see what actions are pending to infer that they might lose some ongoing activity. we could offer a (dismissible) message in the following situations (potentially with different messaging) when the user attempts to logout or close the client application:
In both these scenarios, we could have the user elect to wait, resume next time (when #410 is implemented) noting that some of these actions may be out of date e.g. stale replies (to be discussed in #410), or offer a cancel button that enables them to cancel all the pending jobs.
The text was updated successfully, but these errors were encountered: