Преглед изворни кода

fix(desktop): don't use tauri http for sse events

Adam пре 3 месеци
родитељ
комит
cdbb59fae8
1 измењених фајлова са 10 додато и 6 уклоњено
  1. 10 6
      packages/desktop/src/context/global-sdk.tsx

+ 10 - 6
packages/desktop/src/context/global-sdk.tsx

@@ -6,26 +6,30 @@ import { usePlatform } from "./platform"
 export const { use: useGlobalSDK, provider: GlobalSDKProvider } = createSimpleContext({
 export const { use: useGlobalSDK, provider: GlobalSDKProvider } = createSimpleContext({
   name: "GlobalSDK",
   name: "GlobalSDK",
   init: (props: { url: string }) => {
   init: (props: { url: string }) => {
-    const platform = usePlatform()
-
-    const sdk = createOpencodeClient({
+    const eventSdk = createOpencodeClient({
       baseUrl: props.url,
       baseUrl: props.url,
       signal: AbortSignal.timeout(1000 * 60 * 10),
       signal: AbortSignal.timeout(1000 * 60 * 10),
-      fetch: platform.fetch,
       throwOnError: true,
       throwOnError: true,
     })
     })
-
     const emitter = createGlobalEmitter<{
     const emitter = createGlobalEmitter<{
       [key: string]: Event
       [key: string]: Event
     }>()
     }>()
 
 
-    sdk.global.event().then(async (events) => {
+    eventSdk.global.event().then(async (events) => {
       for await (const event of events.stream) {
       for await (const event of events.stream) {
         // console.log("event", event)
         // console.log("event", event)
         emitter.emit(event.directory ?? "global", event.payload)
         emitter.emit(event.directory ?? "global", event.payload)
       }
       }
     })
     })
 
 
+    const platform = usePlatform()
+    const sdk = createOpencodeClient({
+      baseUrl: props.url,
+      signal: AbortSignal.timeout(1000 * 60 * 10),
+      fetch: platform.fetch,
+      throwOnError: true,
+    })
+
     return { url: props.url, client: sdk, event: emitter }
     return { url: props.url, client: sdk, event: emitter }
   },
   },
 })
 })