Native injection, tabbed settings, and custom profiles #2
Loading…
Reference in a new issue
No description provided.
Delete branch "native-injection-and-custom-profiles"
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?
Reworks how the extension injects and adds user-built profiles.
Native injection (no "Allow user scripts" toggle)
chrome.userScriptsand its permission. The engine is now a native MAIN-world content script registered viachrome.scripting.registerContentScripts(world: MAIN,document_start).chrome.storage, so config arrives via an ISOLATED-worldbridge: the engine installs instantly with a default identity (first paint is always spoofed), then adopts the real per-site profile the moment the bridge posts it. Every hook reads shared mutable state, so no reinstall is needed.excludeMatches, so trusted sites are never injected (no spoof-flash).Custom profiles from constrained dropdowns
buildProfilederives every dependent field (UA, Client Hints, WebGL strings, deviceMemory, colour depth...), so custom identities stay internally consistent -- no Safari-on-Windows mismatches.Other
open_in_tab), not the embedded extension-details panel.minimum_chrome_versionlowered to 111.Verification
scripts/verify.mjs— 13 checks (engine, incl. delivery of a custom Safari-on-macOS profile).scripts/verify-options.mjs— 11 checks driving the real options page (dependent dropdowns, preview consistency, persistence).Both suites pass.
npm run compileandnpm run buildare clean.🤖 Generated with Claude Code