summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-06 09:03:40 -0600
committerAdam <[email protected]>2026-02-06 09:03:45 -0600
commit12e8ef3178d7000cb31225716b2d05fc21019d1b (patch)
treefb148625273ba8522d129a507075a649f17276ad
parentb7ad8e459cae11ca74d976f6bd2e02559912716a (diff)
downloadopencode-12e8ef3178d7000cb31225716b2d05fc21019d1b.tar.gz
opencode-12e8ef3178d7000cb31225716b2d05fc21019d1b.zip
fix(app): remove extra error page and use default error boundary
-rw-r--r--packages/desktop/src/i18n/ar.ts4
-rw-r--r--packages/desktop/src/i18n/br.ts4
-rw-r--r--packages/desktop/src/i18n/bs.ts4
-rw-r--r--packages/desktop/src/i18n/da.ts4
-rw-r--r--packages/desktop/src/i18n/de.ts4
-rw-r--r--packages/desktop/src/i18n/en.ts4
-rw-r--r--packages/desktop/src/i18n/es.ts4
-rw-r--r--packages/desktop/src/i18n/fr.ts4
-rw-r--r--packages/desktop/src/i18n/ja.ts4
-rw-r--r--packages/desktop/src/i18n/ko.ts4
-rw-r--r--packages/desktop/src/i18n/no.ts4
-rw-r--r--packages/desktop/src/i18n/pl.ts4
-rw-r--r--packages/desktop/src/i18n/ru.ts4
-rw-r--r--packages/desktop/src/i18n/zh.ts4
-rw-r--r--packages/desktop/src/i18n/zht.ts4
-rw-r--r--packages/desktop/src/index.tsx44
16 files changed, 7 insertions, 97 deletions
diff --git a/packages/desktop/src/i18n/ar.ts b/packages/desktop/src/i18n/ar.ts
index c3205cb85..fdbf0a804 100644
--- a/packages/desktop/src/i18n/ar.ts
+++ b/packages/desktop/src/i18n/ar.ts
@@ -23,8 +23,4 @@ export const dict = {
"desktop.cli.installed.message": "تم تثبيت CLI في {{path}}\n\nأعد تشغيل الطرفية لاستخدام الأمر 'opencode'.",
"desktop.cli.failed.title": "فشل التثبيت",
"desktop.cli.failed.message": "فشل تثبيت CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "فشل تشغيل OpenCode",
- "desktop.error.serverStartFailed.description":
- "تعذر بدء تشغيل خادم OpenCode المحلي. أعد تشغيل التطبيق، أو تحقق من إعدادات الشبكة (VPN/proxy) وحاول مرة أخرى.",
}
diff --git a/packages/desktop/src/i18n/br.ts b/packages/desktop/src/i18n/br.ts
index 8b5a58756..75fe2dc32 100644
--- a/packages/desktop/src/i18n/br.ts
+++ b/packages/desktop/src/i18n/br.ts
@@ -24,8 +24,4 @@ export const dict = {
"desktop.cli.installed.message": "CLI instalada em {{path}}\n\nReinicie seu terminal para usar o comando 'opencode'.",
"desktop.cli.failed.title": "Falha na instalação",
"desktop.cli.failed.message": "Falha ao instalar a CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "Falha ao iniciar o OpenCode",
- "desktop.error.serverStartFailed.description":
- "Não foi possível iniciar o servidor local do OpenCode. Reinicie o aplicativo ou verifique suas configurações de rede (VPN/proxy) e tente novamente.",
}
diff --git a/packages/desktop/src/i18n/bs.ts b/packages/desktop/src/i18n/bs.ts
index 861253bb8..58c266f53 100644
--- a/packages/desktop/src/i18n/bs.ts
+++ b/packages/desktop/src/i18n/bs.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI je instaliran u {{path}}\n\nRestartuj terminal da bi koristio komandu 'opencode'.",
"desktop.cli.failed.title": "Instalacija nije uspjela",
"desktop.cli.failed.message": "Neuspjela instalacija CLI-a: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode se nije mogao pokrenuti",
- "desktop.error.serverStartFailed.description":
- "Lokalni OpenCode server se nije mogao pokrenuti. Restartuj aplikaciju ili provjeri mrežne postavke (VPN/proxy) i pokušaj ponovo.",
}
diff --git a/packages/desktop/src/i18n/da.ts b/packages/desktop/src/i18n/da.ts
index 73d47db30..2109495f7 100644
--- a/packages/desktop/src/i18n/da.ts
+++ b/packages/desktop/src/i18n/da.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI installeret i {{path}}\n\nGenstart din terminal for at bruge 'opencode'-kommandoen.",
"desktop.cli.failed.title": "Installation mislykkedes",
"desktop.cli.failed.message": "Kunne ikke installere CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode kunne ikke starte",
- "desktop.error.serverStartFailed.description":
- "Den lokale OpenCode-server kunne ikke startes. Genstart appen, eller tjek dine netværksindstillinger (VPN/proxy) og prøv igen.",
}
diff --git a/packages/desktop/src/i18n/de.ts b/packages/desktop/src/i18n/de.ts
index 2559d981e..38ad8096e 100644
--- a/packages/desktop/src/i18n/de.ts
+++ b/packages/desktop/src/i18n/de.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI wurde in {{path}} installiert\n\nStarten Sie Ihr Terminal neu, um den Befehl 'opencode' zu verwenden.",
"desktop.cli.failed.title": "Installation fehlgeschlagen",
"desktop.cli.failed.message": "CLI konnte nicht installiert werden: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode konnte nicht gestartet werden",
- "desktop.error.serverStartFailed.description":
- "Der lokale OpenCode-Server konnte nicht gestartet werden. Starten Sie die App neu oder überprüfen Sie Ihre Netzwerkeinstellungen (VPN/Proxy) und versuchen Sie es erneut.",
}
diff --git a/packages/desktop/src/i18n/en.ts b/packages/desktop/src/i18n/en.ts
index c2981f519..4c30380d5 100644
--- a/packages/desktop/src/i18n/en.ts
+++ b/packages/desktop/src/i18n/en.ts
@@ -24,8 +24,4 @@ export const dict = {
"desktop.cli.installed.message": "CLI installed to {{path}}\n\nRestart your terminal to use the 'opencode' command.",
"desktop.cli.failed.title": "Installation Failed",
"desktop.cli.failed.message": "Failed to install CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode failed to start",
- "desktop.error.serverStartFailed.description":
- "The local OpenCode server could not be started. Restart the app, or check your network settings (VPN/proxy) and try again.",
}
diff --git a/packages/desktop/src/i18n/es.ts b/packages/desktop/src/i18n/es.ts
index d1045a90c..80504a8f2 100644
--- a/packages/desktop/src/i18n/es.ts
+++ b/packages/desktop/src/i18n/es.ts
@@ -24,8 +24,4 @@ export const dict = {
"desktop.cli.installed.message": "CLI instalada en {{path}}\n\nReinicia tu terminal para usar el comando 'opencode'.",
"desktop.cli.failed.title": "Instalación fallida",
"desktop.cli.failed.message": "No se pudo instalar la CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode no pudo iniciarse",
- "desktop.error.serverStartFailed.description":
- "No se pudo iniciar el servidor local de OpenCode. Reinicia la aplicación o revisa tu configuración de red (VPN/proxy) y vuelve a intentarlo.",
}
diff --git a/packages/desktop/src/i18n/fr.ts b/packages/desktop/src/i18n/fr.ts
index 5c574edf5..4f0bb2b16 100644
--- a/packages/desktop/src/i18n/fr.ts
+++ b/packages/desktop/src/i18n/fr.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI installée dans {{path}}\n\nRedémarrez votre terminal pour utiliser la commande 'opencode'.",
"desktop.cli.failed.title": "Échec de l'installation",
"desktop.cli.failed.message": "Impossible d'installer la CLI : {{error}}",
-
- "desktop.error.serverStartFailed.title": "Échec du démarrage d'OpenCode",
- "desktop.error.serverStartFailed.description":
- "Impossible de démarrer le serveur OpenCode local. Redémarrez l'application ou vérifiez vos paramètres réseau (VPN/proxy) et réessayez.",
}
diff --git a/packages/desktop/src/i18n/ja.ts b/packages/desktop/src/i18n/ja.ts
index 94681ab06..fc485c6f4 100644
--- a/packages/desktop/src/i18n/ja.ts
+++ b/packages/desktop/src/i18n/ja.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI を {{path}} にインストールしました\n\nターミナルを再起動して 'opencode' コマンドを使用してください。",
"desktop.cli.failed.title": "インストールに失敗しました",
"desktop.cli.failed.message": "CLI のインストールに失敗しました: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode の起動に失敗しました",
- "desktop.error.serverStartFailed.description":
- "ローカルの OpenCode サーバーを起動できませんでした。アプリを再起動するか、ネットワーク設定 (VPN/proxy) を確認して再試行してください。",
}
diff --git a/packages/desktop/src/i18n/ko.ts b/packages/desktop/src/i18n/ko.ts
index 93136f2dd..be27cec86 100644
--- a/packages/desktop/src/i18n/ko.ts
+++ b/packages/desktop/src/i18n/ko.ts
@@ -24,8 +24,4 @@ export const dict = {
"CLI가 {{path}}에 설치되었습니다\n\n터미널을 다시 시작하여 'opencode' 명령을 사용하세요.",
"desktop.cli.failed.title": "설치 실패",
"desktop.cli.failed.message": "CLI 설치 실패: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode 시작 실패",
- "desktop.error.serverStartFailed.description":
- "로컬 OpenCode 서버를 시작할 수 없습니다. 앱을 다시 시작하거나 네트워크 설정(VPN/proxy)을 확인한 후 다시 시도하세요.",
}
diff --git a/packages/desktop/src/i18n/no.ts b/packages/desktop/src/i18n/no.ts
index 7deb74687..e39bd7f3b 100644
--- a/packages/desktop/src/i18n/no.ts
+++ b/packages/desktop/src/i18n/no.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI installert til {{path}}\n\nStart terminalen på nytt for å bruke 'opencode'-kommandoen.",
"desktop.cli.failed.title": "Installasjon mislyktes",
"desktop.cli.failed.message": "Kunne ikke installere CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode kunne ikke starte",
- "desktop.error.serverStartFailed.description":
- "Den lokale OpenCode-serveren kunne ikke startes. Start appen på nytt, eller sjekk nettverksinnstillingene dine (VPN/proxy) og prøv igjen.",
}
diff --git a/packages/desktop/src/i18n/pl.ts b/packages/desktop/src/i18n/pl.ts
index dac2992ba..d3ad7ce64 100644
--- a/packages/desktop/src/i18n/pl.ts
+++ b/packages/desktop/src/i18n/pl.ts
@@ -25,8 +25,4 @@ export const dict = {
"CLI zainstalowane w {{path}}\n\nUruchom ponownie terminal, aby użyć polecenia 'opencode'.",
"desktop.cli.failed.title": "Instalacja nie powiodła się",
"desktop.cli.failed.message": "Nie udało się zainstalować CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "Nie udało się uruchomić OpenCode",
- "desktop.error.serverStartFailed.description":
- "Nie udało się uruchomić lokalnego serwera OpenCode. Uruchom ponownie aplikację lub sprawdź ustawienia sieciowe (VPN/proxy) i spróbuj ponownie.",
}
diff --git a/packages/desktop/src/i18n/ru.ts b/packages/desktop/src/i18n/ru.ts
index 6e34e1aa7..8e09cc45b 100644
--- a/packages/desktop/src/i18n/ru.ts
+++ b/packages/desktop/src/i18n/ru.ts
@@ -24,8 +24,4 @@ export const dict = {
"CLI установлен в {{path}}\n\nПерезапустите терминал, чтобы использовать команду 'opencode'.",
"desktop.cli.failed.title": "Ошибка установки",
"desktop.cli.failed.message": "Не удалось установить CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "Не удалось запустить OpenCode",
- "desktop.error.serverStartFailed.description":
- "Не удалось запустить локальный сервер OpenCode. Перезапустите приложение или проверьте настройки сети (VPN/proxy) и попробуйте снова.",
}
diff --git a/packages/desktop/src/i18n/zh.ts b/packages/desktop/src/i18n/zh.ts
index 3f5fe59d4..aeb3a54e0 100644
--- a/packages/desktop/src/i18n/zh.ts
+++ b/packages/desktop/src/i18n/zh.ts
@@ -23,8 +23,4 @@ export const dict = {
"desktop.cli.installed.message": "CLI 已安装到 {{path}}\n\n重启终端以使用 'opencode' 命令。",
"desktop.cli.failed.title": "安装失败",
"desktop.cli.failed.message": "无法安装 CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode 启动失败",
- "desktop.error.serverStartFailed.description":
- "无法启动本地 OpenCode 服务器。请重启应用,或检查网络设置 (VPN/proxy) 后重试。",
}
diff --git a/packages/desktop/src/i18n/zht.ts b/packages/desktop/src/i18n/zht.ts
index b09bff742..7fd677aca 100644
--- a/packages/desktop/src/i18n/zht.ts
+++ b/packages/desktop/src/i18n/zht.ts
@@ -23,8 +23,4 @@ export const dict = {
"desktop.cli.installed.message": "CLI 已安裝到 {{path}}\n\n重新啟動終端機以使用 'opencode' 命令。",
"desktop.cli.failed.title": "安裝失敗",
"desktop.cli.failed.message": "無法安裝 CLI: {{error}}",
-
- "desktop.error.serverStartFailed.title": "OpenCode 啟動失敗",
- "desktop.error.serverStartFailed.description":
- "無法啟動本地 OpenCode 伺服器。請重新啟動應用程式,或檢查網路設定 (VPN/proxy) 後再試一次。",
}
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx
index 2b74bbabd..116689673 100644
--- a/packages/desktop/src/index.tsx
+++ b/packages/desktop/src/index.tsx
@@ -402,50 +402,20 @@ type ServerReadyData = { url: string; password: string | null }
function ServerGate(props: { children: (data: Accessor<ServerReadyData>) => JSX.Element }) {
const [serverData] = createResource(() => commands.awaitInitialization(new Channel<InitStep>() as any))
- const errorMessage = () => {
- const error = serverData.error
- if (!error) return t("error.chain.unknown")
- if (typeof error === "string") return error
- if (error instanceof Error) return error.message
- return String(error)
- }
-
- const restartApp = async () => {
- await commands.killSidecar().catch(() => undefined)
- await relaunch().catch(() => undefined)
- }
+ if (serverData.state === "errored") throw serverData.error
return (
// Not using suspense as not all components are compatible with it (undefined refs)
<Show
- when={serverData.state === "errored"}
+ when={serverData.state !== "pending" && serverData()}
fallback={
- <Show
- when={serverData.state !== "pending" && serverData()}
- fallback={
- <div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base">
- <Splash class="w-16 h-20 opacity-50 animate-pulse" />
- <div data-tauri-decorum-tb class="flex flex-row absolute top-0 right-0 z-10 h-10" />
- </div>
- }
- >
- {(data) => props.children(data)}
- </Show>
+ <div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base">
+ <Splash class="w-16 h-20 opacity-50 animate-pulse" />
+ <div data-tauri-decorum-tb class="flex flex-row absolute top-0 right-0 z-10 h-10" />
+ </div>
}
>
- <div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base gap-4 px-6">
- <div class="text-16-semibold">{t("desktop.error.serverStartFailed.title")}</div>
- <div class="text-12-regular opacity-70 text-center max-w-xl">
- {t("desktop.error.serverStartFailed.description")}
- </div>
- <div class="w-full max-w-3xl rounded border border-border bg-background-base overflow-auto max-h-64">
- <pre class="p-3 whitespace-pre-wrap break-words text-11-regular">{errorMessage()}</pre>
- </div>
- <button class="px-3 py-2 rounded bg-primary text-primary-foreground" onClick={() => void restartApp()}>
- {t("error.page.action.restart")}
- </button>
- <div data-tauri-decorum-tb class="flex flex-row absolute top-0 right-0 z-10 h-10" />
- </div>
+ {(data) => props.children(data)}
</Show>
)
}