diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index 8a111472b..937aab011 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -84,7 +84,8 @@ function ServerKey(props: ParentProps) { ) } -export function AppInterface(props: { defaultUrl?: string; children?: JSX.Element }) { + +export function AppInterface(props: { defaultUrl?: string; children?: JSX.Element; isSidecar?: boolean }) { const platform = usePlatform() const stored = (() => { @@ -106,7 +107,7 @@ export function AppInterface(props: { defaultUrl?: string; children?: JSX.Elemen } return ( - + diff --git a/packages/app/src/context/server.tsx b/packages/app/src/context/server.tsx index 72693e6ef..e01a93381 100644 --- a/packages/app/src/context/server.tsx +++ b/packages/app/src/context/server.tsx @@ -28,7 +28,7 @@ function projectsKey(url: string) { export const { use: useServer, provider: ServerProvider } = createSimpleContext({ name: "Server", - init: (props: { defaultUrl: string }) => { + init: (props: { defaultUrl: string, isSidecar?: boolean }) => { const platform = usePlatform() const [store, setStore, _, ready] = persisted( @@ -59,7 +59,13 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext( const fallback = normalizeServerUrl(props.defaultUrl) if (fallback && url === fallback) { - setState("active", url) + batch(() => { + if (!store.list.includes(url)) { + // Add the fallback url to the list if it's not already in the list + setStore("list", store.list.length, url) + } + setState("active", url) + }) return } @@ -89,7 +95,17 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext( if (state.active) return const url = normalizeServerUrl(props.defaultUrl) if (!url) return - setState("active", url) + batch(() => { + + // Add the new sidecar url + if(props.isSidecar && props.defaultUrl) { + add(props.defaultUrl) + } + + setState("active", url) + }) + + console.log(store.list) }) const isReady = createMemo(() => ready() && !!state.active) diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx index dd78224e3..c0da8d254 100644 --- a/packages/desktop/src/index.tsx +++ b/packages/desktop/src/index.tsx @@ -404,6 +404,7 @@ render(() => { window.__OPENCODE__ ??= {} window.__OPENCODE__.serverPassword = data().password ?? undefined + function Inner() { const cmd = useCommand() @@ -413,7 +414,7 @@ render(() => { } return ( - + )