You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR introduces a per-site disable control, allowing users to quickly turn ClearURLs off for the current site when it breaks a workflow.
It adds a popup action to toggle ClearURLs on the active site, persists the disabled hostnames in extension storage, and bypasses URL cleaning for requests and history updates originating from those sites.
Problem
Currently, ClearURLs can only be toggled globally. When a specific site breaks, users have no fast escape hatch other than disabling the entire add-on and waiting for a upstream fix. This makes site-specific regressions much more disruptive than necessary.
Changes
Storage & State: Added a persisted disabledDomains list in extension storage.
Background Script: Added shared hostname helpers and tab URL tracking.
Popup UI: Added a new Site section featuring:
Current site status.
A toggle button (Disable on this site / Enable on this site).
Logic Bypasses: - Bypasses webRequest URL cleaning when the current site is disabled.
Bypasses history API cleaning for disabled sites.
i18n: Added English localization strings for the new popup UI elements.
Behavior
Disabling a site strictly affects that specific site's hostname.
The add-on remains active globally for all other sites.
Users can easily re-enable the site using the same popup control.
Confirmed, works! 👍
To install, I downloaded the zip from this branch, unpacked it, repacked it without a top-level folder (select all files inside and pack that) and then used "Install add-on from file", which only worked because I already had the setup for local extensions: Firefox developer edition and about:config with xpinstall.signatures.required=false.
Update the manifest.json with a new value for browser_specific_settings.gecko.id to a fake email address or a UUID (a UUID needs to be wrapped in braces)
In Firefox, disable the original extension and then navigate to about:debugging#/runtime/this-firefox
Click the "Load Temporary Add-on..." button and select the edited manifest.json from the downloaded files
When testing is complete, you can remove the temporary extension or just quit Firefox and it's gone (and changing the ID of the temp extension won't mess with the "real" install of it when you go back to using it)
You can also test temporary extensions using web-ext, but that's too involved for a post like this.
So, no need to modify the xpinstall.signatures.required preference, which is enabled for good reason and could be easy for some to forget to re-enable.
At any rate, thanks for the update and testing. I'm happy to have a nice improvement to look forward to.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a per-site disable control, allowing users to quickly turn ClearURLs off for the current site when it breaks a workflow.
It adds a popup action to toggle ClearURLs on the active site, persists the disabled hostnames in extension storage, and bypasses URL cleaning for requests and history updates originating from those sites.
Problem
Currently, ClearURLs can only be toggled globally. When a specific site breaks, users have no fast escape hatch other than disabling the entire add-on and waiting for a upstream fix. This makes site-specific regressions much more disruptive than necessary.
Changes
disabledDomainslist in extension storage.Sitesection featuring:Disable on this site/Enable on this site).webRequestURL cleaning when the current site is disabled.Behavior
Notes