Add grok.com; fix fetch hook on React/Next.js sites (Reddit, Grok, etc.)
Two fixes: 1. grok.com missing from manifest Grok moved from grok.x.ai to grok.com. The extension wasn't activating on grok.com at all (no content script injected). Added to host_permissions and content_scripts in both manifests. 2. Fetch hook bypassed on React/Next.js sites content.js was injected async (after awaiting the document-scanner), so by the time it replaced window.fetch, React/Next.js had already stored a reference to the original. All fetch calls from framework code bypassed the hook entirely. Fix: load early-hook.js as a "world": "MAIN" content script at document_start. This runs synchronously before any page JavaScript, captures the real fetch in window.__ssOriginalFetch, and replaces window.fetch with a lightweight wrapper. When content.js eventually loads, it sets window.__ssInterceptFetch (the real substitution logic) and window.__ssReady = true, activating the wrapper. React's stored fetch reference now routes through the interceptor. Falls back to direct window.fetch replacement if early-hook.js somehow didn't run (e.g. older browser without world: MAIN support). https://claude.ai/code/session_01CwcZK8nqL8pyBH9AxDs9qo
This commit is contained in:
+32
-1
@@ -25,6 +25,7 @@
|
||||
"https://chatgpt.com/*",
|
||||
"https://chat.openai.com/*",
|
||||
"https://copilot.microsoft.com/*",
|
||||
"https://grok.com/*",
|
||||
"https://grok.x.ai/*",
|
||||
"https://x.com/i/grok*",
|
||||
"https://gemini.google.com/*",
|
||||
@@ -53,6 +54,36 @@
|
||||
"https://chatgpt.com/*",
|
||||
"https://chat.openai.com/*",
|
||||
"https://copilot.microsoft.com/*",
|
||||
"https://grok.com/*",
|
||||
"https://grok.x.ai/*",
|
||||
"https://x.com/i/grok*",
|
||||
"https://gemini.google.com/*",
|
||||
"https://www.perplexity.ai/*",
|
||||
"https://copilot.microsoft.com/*",
|
||||
"https://chat.deepseek.com/*",
|
||||
"https://huggingface.co/chat/*",
|
||||
"https://poe.com/*",
|
||||
"https://github.com/*",
|
||||
"https://gitlab.com/*",
|
||||
"https://www.reddit.com/*",
|
||||
"https://old.reddit.com/*",
|
||||
"https://stackoverflow.com/*",
|
||||
"https://pastebin.com/*",
|
||||
"http://localhost/*",
|
||||
"http://127.0.0.1/*"
|
||||
],
|
||||
"js": ["src/content/early-hook.js"],
|
||||
"run_at": "document_start",
|
||||
"world": "MAIN",
|
||||
"all_frames": true
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
"https://claude.ai/*",
|
||||
"https://chatgpt.com/*",
|
||||
"https://chat.openai.com/*",
|
||||
"https://copilot.microsoft.com/*",
|
||||
"https://grok.com/*",
|
||||
"https://grok.x.ai/*",
|
||||
"https://x.com/i/grok*",
|
||||
"https://gemini.google.com/*",
|
||||
@@ -114,7 +145,7 @@
|
||||
],
|
||||
"web_accessible_resources": [
|
||||
{
|
||||
"resources": ["src/content/content.js", "src/content/early-hook.js", "src/lib/document-scanner.js"],
|
||||
"resources": ["src/content/content.js", "src/lib/document-scanner.js"],
|
||||
"matches": ["<all_urls>"]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user