Block or recover background requests after bootstrap
With #27476 (closed), background requests fail before bootstrapping completes because Tor rejects the proxy request. In some instances, these requests are not retried again, in others they are retried after a long period, and in others they are retried within a short period.
Known background requests:
- HTTPS Everywhere ruleset updates
- Mozilla Blocklist updates
- Tor Browser Updates
We know https-everywhere does not handle fetch failures, and only tries fetching updates again after 24 hours. I believe we can send a
update_update_channel message, similar to our behavior in febcaf62, and force an update after we successfully bootstrap.
For Firefox's background updates, we may be able to take advantage of Firefox's
offline mode (
Service.io.offline), and Firefox will delay updates until we're "online":