-
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
Immediate update of snippets #752
Conversation
securedrop_client/gui/widgets.py
Outdated
self.controller.message_ready.connect(self.set_snippet) | ||
self.controller.reply_ready.connect(self.set_snippet) | ||
self.controller.reply_succeeded.connect(self.set_snippet) | ||
self.controller.file_ready.connect(self.set_snippet) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
headsup: you may need to connect one more signal if this gets merged first
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wip pr looks good to me
I've managed to fix the unresponsive UI problem, fixed up the unit tests and tested with 200 sources to make sure it all works fine. Feedback most welcome..! |
Replies can likewise stay blank for a bit after they're fetched and the snippet updated. Clicking on another source and back redraws them. Downloading a file updated the snippet immediately, but the "downloading" spinner got stuck on, and this isn't cleared up by clicking another source then returning: I should probably have mentioned that I'm testing on Qubes, under i3. |
Same behavior observed under XFCE. |
@rmol aha... thank you. I'll take a look. I've been able to see this too. I suspect the blanks are an interesting intermediate state where the message is downloaded, but not yet decrypted. I'll need to check. |
I'll fix the downloading spinner in the morning. |
@creviera please confirm the spinner behaviour is not related to this branch (but is the problem you saw when testing the decryption story on the client side). If this is "just a bug" and not anything to do with this branch, I'll just ignore it and let it be fixed in another ticket. |
@creviera cool... so I won't fix in this PR. :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works with different trys, for replies, or new messages. Approved from my side.
Description
Ready for review.
Fixes #707.
This is a preview. There are performance issues with the code as it stands (tested with 200 sources), but I wanted to give you a sense of the progress made so far.
It took a while to work around SqlAlchemy, but got there in the end.
Screenie of some of this here:
Performance refactoring currently underway.
Test Plan
I've updated the unit tests. Please check with Eyeball mk.1 👀 for functionality described above.
Performance sanity check with 200 sources currently results in an unresponsive app while the messages / replies are downloading.
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:
If these changes add or remove files other than client code, packaging logic (e.g., the AppArmor profile) may need to be updated. Please check as applicable: