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

Able to confuse export dialog by pressing back during export operations #1926

Open
legoktm opened this issue Mar 18, 2024 · 2 comments
Open

Comments

@legoktm
Copy link
Member

legoktm commented Mar 18, 2024

Description

I was able to confuse the export dialog into various states that shouldn't be possible (maybe ref #1875) by going backwards and forwards.

Steps to Reproduce

Please specify your environment if that is necessary to reproduce the bug (if in
doubt, include it).

  1. Set up SDW 0.10.0-rc3
  2. Plug in a veracrypt drive, do not unlock it
  3. Begin an export, hit the screen where you have Back / Continue / Cancel buttons, if you don't see the "If this is a VeraCrypt drive, ..." hit Continue till that error shows up
  4. Unlock the VeraCrypt drive
  5. Press Continue (spinner starts), then hit Back, then go forwards again, etc. The closer you hit Continue and then immediately Back to the unlocking of the drive seems to help with messing it up.

Expected Behavior

Ideally there are consistent states you enter/exit and it's not possible to get in the middle of one. But maybe the back button should be disabled once the export is in progress?

Actual Behavior

Export failed with no other details/error
signal-2024-03-18-151717_002
Export failed with an active continue spinner
signal-2024-03-18-151717_003
After some intermediate errors, I made it to the export complete screen except the header still says working
signal-2024-03-18-151717_004

Comments

I was only able to get it to do something weird like a third of the time. I'm not really inclined to treat this as a 0.10.0 release blocker, I think we can expect users aren't frantically clicking back and continue during an export and keep it in the backlog to address later.

@rocodes
Copy link
Contributor

rocodes commented Mar 18, 2024

hey @legoktm, thank you for testing and for this report, this is super helpful.

Aside from disabling the 'continue' button while an export action (detect drives, unlock, export) is happening, it's true there isn't logic to protect against a lot of button-mashing so it makes sense that this would happen - if back then continue is rapidly pressed while the export action is happening, that will trigger another export attempt and that could get things into an odd state.

It would be fairly easy to disable the back button (the same way the continue button is temporarily disabled while work is in progress), if you think that wouldn't confuse users.

Re your final screenshot ("Working..." on the last page): Did you happen to get a look at the logs in sd-devices when that screen was showing, to show what the last status was that was being reported? or the logs in sd-client? Also, how long did you wait on the "export complete" screen (like, did you wait several seconds and it still didn't update the dialog header)?

And re your first screenshot ("Export failed" with no error): same question, I would be curious what status was reported to the client when that's the case, but took a quick look, I see the issue, and I think it's a one-line change to make sure the status message gets reported on that page. Your call if you want to include it now or not.

@legoktm
Copy link
Member Author

legoktm commented Mar 19, 2024

It would be fairly easy to disable the back button (the same way the continue button is temporarily disabled while work is in progress), if you think that wouldn't confuse users.

I hope it won't be confusing - I think it's reasonable for there to be actions that are not reversible/pause-able.

Re your final screenshot ("Working..." on the last page): Did you happen to get a look at the logs in sd-devices when that screen was showing, to show what the last status was that was being reported? or the logs in sd-client?

I didn't think to check that until a few more rounds of export testing at which point I didn't know which log entry corresponded to this attempt :/

Also, how long did you wait on the "export complete" screen (like, did you wait several seconds and it still didn't update the dialog header)?

Yeah, it was at least 10-20 seconds for me to grab my phone and take a photo.

but took a quick look, I see the issue, and I think it's a one-line change to make sure the status message gets reported on that page. Your call if you want to include it now or not.

Yay, my inclination is (still) that these aren't blockers, I think it's edge-casey enough that it's fine to be a known issue and address later.

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