diff --git a/src/main/__test__/shell-session.test.ts b/src/main/__test__/shell-session.test.ts index 1fe8915e26..c8c0f1c8df 100644 --- a/src/main/__test__/shell-session.test.ts +++ b/src/main/__test__/shell-session.test.ts @@ -7,14 +7,14 @@ import { clearKubeconfigEnvVars } from "../utils/clear-kube-env-vars"; describe("clearKubeconfigEnvVars tests", () => { it("should not touch non kubeconfig keys", () => { - expect(clearKubeconfigEnvVars({ a: 1 })).toStrictEqual({ a: 1 }); + expect(clearKubeconfigEnvVars({ a: "22" })).toStrictEqual({ a: "22" }); }); it("should remove a single kubeconfig key", () => { - expect(clearKubeconfigEnvVars({ a: 1, kubeconfig: "1" })).toStrictEqual({ a: 1 }); + expect(clearKubeconfigEnvVars({ a: "22", kubeconfig: "1" })).toStrictEqual({ a: "22" }); }); it("should remove a two kubeconfig key", () => { - expect(clearKubeconfigEnvVars({ a: 1, kubeconfig: "1", kUbeconfig: "1" })).toStrictEqual({ a: 1 }); + expect(clearKubeconfigEnvVars({ a: "22", kubeconfig: "1", kUbeconfig: "1" })).toStrictEqual({ a: "22" }); }); }); diff --git a/src/main/shell-session/local-shell-session/open.injectable.ts b/src/main/shell-session/local-shell-session/open.injectable.ts index 8f8b1c2d1f..bfb72911ec 100644 --- a/src/main/shell-session/local-shell-session/open.injectable.ts +++ b/src/main/shell-session/local-shell-session/open.injectable.ts @@ -44,7 +44,7 @@ const openLocalShellSessionInjectable = getInjectable({ userStore: di.inject(userStoreInjectable), resolvedShell: di.inject(resolvedShellInjectable), appName: di.inject(appNameInjectable), - buildVersion: di.inject(buildVersionInjectable).get(), + buildVersion: di.inject(buildVersionInjectable), modifyTerminalShellEnv: di.inject(modifyTerminalShellEnvInjectable), getDirnameOfPath: di.inject(getDirnameOfPathInjectable), joinPaths: di.inject(joinPathsInjectable), diff --git a/src/main/shell-session/node-shell-session/open.injectable.ts b/src/main/shell-session/node-shell-session/open.injectable.ts index 7607a88e87..6080129d6a 100644 --- a/src/main/shell-session/node-shell-session/open.injectable.ts +++ b/src/main/shell-session/node-shell-session/open.injectable.ts @@ -35,7 +35,7 @@ const openNodeShellSessionInjectable = getInjectable({ logger: di.inject(loggerInjectable), resolvedShell: di.inject(resolvedShellInjectable), appName: di.inject(appNameInjectable), - buildVersion: di.inject(buildVersionInjectable).get(), + buildVersion: di.inject(buildVersionInjectable), createKubeJsonApiForCluster: di.inject(createKubeJsonApiForClusterInjectable), computeShellEnvironment: di.inject(computeShellEnvironmentInjectable), spawnPty: di.inject(spawnPtyInjectable), diff --git a/src/main/shell-session/shell-session.ts b/src/main/shell-session/shell-session.ts index 54afd079d4..e17f533ccb 100644 --- a/src/main/shell-session/shell-session.ts +++ b/src/main/shell-session/shell-session.ts @@ -17,6 +17,7 @@ import { type TerminalMessage, TerminalChannels } from "../../common/terminal/ch import type { Logger } from "../../common/logger"; import type { ComputeShellEnvironment } from "../utils/shell-env/compute-shell-environment.injectable"; import type { SpawnPty } from "./spawn-pty.injectable"; +import type { InitializableState } from "../../common/initializable-state/create"; export class ShellOpenError extends Error { constructor(message: string, options?: ErrorOptions) { @@ -108,7 +109,7 @@ export interface ShellSessionDependencies { readonly logger: Logger; readonly resolvedShell: string | undefined; readonly appName: string; - readonly buildVersion: string; + readonly buildVersion: InitializableState; computeShellEnvironment: ComputeShellEnvironment; spawnPty: SpawnPty; } @@ -376,7 +377,7 @@ export abstract class ShellSession { env.PTYPID = process.pid.toString(); env.KUBECONFIG = await this.kubeconfigPathP; env.TERM_PROGRAM = this.dependencies.appName; - env.TERM_PROGRAM_VERSION = this.dependencies.buildVersion; + env.TERM_PROGRAM_VERSION = this.dependencies.buildVersion.get(); if (this.cluster.preferences.httpsProxy) { env.HTTPS_PROXY = this.cluster.preferences.httpsProxy; diff --git a/src/main/utils/clear-kube-env-vars.ts b/src/main/utils/clear-kube-env-vars.ts index fab11be4e1..f678f44807 100644 --- a/src/main/utils/clear-kube-env-vars.ts +++ b/src/main/utils/clear-kube-env-vars.ts @@ -13,7 +13,7 @@ const anyKubeconfig = /^kubeconfig$/i; * before KUBECONFIG and we only set KUBECONFIG. * @param env The current copy of env */ -export function clearKubeconfigEnvVars(env: Record): Record { +export function clearKubeconfigEnvVars(env: Partial>): Partial> { return Object.fromEntries( Object.entries(env) .filter(([key]) => anyKubeconfig.exec(key) === null),