mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix issue with use of userShellSetting in ShellSessions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
4b19114f62
commit
8be1e3278d
@ -7,8 +7,8 @@ import { computed } from "mobx";
|
||||
import userInfoInjectable from "./user-info.injectable";
|
||||
import userStoreInjectable from "./user-store.injectable";
|
||||
|
||||
const resolvedUserShellSettingInjectable = getInjectable({
|
||||
id: "resolved-user-shell-setting",
|
||||
const userShellSettingInjectable = getInjectable({
|
||||
id: "user-shell-setting",
|
||||
instantiate: (di) => {
|
||||
const userStore = di.inject(userStoreInjectable);
|
||||
const userInfo = di.inject(userInfoInjectable);
|
||||
@ -17,4 +17,4 @@ const resolvedUserShellSettingInjectable = getInjectable({
|
||||
},
|
||||
});
|
||||
|
||||
export default resolvedUserShellSettingInjectable;
|
||||
export default userShellSettingInjectable;
|
||||
@ -19,7 +19,7 @@ import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||
import getBasenameOfPathInjectable from "../../../common/path/get-basename.injectable";
|
||||
import computeShellEnvironmentInjectable from "../../utils/shell-env/compute-shell-environment.injectable";
|
||||
import spawnPtyInjectable from "../spawn-pty.injectable";
|
||||
import resolvedUserShellSettingInjectable from "../../../common/user-store/resolved-shell.injectable";
|
||||
import userShellSettingInjectable from "../../../common/user-store/shell-setting.injectable";
|
||||
import appNameInjectable from "../../../common/vars/app-name.injectable";
|
||||
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
|
||||
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
|
||||
@ -44,7 +44,7 @@ const openLocalShellSessionInjectable = getInjectable({
|
||||
isWindows: di.inject(isWindowsInjectable),
|
||||
logger: di.inject(loggerInjectable),
|
||||
userStore: di.inject(userStoreInjectable),
|
||||
resolvedShell: di.inject(resolvedUserShellSettingInjectable),
|
||||
userShellSetting: di.inject(userShellSettingInjectable),
|
||||
appName: di.inject(appNameInjectable),
|
||||
buildVersion: di.inject(buildVersionInjectable),
|
||||
modifyTerminalShellEnv: di.inject(modifyTerminalShellEnvInjectable),
|
||||
|
||||
@ -14,7 +14,7 @@ import loggerInjectable from "../../../common/logger.injectable";
|
||||
import createKubeJsonApiForClusterInjectable from "../../../common/k8s-api/create-kube-json-api-for-cluster.injectable";
|
||||
import computeShellEnvironmentInjectable from "../../utils/shell-env/compute-shell-environment.injectable";
|
||||
import spawnPtyInjectable from "../spawn-pty.injectable";
|
||||
import resolvedUserShellSettingInjectable from "../../../common/user-store/resolved-shell.injectable";
|
||||
import userShellSettingInjectable from "../../../common/user-store/shell-setting.injectable";
|
||||
import appNameInjectable from "../../../common/vars/app-name.injectable";
|
||||
import buildVersionInjectable from "../../vars/build-version/build-version.injectable";
|
||||
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
|
||||
@ -35,7 +35,7 @@ const openNodeShellSessionInjectable = getInjectable({
|
||||
isMac: di.inject(isMacInjectable),
|
||||
isWindows: di.inject(isWindowsInjectable),
|
||||
logger: di.inject(loggerInjectable),
|
||||
resolvedShell: di.inject(resolvedUserShellSettingInjectable),
|
||||
userShellSetting: di.inject(userShellSettingInjectable),
|
||||
appName: di.inject(appNameInjectable),
|
||||
buildVersion: di.inject(buildVersionInjectable),
|
||||
createKubeJsonApiForCluster: di.inject(createKubeJsonApiForClusterInjectable),
|
||||
|
||||
@ -8,7 +8,7 @@ import type { Kubectl } from "../kubectl/kubectl";
|
||||
import type WebSocket from "ws";
|
||||
import { clearKubeconfigEnvVars } from "../utils/clear-kube-env-vars";
|
||||
import path from "path";
|
||||
import os, { userInfo } from "os";
|
||||
import os from "os";
|
||||
import type * as pty from "node-pty";
|
||||
import { getOrInsertWith } from "../../common/utils";
|
||||
import { type TerminalMessage, TerminalChannels } from "../../common/terminal/channels";
|
||||
@ -18,6 +18,7 @@ import type { SpawnPty } from "./spawn-pty.injectable";
|
||||
import type { InitializableState } from "../../common/initializable-state/create";
|
||||
import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
|
||||
import type { Stat } from "../../common/fs/stat/stat.injectable";
|
||||
import type { IComputedValue } from "mobx";
|
||||
|
||||
export class ShellOpenError extends Error {
|
||||
constructor(message: string, options?: ErrorOptions) {
|
||||
@ -107,7 +108,7 @@ export interface ShellSessionDependencies {
|
||||
readonly isWindows: boolean;
|
||||
readonly isMac: boolean;
|
||||
readonly logger: Logger;
|
||||
readonly resolvedShell: string | undefined;
|
||||
readonly userShellSetting: IComputedValue<string>;
|
||||
readonly appName: string;
|
||||
readonly buildVersion: InitializableState<string>;
|
||||
computeShellEnvironment: ComputeShellEnvironment;
|
||||
@ -338,7 +339,7 @@ export abstract class ShellSession {
|
||||
}
|
||||
|
||||
protected async getShellEnv() {
|
||||
const shell = this.dependencies.resolvedShell || userInfo().shell;
|
||||
const shell = this.dependencies.userShellSetting.get();
|
||||
const result = await this.dependencies.computeShellEnvironment(shell);
|
||||
const rawEnv = (() => {
|
||||
if (result.callWasSuccessful) {
|
||||
|
||||
@ -9,7 +9,7 @@ import { unionPATHs } from "../../../common/utils/union-env-path";
|
||||
import isSnapPackageInjectable from "../../../common/vars/is-snap-package.injectable";
|
||||
import electronAppInjectable from "../../electron-app/electron-app.injectable";
|
||||
import computeShellEnvironmentInjectable from "../../utils/shell-env/compute-shell-environment.injectable";
|
||||
import resolvedUserShellSettingInjectable from "../../../common/user-store/resolved-shell.injectable";
|
||||
import userShellSettingInjectable from "../../../common/user-store/shell-setting.injectable";
|
||||
|
||||
const setupShellInjectable = getInjectable({
|
||||
id: "setup-shell",
|
||||
@ -18,7 +18,7 @@ const setupShellInjectable = getInjectable({
|
||||
const logger = di.inject(loggerInjectable);
|
||||
const isSnapPackage = di.inject(isSnapPackageInjectable);
|
||||
const electronApp = di.inject(electronAppInjectable);
|
||||
const resolvedUserShellSetting = di.inject(resolvedUserShellSettingInjectable);
|
||||
const resolvedUserShellSetting = di.inject(userShellSettingInjectable);
|
||||
const computeShellEnvironment = di.inject(computeShellEnvironmentInjectable);
|
||||
|
||||
return {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user