diff --git a/extension/package.json b/extension/package.json index ea60906..a34e8c9 100644 --- a/extension/package.json +++ b/extension/package.json @@ -2,7 +2,7 @@ "name": "gravity-bridge", "displayName": "Gravity Bridge", "description": "Discord-based unified approval system for Antigravity AI interactions.", - "version": "0.5.37", + "version": "0.5.38", "publisher": "variet", "engines": { "vscode": "^1.100.0" diff --git a/extension/src/html-patcher.ts b/extension/src/html-patcher.ts index e749078..a32413f 100644 --- a/extension/src/html-patcher.ts +++ b/extension/src/html-patcher.ts @@ -293,14 +293,17 @@ function _patchHtmlFiles(scriptDir: string, combinedScript: string, logToFile: ( logToFile(`[OBSERVER] ${spec.name} removed old inline script block`); } // Insert BEFORE (not ) to ensure Electron executes it + // CRITICAL: Escape $ in inlineBlock to prevent String.replace() special patterns + // ($' = text after match, $& = matched text, etc.) which corrupt the JS code. + const safeInlineBlock = inlineBlock.replace(/\$/g, '$$$$'); if (html.includes('')) { html = html.replace('', - `\n${inlineBlock}\n`); + `\n${safeInlineBlock}\n`); logToFile(`[OBSERVER] ${spec.name} inline script INSERTED before `); } else { // Fallback: insert before html = html.replace('', - `\n${inlineBlock}\n`); + `\n${safeInlineBlock}\n`); logToFile(`[OBSERVER] ${spec.name} inline script INSERTED before (fallback)`); } // SAFETY: Final validation before write