Skip to content

fix(#509): add disable on current site control - #516

Open
rbalogic wants to merge 2 commits into
ClearURLs:masterfrom
rbalogic:feat/509-disable-on-current-domain
Open

fix(#509): add disable on current site control#516
rbalogic wants to merge 2 commits into
ClearURLs:masterfrom
rbalogic:feat/509-disable-on-current-domain

Conversation

@rbalogic

Copy link
Copy Markdown

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

  • 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.

Notes

  • This PR is intentionally scoped to the per-site disable feature to address issue Add option to disable addon on current domain #509.
  • It does not add an allowlist-only mode or a “clean only on selected sites” feature, as those would require separate product and implementation design.

@rbalogic
rbalogic force-pushed the feat/509-disable-on-current-domain branch from 6296426 to 5694635 Compare May 23, 2026 13:44
@sonarqubecloud

Copy link
Copy Markdown

@rbalogic

Copy link
Copy Markdown
Author

Hi @KevinRoebert 👋 Can you review this PR when you have some time? Thanks.

@L-Kall

L-Kall commented Jul 26, 2026

Copy link
Copy Markdown

Any ETA for a merge and maybe another for release?

@Fabian42

Copy link
Copy Markdown

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.

@L-Kall

L-Kall commented Aug 19, 2026

Copy link
Copy Markdown

A note for more safely testing extensions:

  1. Download the extension sources
  2. 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)
  3. In Firefox, disable the original extension and then navigate to about:debugging#/runtime/this-firefox
  4. Click the "Load Temporary Add-on..." button and select the edited manifest.json from the downloaded files
  5. 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)
  6. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants