Settings pipeline
Defaults → storage → caches → live hooks
Flow
settings-template.json / code defaults
→ chrome.storage (local / sync if enabled)
→ background caches
→ broadcast / port update to frames & pages
Defaults
Author defaults live in the settings template and background/settings.ts (search engines, hashbangs, feature flags). Product defaults are Google-centric for search.
Update hooks
Changing Options triggers:
- Persist to storage
- Recompute derived structures (maps, exclusion regexes, engines)
- Notify open content scripts and UI pages
Sync
Opt-in. Not all keys may sync; large blobs can hit quotas. Always keep an export before experimental resets.
Reset
Reset to defaults reloads the author template. Irreversible without a backup.