Hi all, The Firefox version of HTTPSE reads its rulesets from a sqlite file and caches them in memory. The current version does this read synchornously the first time a given ruleset is encountered, which has the potential to lock up the UI thread when disk is slow.
I've got a branch going that switches to reading asynchronously from SQLite. To make it work I had to borrow a subtle hack from AdBlock Plus: If we get a request and we don't yet have the information about what to do with it, we redirect the request to its own URL, then suspend it. Once we get back data from SQLite, we result the request. The redirect handler fires a second time, but now we have the data cached and can rewrite immediately. It's a pretty tricksy change, so I'd like some help testing it out. Branch is here: https://github.com/EFForg/https-everywhere/compare/async?expand=1 Package for testing is here, along with a signature: https://jacob.hoffman-andrews.com/https-everywhere-5.1.3asyncbeta-eff.xpi.html Thanks, Jacob _______________________________________________ HTTPS-Everywhere mailing list [email protected] https://lists.eff.org/mailman/listinfo/https-everywhere
