-
Notifications
You must be signed in to change notification settings - Fork 46
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
Return export device state details as part of export attempts #264
Comments
We've not made a final decision on how we want to handle passphrases for export. If the client ends up sometimes prompting the user to enter a passphrase (or provide other pre-export information), that may argue for having a separate "pre-flight" check that just tests if the USB device is plugged in and of the correct type, before displaying the passphrase prompt. |
Assuming the persistent attach in
Per the above, and running
This might be a bit tricky to implement reliably as logical volumes might have different names accross vms/installs partitions. This will be complicated further if we decide to support multiple encryption algorithms. It might be easier to merge this requirement with the "A storage device is plugged in, but the passphrase is incorrect" error below.
This can be handled in the
This is already handled in the send-to-usb script and happens when
The mounting and copying operations are distinct and happen after the decryption operation in send-to-usb, these exceptions are already caught, we need to formalize the string to be parsed by the client. |
To clarify why this would be helpful, I think we can reasonably assume that users will at some point attempt to just use a random USB drive for export. At that point, the ideal UX would be to tell the user that this won't work (and why) before we even prompt for the passphrase. But for beta, we could have an error after entering the passphrase, to the effect of "passphrase is incorrect and/or the drive isn't encrypted". |
It feels like bait/switch or tone-deaf, to request users create/use s00per secure passwords... and then wait to tell them things like "ohey, that's the wrong kind of drive" until after they've entered in a password. On a whole aside from giving user feedback about a thing, after they've gone ahead to do other things, being a very standard UX anti-pattern. Personally, that's a hard-stop usability "No" not because it would block a user from proceeding, but because it will frustrate non-Linux/dev (so, most... if not all) users. That needs to matter. |
Current flow-map from wireframes, that speaks to these things: |
As part of the 10/7-24/7 Sprint, I propose we implement the return codes for the must as follows. If we need any of the should/could items, we can address them once we begin client integration:
I propose we create a new "device-type" in metadata.json called
We can get this information by running lsusb in the
I propose we return the following string if the passphrase is wrong:
We get to this point in the code when unlocking the LUKS volume.
I propose we return the following string if the there's an error mounting or accessing storage device (mount or luks failure):
We get to this point in the code when mounting the volume after unlocking the device here:
The following items I propose we don't immediately implement as they require significant changes in
The usb-test device described above could check to see if it's a block device or other (if there's anything new under lsblk).
We should implement Veracrypt first (#265) , as return code/error messages might change. We can return something like:
This would require to manually check available space and comparing with what's available. It would require a new method in send-to-usb, and we could return something like:
|
Hi @emkll, At a high level this sounds good to me! The part I'm wondering a bit about is this:
Should we treat this as a As far as the string identifiers are concerned, these seem sensible to me; I'll file an issue for the Bumping to @creviera and @redshiftzero for additional comment :) |
these error codes looks good, one nit:
|
To integrate the export workflow prototyped in #259 in the client, it would be useful to be able to distinguish the following states of the export device, with recommended MoSCoW prioritization:
This would allow us to immediately attempt to kick off an export when the user requests it, and show the user the appropriate message if the conditions for a successful export are not met.
The text was updated successfully, but these errors were encountered: