mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* fix(wsl): Settings CLI status, startup CLI repair, interop health and link checks never boot a stopped distro (E9) - cli:getWslInstallStatus: opening Settings takes a settled running read and shows a refreshable "not running" status instead of starting the distro; the refresh button passes wakeWslDistro. - Startup CLI repair re-reads each listed distro (settled) right before its repair spawns and defers it otherwise, so a distro stopping mid fan-out is not restarted. - Interop health: stop-triggered checks no longer trust the stop event's list; every check takes a settled read, and again before the root repair. - shell:pathsExist (chat link and terminal hover existence) refuses a stopped distro's UNC path instead of statting it; callers already retry an unverifiable answer. * docs(wsl): note the missing-kernel availability probe as the known E9 exception * fix(wsl): shell:pathsExist refuses only the stopped distro's path, not the whole batch One UNC path in a stopped distro no longer fails the host paths checked with it; the renderer treats that path alone as unverifiable and retries it.
18 lines
894 B
TypeScript
18 lines
894 B
TypeScript
import { ipcRenderer } from 'electron'
|
|
import type { CliInstallStatus } from '../../shared/cli-install-types'
|
|
import type { PreloadApi } from '../api-types'
|
|
|
|
export const cliApi = {
|
|
getInstallStatus: (): Promise<CliInstallStatus> => ipcRenderer.invoke('cli:getInstallStatus'),
|
|
install: (): Promise<CliInstallStatus> => ipcRenderer.invoke('cli:install'),
|
|
remove: (): Promise<CliInstallStatus> => ipcRenderer.invoke('cli:remove'),
|
|
getWslInstallStatus: (args?: {
|
|
distro?: string | null
|
|
wakeWslDistro?: boolean
|
|
}): Promise<CliInstallStatus> => ipcRenderer.invoke('cli:getWslInstallStatus', args),
|
|
installWsl: (args?: { distro?: string | null }): Promise<CliInstallStatus> =>
|
|
ipcRenderer.invoke('cli:installWsl', args),
|
|
removeWsl: (args?: { distro?: string | null }): Promise<CliInstallStatus> =>
|
|
ipcRenderer.invoke('cli:removeWsl', args)
|
|
} satisfies PreloadApi['cli']
|