-
Notifications
You must be signed in to change notification settings - Fork 37
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
Transparently resume and complete stalled or failed submission downloads. #1994
Comments
I've been studying the securedrop-client code to get a handle on how it works and how I can start implementing range requests. In the dev environment, you can choose to use the proxy or not use the proxy and send http requests directly to the dev server. I should start by making this work without using the proxy first, and then later make sure it works with the proxy. This makes sense anyway while proxy v2 is still under development. Another thing to consider is providing download progress feedback to the user. It's related but I think it makes sense to start with just auto-resuming failed downloads. This way I can focus on the core functionality of supporting range requests, and we can spend more time thinking through the changes in the UI later. So the work should be in this order:
It looks like all of the download logic is in
Does this seem like a good plan moving forward? |
I think we can probably punt on UI changes for now, so that's the only change I'd make to order of operations. Otherwise plan sounds solid to me! One thing worth considering would be making the retry limit configurable so folks can twiddle with it in prod if necessary. There's already similar code in there for the sync timeout. |
Can you point me to that code? I'm wondering how new settings like this are defined. |
Yup, it was added in #1552 - used a kindof hack where a service name was defined in dom0 that was actually the name/value pair and then checked by the client. I think if we were doing it now we'd use the qubesdb code already in main of securdrop-workstation, which was added in freedomofpress/securedrop-workstation#1001 |
Description
Large file downloads over Tor fail more often than over public Internet, and the client and server do not yet support resuming failed downloads or even provide good feedback as to download progress - users just have to start over after an indeterminate period.
With range request support in the server, the client would be able to a) be more assertive about timeouts, and b) send multiple requests to complete downloads, ideally without requiring user intervention.
There have been multiple related issues touching on different aspects of this problem:
How will this impact SecureDrop users?
UX improvement for journalists using SDW.
How would this affect the SecureDrop Workstation threat model?
If download segments are stored in the same way and on the same AppVM as full downloads are currently, this should not have any threat model implications.
User Stories
The text was updated successfully, but these errors were encountered: