diff options
Diffstat (limited to 'packages/desktop/src/cli.ts')
| -rw-r--r-- | packages/desktop/src/cli.ts | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/packages/desktop/src/cli.ts b/packages/desktop/src/cli.ts index 28623bdf7..49e47534f 100644 --- a/packages/desktop/src/cli.ts +++ b/packages/desktop/src/cli.ts @@ -3,6 +3,32 @@ import { message } from "@tauri-apps/plugin-dialog" import { initI18n, t } from "./i18n" import { commands } from "./bindings" +function installError(error: unknown) { + const text = String(error) + if (text.includes("CLI installation is only supported on macOS & Linux")) { + return t("desktop.cli.error.unsupportedPlatform") + } + if (text.includes("Sidecar binary not found")) { + return t("desktop.cli.error.sidecarMissing") + } + if (text.includes("Failed to write install script")) { + return t("desktop.cli.error.scriptWriteFailed") + } + if (text.includes("Failed to set script permissions")) { + return t("desktop.cli.error.scriptPermissionFailed") + } + if (text.includes("Failed to run install script")) { + return t("desktop.cli.error.scriptRunFailed") + } + if (text.includes("Install script failed")) { + return t("desktop.cli.error.scriptFailed") + } + if (text.includes("Could not determine install path")) { + return t("desktop.cli.error.installPathUnknown") + } + return text || t("desktop.cli.error.unknown") +} + export async function installCli(): Promise<void> { await initI18n() @@ -10,6 +36,8 @@ export async function installCli(): Promise<void> { const path = await commands.installCli() await message(t("desktop.cli.installed.message", { path }), { title: t("desktop.cli.installed.title") }) } catch (e) { - await message(t("desktop.cli.failed.message", { error: String(e) }), { title: t("desktop.cli.failed.title") }) + await message(t("desktop.cli.failed.message", { error: installError(e) }), { + title: t("desktop.cli.failed.title"), + }) } } |
