From 5969a4c210beaf3dc968a56da541cfcdd7989d84 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Wed, 10 Jun 2026 18:45:01 +0200 Subject: [PATCH] fix(vscode): restore shared session database --- .changeset/share-vscode-session-database.md | 5 +++++ .../src/services/cli-backend/server-manager.ts | 6 +++++- .../tests/unit/server-manager-utils.test.ts | 14 +++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 .changeset/share-vscode-session-database.md diff --git a/.changeset/share-vscode-session-database.md b/.changeset/share-vscode-session-database.md new file mode 100644 index 0000000000..aa85b9aa04 --- /dev/null +++ b/.changeset/share-vscode-session-database.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Restore persisted sessions across development extension branches and worktrees. diff --git a/packages/kilo-vscode/src/services/cli-backend/server-manager.ts b/packages/kilo-vscode/src/services/cli-backend/server-manager.ts index 9b59da6db3..a2657b33c7 100644 --- a/packages/kilo-vscode/src/services/cli-backend/server-manager.ts +++ b/packages/kilo-vscode/src/services/cli-backend/server-manager.ts @@ -28,6 +28,10 @@ export function resolveIndexingEnv(folders: readonly WorkspaceFolderLike[] | und return { KILO_DISABLE_CODEBASE_INDEXING: "vscode-no-workspace" } } +export function resolveManagedServerEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv { + return { ...env, KILO_DISABLE_CHANNEL_DB: "true" } +} + export class ServerManager { private instance: ServerInstance | null = null private startupPromise: Promise | null = null @@ -108,7 +112,7 @@ export class ServerManager { NODE_USE_SYSTEM_CA: "1", ...(extraCaCerts && { NODE_EXTRA_CA_CERTS: extraCaCerts }), ...(!proxyStrictSSL && { NODE_TLS_REJECT_UNAUTHORIZED: "0" }), - ...process.env, + ...resolveManagedServerEnv(process.env), // VS Code's http.proxy / http.noProxy settings are not reflected in // process.env, so spawned children bypass the user's configured proxy // and fail behind corporate firewalls. Forward them as the standard diff --git a/packages/kilo-vscode/tests/unit/server-manager-utils.test.ts b/packages/kilo-vscode/tests/unit/server-manager-utils.test.ts index fe2ffb299c..9fb6aab88f 100644 --- a/packages/kilo-vscode/tests/unit/server-manager-utils.test.ts +++ b/packages/kilo-vscode/tests/unit/server-manager-utils.test.ts @@ -1,6 +1,11 @@ import { describe, it, expect } from "bun:test" import { parseServerPort } from "../../src/services/cli-backend/server-utils" -import { resolveServerCwd, resolveIndexingEnv, toErrorMessage } from "../../src/services/cli-backend/server-manager" +import { + resolveServerCwd, + resolveIndexingEnv, + resolveManagedServerEnv, + toErrorMessage, +} from "../../src/services/cli-backend/server-manager" import { copyTreeSitterResources, resolveTreeSitterEnv, @@ -177,4 +182,11 @@ describe("server workspace helpers", () => { expect(resolveIndexingEnv([])).toEqual({ KILO_DISABLE_CODEBASE_INDEXING: "vscode-no-workspace" }) expect(resolveIndexingEnv([{ uri: { fsPath: "/repo" } }])).toEqual({}) }) + + it("uses the shared database for the managed backend while preserving the environment", () => { + expect(resolveManagedServerEnv({ PATH: "/usr/bin", KILO_DISABLE_CHANNEL_DB: "false" })).toEqual({ + PATH: "/usr/bin", + KILO_DISABLE_CHANNEL_DB: "true", + }) + }) })