summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop-electron/src/renderer
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-03-25 06:25:57 -0500
committerAdam <[email protected]>2026-03-25 06:25:57 -0500
commit1041ae91d1a39401fe099747e3bc093bdcdaa079 (patch)
treeca5515910ad01f76639577ef8e3a991b644a5ade /packages/desktop-electron/src/renderer
parent898456a25cf2edbfc4ae4961b37424f633419dd6 (diff)
downloadopencode-1041ae91d1a39401fe099747e3bc093bdcdaa079.tar.gz
opencode-1041ae91d1a39401fe099747e3bc093bdcdaa079.zip
Reapply "fix(app): startup efficiency"
This reverts commit 898456a25cf2edbfc4ae4961b37424f633419dd6.
Diffstat (limited to 'packages/desktop-electron/src/renderer')
-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>