diff --git a/packages/app/src/components/dialog-select-server.tsx b/packages/app/src/components/dialog-select-server.tsx index 7504eb86fa..b51431c93f 100644 --- a/packages/app/src/components/dialog-select-server.tsx +++ b/packages/app/src/components/dialog-select-server.tsx @@ -275,7 +275,6 @@ export function DialogSelectServer(props: DialogSelectServerProps = {}) { }, onSuccess: async (key) => { server.remove(key) - if (defaultServer.defaultKey() === key) await defaultServer.setDefault(null) }, onError: (err) => showRequestError(language, err), })) @@ -607,7 +606,7 @@ export function DialogSelectServer(props: DialogSelectServerProps = {}) { const wsl = isWslSidecar(i) const wslDistro = wsl ? i.distro : undefined const blocked = () => health(key)?.healthy === false - const canChangeDefault = () => defaultServer.canDefault() && i.type !== "ssh" + const canChangeDefault = () => defaultServer.canDefault() && i.type === "http" const canRemove = () => i.type === "http" || wsl const opencodeAction = () => { const check = wslCheck(i) diff --git a/packages/app/src/components/dialog-wsl-server.tsx b/packages/app/src/components/dialog-wsl-server.tsx index 9fdd85b663..99ff342beb 100644 --- a/packages/app/src/components/dialog-wsl-server.tsx +++ b/packages/app/src/components/dialog-wsl-server.tsx @@ -61,7 +61,7 @@ export function DialogWslServer(props: DialogWslServerProps = {}) { const distroWarningProbe = createMemo(() => { const probe = selectedProbe() if (!probe) return null - if (distroReady() && !probe.isRoot) return null + if (distroReady()) return null return probe }) const distroUnavailableMessage = createMemo(() => { @@ -453,8 +453,7 @@ export function DialogWslServer(props: DialogWslServerProps = {}) { when={ selectedInstalled()?.version === 1 || distroUnavailableMessage() || - distroMissingTools() || - distroWarningProbe()?.isRoot + distroMissingTools() } >
@@ -467,11 +466,6 @@ export function DialogWslServer(props: DialogWslServerProps = {}) {
This distro needs bash and curl.
- -
- This distro is using the root user right now. -
-
diff --git a/packages/app/src/context/platform.tsx b/packages/app/src/context/platform.tsx index 928ed5ee2e..64b664393b 100644 --- a/packages/app/src/context/platform.tsx +++ b/packages/app/src/context/platform.tsx @@ -28,7 +28,6 @@ export type WslDistroProbe = { canExecute: boolean hasBash: boolean hasCurl: boolean - isRoot: boolean | null error: string | null } export type WslOpencodeCheck = { diff --git a/packages/desktop-electron/src/main/wsl.ts b/packages/desktop-electron/src/main/wsl.ts index b8267bc77d..7fb3a23cbd 100644 --- a/packages/desktop-electron/src/main/wsl.ts +++ b/packages/desktop-electron/src/main/wsl.ts @@ -348,24 +348,20 @@ export async function probeWslDistro(name: string, opts?: RunWslOptions): Promis canExecute: false, hasBash: false, hasCurl: false, - isRoot: null, error: summarize(executable.stderr || executable.stdout) || "Cannot execute commands in distro", } } - const [bash, curl, user] = await Promise.all([ + const [bash, curl] = await Promise.all([ runWslSh("command -v bash >/dev/null && printf yes || printf no", name, opts), runWslSh("command -v curl >/dev/null && printf yes || printf no", name, opts), - runWslSh("id -un 2>/dev/null || true", name, opts), ]) - const username = summarize(user.stdout) return { name, canExecute: true, hasBash: bash.code === 0 && summarize(bash.stdout) === "yes", hasCurl: curl.code === 0 && summarize(curl.stdout) === "yes", - isRoot: username ? username === "root" : null, error: null, } } diff --git a/packages/desktop-electron/src/preload/types.ts b/packages/desktop-electron/src/preload/types.ts index b8bb7790b1..34fd5be6aa 100644 --- a/packages/desktop-electron/src/preload/types.ts +++ b/packages/desktop-electron/src/preload/types.ts @@ -27,7 +27,6 @@ export type WslDistroProbe = { canExecute: boolean hasBash: boolean hasCurl: boolean - isRoot: boolean | null error: string | null } export type WslOpencodeCheck = {