Skip to content

Commit fca0166

Browse files
committed
fix(app): black screen on launch with sidecar server
1 parent 686dd33 commit fca0166

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

packages/desktop/src/index.tsx

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -472,12 +472,10 @@ render(() => {
472472
}
473473

474474
return (
475-
<Show when={defaultServer.loading ? false : defaultServer.latest}>
476-
{(defaultServer) => (
477-
<AppInterface defaultServer={defaultServer() ?? ServerConnection.key(server)} servers={[server]}>
478-
<Inner />
479-
</AppInterface>
480-
)}
475+
<Show when={!defaultServer.loading}>
476+
<AppInterface defaultServer={defaultServer.latest ?? ServerConnection.key(server)} servers={[server]}>
477+
<Inner />
478+
</AppInterface>
481479
</Show>
482480
)
483481
}}
@@ -492,19 +490,34 @@ type ServerReadyData = { url: string; password: string | null }
492490
// Gate component that waits for the server to be ready
493491
function ServerGate(props: { children: (data: Accessor<ServerReadyData>) => JSX.Element }) {
494492
const [serverData] = createResource(() => commands.awaitInitialization(new Channel<InitStep>() as any))
495-
if (serverData.state === "errored") throw serverData.error
496493

497494
return (
498495
<Show
499-
when={serverData.state !== "pending" && serverData()}
496+
when={serverData.state !== "errored"}
500497
fallback={
501-
<div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base">
502-
<Splash class="w-16 h-20 opacity-50 animate-pulse" />
498+
<div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base gap-4">
499+
<Splash class="w-16 h-20 opacity-50" />
500+
<div class="max-w-md px-4 text-center">
501+
<p class="text-sm font-medium text-red-400">Failed to start server</p>
502+
<p class="mt-2 text-xs text-zinc-400 break-words whitespace-pre-wrap">
503+
{String(serverData.error ?? "Unknown error")}
504+
</p>
505+
</div>
503506
<div data-tauri-decorum-tb class="flex flex-row absolute top-0 right-0 z-10 h-10" />
504507
</div>
505508
}
506509
>
507-
{(data) => props.children(data)}
510+
<Show
511+
when={serverData.state !== "pending" && serverData()}
512+
fallback={
513+
<div class="h-screen w-screen flex flex-col items-center justify-center bg-background-base">
514+
<Splash class="w-16 h-20 opacity-50 animate-pulse" />
515+
<div data-tauri-decorum-tb class="flex flex-row absolute top-0 right-0 z-10 h-10" />
516+
</div>
517+
}
518+
>
519+
{(data) => props.children(data)}
520+
</Show>
508521
</Show>
509522
)
510523
}

0 commit comments

Comments
 (0)