diff options
| author | Brendan Allan <[email protected]> | 2026-04-21 13:32:31 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-21 13:32:31 +0800 |
| commit | 38e2f4cddafcbc4e3ac5f8ebdcdab9d1f468737b (patch) | |
| tree | 1cba7a035bb519400056aed31f1082f04ed6df9e /packages | |
| parent | bd54b68c123e1b1ceef22ee6196f879f2a5b9fbc (diff) | |
| download | opencode-38e2f4cddafcbc4e3ac5f8ebdcdab9d1f468737b.tar.gz opencode-38e2f4cddafcbc4e3ac5f8ebdcdab9d1f468737b.zip | |
fix(desktop-electron): add CORS headers to main window webRequest (#23633)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/desktop-electron/src/main/windows.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/desktop-electron/src/main/windows.ts b/packages/desktop-electron/src/main/windows.ts index df55e8da2..337e1ca0b 100644 --- a/packages/desktop-electron/src/main/windows.ts +++ b/packages/desktop-electron/src/main/windows.ts @@ -100,6 +100,19 @@ export function createMainWindow() { }, }) + win.webContents.session.webRequest.onBeforeSendHeaders((details, callback) => { + const { requestHeaders } = details + upsertKeyValue(requestHeaders, "Access-Control-Allow-Origin", ["*"]) + callback({ requestHeaders }) + }) + + win.webContents.session.webRequest.onHeadersReceived((details, callback) => { + const { responseHeaders = {} } = details + upsertKeyValue(responseHeaders, "Access-Control-Allow-Origin", ["*"]) + upsertKeyValue(responseHeaders, "Access-Control-Allow-Headers", ["*"]) + callback({ responseHeaders }) + }) + state.manage(win) loadWindow(win, "index.html") wireZoom(win) @@ -177,3 +190,17 @@ function wireZoom(win: BrowserWindow) { win.webContents.setZoomFactor(1) }) } + +function upsertKeyValue(obj: Record<string, any>, keyToChange: string, value: any) { + const keyToChangeLower = keyToChange.toLowerCase() + for (const key of Object.keys(obj)) { + if (key.toLowerCase() === keyToChangeLower) { + // Reassign old key + obj[key] = value + // Done + return + } + } + // Insert at end instead + obj[keyToChange] = value +} |
