You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG]: Two remote servers with same directory path show identical session list in sidebar #17451
When connecting to two different remote servers (e.g. server A and server B) that both have the same project path (e.g. ~/abc), the desktop app sidebar shows the same session list for both. Switching between servers does not refresh the sessions — they appear identical even though each server has its own independent sessions.
Root cause: the app uses the raw directory string as the sole key for workspace/session state throughout the frontend. There is no server identity component in the key, so server-A:~/abc and server-B:~/abc resolve to the same client-side state bucket.
Affected code (all in packages/app/src):
context/global-sync.tsx — sdkCache, booting, sessionLoads, sessionMeta maps are all keyed by bare directory
context/global-sync/child-store.ts — children, vcsCache, metaCache, iconCache, lifecycle/pins all keyed by bare directory
utils/persist.ts — Persist.workspace() and workspaceStorage() derive storage names from path only (no server component)
context/server.tsx — projectsKey() collapses all localhost-backed servers to "local", so proxy-based remotes share the same sidebar project namespace
The server-side code is not at fault — it correctly scopes sessions by project ID and workspace context per request.
Steps to reproduce
Set up two separate remote opencode servers (server A, server B) each with a project at the same path, e.g. ~/abc
Open the desktop app and add both servers
Create some sessions on server A's ~/abc
Create different sessions on server B's ~/abc
Switch between servers in the desktop app
Observe the sidebar shows the same session list for both
Activity
fix(app): scope workspace state by server to prevent cross-server ses…
krodak commentedon Mar 17, 2026
This hit me as well, breaks UI app on macOS almost completely for both local and server usecase