feat: per-rule local override of Firefox Sync #2
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/local-rule-toggles"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a "Sync this rule" toggle to each rule card (visible only when Firefox Sync is enabled) so individual rules can stay local to this device:
localRuleskey (local storage); sync storage'sruleskey only ever contains fully-synced rules. Effective rule set = synced rules overlaid with local overrides (options, background, and popup all resolve this).overrideMeta.lastSyncedHash, FNV-1a). Remote unchanged → local wins silently; local untouched → remote wins silently; both diverged → 3-way modal (Keep Local / Keep Remote / Cancel).localRules+overrideMetaare exported and merged on import (imported wins).useSync.Backward compatible: no migration needed — absence of the new keys means no overrides. Includes 47 automated checks (harnesses in
_build/, gitignored) plus the 21-test build suite;web-ext lintclean.