Skip to content
Open
Show file tree
Hide file tree
Changes from 105 commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
f327584
fix windows e2e backend not stopping on sigterm waiting 10s for no re…
Hona Apr 10, 2026
da2e91c
ci use node 24 in test workflow fixing random ECONNRESET (#21782)
Hona Apr 10, 2026
a3f5c5d
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 13, 2026
987afa3
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 13, 2026
885bb25
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 14, 2026
79552d3
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 15, 2026
c92aaf8
fix(ui): disable accordion items for binary files and improve disable…
Brendonovich Apr 15, 2026
f8a23b4
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 15, 2026
a888bf2
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 16, 2026
4ef581c
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 16, 2026
5acfe3a
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 17, 2026
0f92cec
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 19, 2026
41a6067
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 19, 2026
02a8711
Merge remote-tracking branch 'upstream/dev' into dev
Hona Apr 19, 2026
ba145fd
docs: add WSL onboarding implementation backlog
Hona Apr 16, 2026
8af7b5c
refactor: scaffold Electron local server config
Hona Apr 16, 2026
d6f2b9f
refactor: give desktop local server a windows key
Hona Apr 16, 2026
9d4737f
refactor: track Electron local server startup state
Hona Apr 16, 2026
1a21570
refactor: derive Electron WSL paths from local server config
Hona Apr 16, 2026
4212931
feat: add Electron WSL command helpers
Hona Apr 16, 2026
ec1a5c2
feat: add Electron local server probe actions
Hona Apr 16, 2026
c0e449d
feat: add local server transcript and terminal action
Hona Apr 16, 2026
c575415
feat: add local server install actions
Hona Apr 16, 2026
df63556
refactor: expose local server through app platform
Hona Apr 16, 2026
8d8e8fe
feat: add local server management dialog shell
Hona Apr 16, 2026
e897883
feat: deep-link local server failures into management
Hona Apr 16, 2026
710469c
feat: add local server opencode setup flow
Hona Apr 16, 2026
482dc3a
refactor: carry local runtime metadata through startup
Hona Apr 16, 2026
5aa5441
feat: branch Electron local startup by runtime
Hona Apr 16, 2026
58ab95e
feat: add restart-to-apply local runtime changes
Hona Apr 16, 2026
6f2a635
fix: surface desktop renderer errors in logs
Hona Apr 16, 2026
08d422d
fix: include local server stack traces in renderer logs
Hona Apr 16, 2026
c1dc769
fix: send plain local server config over ipc
Hona Apr 16, 2026
2cd6111
feat: show other distro install options
Hona Apr 16, 2026
b321a2d
fix: treat WSL sidecars as local
Hona Apr 16, 2026
8554345
feat: turn local server setup into guided step flow
Hona Apr 16, 2026
1baa87b
fix: tighten local server wizard dialog flow
Hona Apr 16, 2026
76da54c
fix: harden local server WSL onboarding checks
Hona Apr 16, 2026
421f3bb
fix: surface desktop WSL startup failures
Hona Apr 16, 2026
482ef94
fix: remove route dependency from server dialog
Hona Apr 16, 2026
15092be
fix: catch desktop local startup errors
Hona Apr 16, 2026
0dae445
fix: detect opencode in existing WSL distros
Hona Apr 16, 2026
fcc9cab
fix: separate sidebar drag ids by type
Hona Apr 16, 2026
06b27db
fix: keep sidebar projects stable across WSL refreshes
Hona Apr 16, 2026
4318b09
fix: keep session header titlebar mounts in sync
Hona Apr 16, 2026
9fa3a99
fix: make WSL opencode mismatch non-blocking
Hona Apr 16, 2026
17bd7ff
refactor: confirm windows local server swap inline
Hona Apr 16, 2026
d7111a7
fix: prefer nerd fonts in desktop terminal
Hona Apr 16, 2026
d8b1d86
Update dialog-local-server.tsx
Hona Apr 16, 2026
3b1970a
docs: reframe WSL work as additive servers beside windows local
Hona Apr 17, 2026
66dfdb9
fix: pin desktop renderer dev server to loopback
Hona Apr 17, 2026
12fa782
refactor: treat WSL servers as additive alongside windows local
Hona Apr 17, 2026
c510661
fix: stop random hotkeys from snapping desktop zoom to 1
Hona Apr 17, 2026
3e7e709
fix: preserve full error stacks in desktop renderer logs
Hona Apr 17, 2026
3360480
fix: bind F12 and Ctrl+Shift+I to DevTools on all platforms
Hona Apr 17, 2026
cfcc6f1
fix: batch server switch to avoid cleanNode crash
Hona Apr 17, 2026
d04d13e
fix: defer child-store root disposal to avoid nested cleanNode
Hona Apr 17, 2026
33f5b80
fix: defer reactive root disposal in cache cleanups
Hona Apr 17, 2026
902ac2d
chore: add solid owner/cleanup instrumentation for diagnosing cleanNo…
Hona Apr 17, 2026
8fd7bd1
fix: defer terminal cleanup state write to stop cleanNode reentry crash
Hona Apr 17, 2026
da2e640
chore: improve desktop renderer diagnostics
Hona Apr 17, 2026
bff9e57
feat(desktop): show splash overlay during server switch
Hona Apr 17, 2026
3349fb9
fix(layout): guard SortableWorkspace against undefined project during…
Hona Apr 17, 2026
4560435
fix(desktop-wsl): spawn WSL commands as root to bypass first-run setup
Hona Apr 17, 2026
11528e4
chore(desktop-wsl): log sidecar start failures and flatten server-hea…
Hona Apr 17, 2026
0e7e791
fix(layout): guard LocalWorkspace + projectId prop against undefined …
Hona Apr 17, 2026
6fc5f34
fix(desktop-wsl): time-bound every wsl.exe invocation to fail fast on…
Hona Apr 17, 2026
16ada93
fix(desktop-wsl): skip sidecar spawn when distro first-run is incomplete
Hona Apr 17, 2026
3822c0a
fix(desktop-wsl): use reg.exe for LXSS registry probe instead of powe…
Hona Apr 17, 2026
f347d9a
fix(desktop-wsl): drop DefaultUid=0 first-run gate, --user root bypas…
Hona Apr 17, 2026
3ad6353
chore: remove solid-js owner/cleanup instrumentation
Hona Apr 17, 2026
3d26bbe
clean maybe
Hona Apr 17, 2026
e3d2a9d
clean?
Hona Apr 17, 2026
bc84698
feedback n stuff?
Hona Apr 19, 2026
6ae05c5
fix(desktop): remove deprecated wsl platform properties from tauri
Hona Apr 19, 2026
796991b
oops
Hona Apr 19, 2026
9235753
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona Apr 19, 2026
29130af
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona Apr 19, 2026
0e04141
tinkering
Hona Apr 19, 2026
a17ce35
tinkering
Hona Apr 19, 2026
babaf78
server key
Hona Apr 19, 2026
2e0b993
wip
Hona Apr 20, 2026
cea9a99
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona Apr 27, 2026
ed4a41f
.
Hona Apr 27, 2026
81e907f
.
Hona Apr 27, 2026
4f6caac
.
Hona Apr 27, 2026
7bcb519
wip
Hona Apr 27, 2026
ca8e6e4
clean
Hona Apr 27, 2026
70443cd
kill
Hona Apr 27, 2026
9cd6117
clean
Hona Apr 28, 2026
2eb3072
review
Hona Apr 28, 2026
4799efb
Delete todo.md
Hona Apr 28, 2026
013bd4c
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 3, 2026
cc1d7e5
Update dialog-wsl-server.tsx
Hona May 3, 2026
6ada6e0
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 3, 2026
fcb4bc1
deslop
Hona May 4, 2026
7dd8b2b
deslop
Hona May 4, 2026
58f569f
deslop
Hona May 4, 2026
777169a
deslop
Hona May 4, 2026
cecaf82
deslop
Hona May 4, 2026
affbea6
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 4, 2026
b70fc22
fix(desktop): remove stale WSL toggle plumbing
Hona May 4, 2026
5778008
deslop
Hona May 4, 2026
e5a4f6f
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 4, 2026
de69c5a
fix(app): stabilize server switching
Hona May 4, 2026
148b3cf
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 5, 2026
26bf234
Merge remote-tracking branch 'upstream/dev' into desktop-wsl-onboarding
Hona May 5, 2026
e16115f
fix(desktop): improve WSL OpenCode updates
Hona May 5, 2026
0ba2bea
Merge remote-tracking branch 'upstream/dev' into pr-23407-merge
Hona May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 29 additions & 24 deletions packages/app/src/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import { PromptProvider } from "@/context/prompt"
import { ServerConnection, ServerProvider, serverName, useServer } from "@/context/server"
import { SettingsProvider } from "@/context/settings"
import { TerminalProvider } from "@/context/terminal"
import { WslServersProvider } from "@/context/wsl-servers"
import DirectoryLayout from "@/pages/directory-layout"
import Layout from "@/pages/layout"
import { ErrorPage } from "./pages/error"
Expand Down Expand Up @@ -74,7 +75,7 @@ declare global {
__OPENCODE__?: {
updaterEnabled?: boolean
deepLinks?: string[]
wsl?: boolean
activeServer?: string
}
api?: {
setTitlebar?: (theme: { mode: "light" | "dark" }) => Promise<void>
Expand Down Expand Up @@ -156,11 +157,13 @@ export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) {
}}
>
<QueryProvider>
<DialogProvider>
<MarkedProvider>
<FileComponentProvider component={File}>{props.children}</FileComponentProvider>
</MarkedProvider>
</DialogProvider>
<WslServersProvider>
<DialogProvider>
<MarkedProvider>
<FileComponentProvider component={File}>{props.children}</FileComponentProvider>
</MarkedProvider>
</DialogProvider>
</WslServersProvider>
</QueryProvider>
</ErrorBoundary>
</UiI18nBridge>
Expand Down Expand Up @@ -283,11 +286,11 @@ function ConnectionError(props: { onRetry?: () => void; onServerSelected?: (key:
)
}

function ServerKey(props: ParentProps) {
function ServerKey(props: { children: (key: ServerConnection.Key) => JSX.Element }) {
const server = useServer()
return (
<Show when={server.key} keyed>
{props.children}
{(key) => props.children(key)}
</Show>
)
}
Expand All @@ -307,22 +310,24 @@ export function AppInterface(props: {
>
<ConnectionGate disableHealthCheck={props.disableHealthCheck}>
<ServerKey>
<QueryProvider>
<GlobalSDKProvider>
<GlobalSyncProvider>
<Dynamic
component={props.router ?? Router}
root={(routerProps) => <RouterRoot appChildren={props.children}>{routerProps.children}</RouterRoot>}
>
<Route path="/" component={HomeRoute} />
<Route path="/:dir" component={DirectoryLayout}>
<Route path="/" component={SessionIndexRoute} />
<Route path="/session/:id?" component={SessionRoute} />
</Route>
</Dynamic>
</GlobalSyncProvider>
</GlobalSDKProvider>
</QueryProvider>
{() => (
<QueryProvider>
<GlobalSDKProvider>
<GlobalSyncProvider>
<Dynamic
component={props.router ?? Router}
root={(routerProps) => <RouterRoot appChildren={props.children}>{routerProps.children}</RouterRoot>}
>
<Route path="/" component={HomeRoute} />
<Route path="/:dir" component={DirectoryLayout}>
<Route path="/" component={SessionIndexRoute} />
<Route path="/session/:id?" component={SessionRoute} />
</Route>
</Dynamic>
</GlobalSyncProvider>
</GlobalSDKProvider>
</QueryProvider>
)}
</ServerKey>
</ConnectionGate>
</ServerProvider>
Expand Down
Loading
Loading