@@ -10,7 +10,7 @@ import type {
1010import { showToast } from "@opencode-ai/ui/toast"
1111import { getFilename } from "@opencode-ai/shared/util/path"
1212import { batch , createContext , getOwner , onCleanup , onMount , type ParentProps , untrack , useContext } from "solid-js"
13- import { createStore , produce , reconcile , unwrap } from "solid-js/store"
13+ import { createStore , produce , reconcile } from "solid-js/store"
1414import { useLanguage } from "@/context/language"
1515import { Persist , persisted } from "@/utils/persist"
1616import type { InitError } from "../pages/error"
@@ -61,7 +61,7 @@ export const loadMcpQuery = (directory: string, sdk?: OpencodeClient) =>
6161export const loadLspQuery = ( directory : string , sdk ?: OpencodeClient ) =>
6262 queryOptions ( {
6363 queryKey : [ directory , "lsp" ] ,
64- queryFn : sdk ? ( ) => sdk . lsp . status ( ) . then ( ( r ) => r . data ?? { } ) : skipToken ,
64+ queryFn : sdk ? ( ) => sdk . lsp . status ( ) . then ( ( r ) => r . data ?? [ ] ) : skipToken ,
6565 } )
6666
6767function createGlobalSync ( ) {
@@ -203,6 +203,17 @@ function createGlobalSync() {
203203 // bootstrapInstance,
204204 // })
205205
206+ const sdkFor = ( directory : string ) => {
207+ const cached = sdkCache . get ( directory )
208+ if ( cached ) return cached
209+ const sdk = globalSDK . createClient ( {
210+ directory,
211+ throwOnError : true ,
212+ } )
213+ sdkCache . set ( directory , sdk )
214+ return sdk
215+ }
216+
206217 const children = createChildStoreManager ( {
207218 owner,
208219 isBooting : ( directory ) => booting . has ( directory ) ,
@@ -218,19 +229,9 @@ function createGlobalSync() {
218229 clearSessionPrefetchDirectory ( directory )
219230 } ,
220231 translate : language . t ,
232+ getSdk : sdkFor ,
221233 } )
222234
223- const sdkFor = ( directory : string ) => {
224- const cached = sdkCache . get ( directory )
225- if ( cached ) return cached
226- const sdk = globalSDK . createClient ( {
227- directory,
228- throwOnError : true ,
229- } )
230- sdkCache . set ( directory , sdk )
231- return sdk
232- }
233-
234235 async function loadSessions ( directory : string ) {
235236 const pending = sessionLoads . get ( directory )
236237 if ( pending ) return pending
@@ -381,9 +382,7 @@ function createGlobalSync() {
381382 setSessionTodo,
382383 vcsCache : children . vcsCache . get ( directory ) ,
383384 loadLsp : ( ) => {
384- void queryClient . fetchQuery ( loadLspQuery ( directory , sdkFor ( directory ) ) ) . then ( ( data ) => {
385- setStore ( "lsp" , data ?? [ ] )
386- } )
385+ void queryClient . fetchQuery ( loadLspQuery ( directory , sdkFor ( directory ) ) )
387386 } ,
388387 } )
389388 } )
0 commit comments