summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop-electron/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-03-24 18:49:02 -0500
committerAdam <[email protected]>2026-03-25 05:59:05 -0500
commit0dbfefa08088270a000496cfe94e11b5bf3ce821 (patch)
tree022df9271b5825e7c8e1192f240d31de79904075 /packages/desktop-electron/src
parentd1c49ba210315900b7d21a7d4926b739d8021c6e (diff)
downloadopencode-0dbfefa08088270a000496cfe94e11b5bf3ce821.tar.gz
opencode-0dbfefa08088270a000496cfe94e11b5bf3ce821.zip
Reapply "fix(app): startup efficiency (#18854)"
This reverts commit a379eb38673aad097e1f178307865ec40a5ac3ea.
Diffstat (limited to 'packages/desktop-electron/src')
-rw-r--r--packages/desktop-electron/src/renderer/index.tsx20
1 files changed, 17 insertions, 3 deletions
diff --git a/packages/desktop-electron/src/renderer/index.tsx b/packages/desktop-electron/src/renderer/index.tsx
index ec2b4d1e7..44f2e6360 100644
--- a/packages/desktop-electron/src/renderer/index.tsx
+++ b/packages/desktop-electron/src/renderer/index.tsx
@@ -6,6 +6,9 @@ import {
AppBaseProviders,
AppInterface,
handleNotificationClick,
+ loadLocaleDict,
+ normalizeLocale,
+ type Locale,
type Platform,
PlatformProvider,
ServerConnection,
@@ -246,6 +249,17 @@ listenForDeepLinks()
render(() => {
const platform = createPlatform()
+ const loadLocale = async () => {
+ const current = await platform.storage?.("opencode.global.dat").getItem("language")
+ const legacy = current ? undefined : await platform.storage?.().getItem("language.v1")
+ const raw = current ?? legacy
+ if (!raw) return
+ const locale = raw.match(/"locale"\s*:\s*"([^"]+)"/)?.[1]
+ if (!locale) return
+ const next = normalizeLocale(locale)
+ if (next !== "en") await loadLocaleDict(next)
+ return next satisfies Locale
+ }
const [windowCount] = createResource(() => window.api.getWindowCount())
@@ -257,6 +271,7 @@ render(() => {
if (url) return ServerConnection.key({ type: "http", http: { url } })
}),
)
+ const [locale] = createResource(loadLocale)
const servers = () => {
const data = sidecar()
@@ -309,15 +324,14 @@ render(() => {
return (
<PlatformProvider value={platform}>
- <AppBaseProviders>
- <Show when={!defaultServer.loading && !sidecar.loading && !windowCount.loading}>
+ <AppBaseProviders locale={locale.latest}>
+ <Show when={!defaultServer.loading && !sidecar.loading && !windowCount.loading && !locale.loading}>
{(_) => {
return (
<AppInterface
defaultServer={defaultServer.latest ?? ServerConnection.Key.make("sidecar")}
servers={servers()}
router={MemoryRouter}
- disableHealthCheck={(windowCount() ?? 0) > 1}
>
<Inner />
</AppInterface>