From dcd77b9e99773d6c8167a19f98ed75cefd8991fe Mon Sep 17 00:00:00 2001 From: Ruiming Zhao Date: Mon, 10 Aug 2026 10:45:06 -0700 Subject: [PATCH] fix(vscode): load webview stylesheets through CORS --- .../vscode/src/ContinueConsoleWebviewViewProvider.ts | 3 ++- .../vscode/src/ContinueGUIWebviewViewProvider.ts | 8 ++++++-- extensions/vscode/src/util/util.ts | 4 ++++ extensions/vscode/src/util/util.vitest.ts | 10 ++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/extensions/vscode/src/ContinueConsoleWebviewViewProvider.ts b/extensions/vscode/src/ContinueConsoleWebviewViewProvider.ts index 0bee3ea3f17..6f3767b13bf 100644 --- a/extensions/vscode/src/ContinueConsoleWebviewViewProvider.ts +++ b/extensions/vscode/src/ContinueConsoleWebviewViewProvider.ts @@ -3,6 +3,7 @@ import { EXTENSION_NAME } from "core/util/constants"; import { LLMLogger } from "core/llm/logger"; import * as vscode from "vscode"; +import { getStylesheetLink } from "./util/util"; import { getExtensionUri, getNonce } from "./util/vscode"; interface FromConsoleView { @@ -196,7 +197,7 @@ export class ContinueConsoleWebviewViewProvider - + ${getStylesheetLink(styleMainUri)} Continue diff --git a/extensions/vscode/src/ContinueGUIWebviewViewProvider.ts b/extensions/vscode/src/ContinueGUIWebviewViewProvider.ts index 443275cbdfa..09ec8457918 100644 --- a/extensions/vscode/src/ContinueGUIWebviewViewProvider.ts +++ b/extensions/vscode/src/ContinueGUIWebviewViewProvider.ts @@ -1,7 +1,11 @@ import * as vscode from "vscode"; import { getTheme } from "./util/getTheme"; -import { getExtensionVersion, getvsCodeUriScheme } from "./util/util"; +import { + getExtensionVersion, + getStylesheetLink, + getvsCodeUriScheme, +} from "./util/util"; import { getExtensionUri, getNonce, getUniqueId } from "./util/vscode"; import { VsCodeWebviewProtocol } from "./webviewProtocol"; @@ -133,7 +137,7 @@ export class ContinueGUIWebviewViewProvider - + ${getStylesheetLink(styleMainUri)} Continue diff --git a/extensions/vscode/src/util/util.ts b/extensions/vscode/src/util/util.ts index 9557ef0ab32..e1c5a51300e 100644 --- a/extensions/vscode/src/util/util.ts +++ b/extensions/vscode/src/util/util.ts @@ -160,6 +160,10 @@ export function getExtensionVersion(): string { return extension?.packageJSON.version || "0.1.0"; } +export function getStylesheetLink(styleUri: string): string { + return ``; +} + export function getvsCodeUriScheme(): string { return vscode.env.uriScheme; } diff --git a/extensions/vscode/src/util/util.vitest.ts b/extensions/vscode/src/util/util.vitest.ts index b63622c1f28..c646314f80a 100644 --- a/extensions/vscode/src/util/util.vitest.ts +++ b/extensions/vscode/src/util/util.vitest.ts @@ -1,5 +1,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { getStylesheetLink } from "./util"; + vi.mock("node:os", () => ({ platform: vi.fn(), arch: vi.fn(), @@ -77,3 +79,11 @@ describe("isExtensionPrerelease", () => { expect(isExtensionPrerelease()).toBe(true); }); }); + +describe("getStylesheetLink", () => { + it("requests webview stylesheets with CORS", () => { + expect(getStylesheetLink("vscode-webview://continue/gui/index.css")).toBe( + '', + ); + }); +});