EFForg / https-everywhere

A browser extension that encrypts your communications with many websites that offer HTTPS but still allow unencrypted connections.

Home Page:https://eff.org/https-everywhere

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Handling Firefox quota enforcement

twolfson opened this issue · comments

Type: code issue

For the past couple weeks, I've been able to disable sites for a session but upon browser restart, the disabled sites were no longer registered

Steps:

  • Open a link in an email
  • Get prompted by HTTPS Everywhere to handle non-HTTPS site
  • Select "Open insecure page" (permanent)
  • Go to website without issue
  • Close browser
  • Open same link in email

Expected behavior:

  • No prompt from HTTPS Everywhere

Actual behavior:

  • Prompted again by HTTPS Everywhere to handle non-HTTPS site

Research:

Discussion:

  • Solutions to work around 8192 byte limitation will eventually run into same issues (i.e. total storage is 102400 bytes, gzipping saves maybe 50% of data)
  • Probably better to check usage via getBytesInUse then notify user they need to remove existing sites
  • Maybe Mozilla can be convinced to increase their quota (unsure if same issue exists in Chrome)
  • I'm sure y'all have better ideas than me around this =)

Workaround for now:

  • Open "Add-Ons"
  • Navigate to "HTTPS Everywhere" extension
  • Click on gear then "Debug Add-ons"
  • Clear existing disabled sites via: chrome.storage.sync.set({'disabledList': []}, console.log)
  • Restart browser
  • Wait for another couple months to run into limit
  • Rinse and repeat

@zoracon Maybe we can move towards using local browser storage instead of the sync one, or allow the user to choose? As far as I know, local storage is almost unlimited in its size.

A few lines down from chrome.storage.sync settings is chrome.storage.local. The limitation there is 5MB instead of 100KB total, definitely more reasonable:

https://searchfox.org/mozilla-central/rev/8d55e18875b89cdf2a22a7cba60dc40999c18356/toolkit/components/extensions/schemas/storage.json#341-351