-
Notifications
You must be signed in to change notification settings - Fork 39
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
app: move export calls to separate thread #563
Conversation
CI failures here appear to be due to partially degraded service for circle CI docker builds, will rerun in a bit (it's happening also on master) |
5566656
to
a83e2c9
Compare
some changes here relevant to #557 (a cancel mechanism for export) and #558 (5 minute timeout for export): after this last commit on this branch, since we haven't yet implemented the cancel mechanisms (i.e. if a user clicks off the exportdialog, the window doesn't close), if a user starts an export, then the export dialog will stay up and block input to the parent window until it either succeeds or fails. So the cancel mechanisms are strong candidates to do soon as this will be confusing in a demo setting. |
049f1b1
to
0e6c9db
Compare
OK played with this a bit in qubes today - ready for more eyes! |
Nice work! I did some testing and see how the UI is no longer blocked during cross-vm operations. This means that a user can click outside of the dialog to close it during the vm-boot-up and file-transfer stages. We should continue discussion in #557 and in the next client meeting. As far as this PR goes, all looks good to me. |
Description
Fixes #561
Test Plan
Also for testing I've added some debug lines (which are worth leaving in) to demonstrate these export actions are running in the right thread (
export_thread
), logs from a test run just now:(GUI thread is 140735889998720, export thread is 123145349275648)
Checklist
If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable: