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 = {