fix(lsp): preserve instance ref for update events (#28016)

This commit is contained in:
Shoubhit Dash
2026-05-17 16:37:00 +05:30
committed by GitHub
parent 53e89f9d52
commit e4cc4e1682
2 changed files with 39 additions and 3 deletions

View File

@@ -13,8 +13,11 @@ import { InstanceState } from "@/effect/instance-state"
import { containsPath } from "@/project/instance-context"
import { NonNegativeInt } from "@opencode-ai/core/schema"
import { RuntimeFlags } from "@/effect/runtime-flags"
import { InstanceRef } from "@/effect/instance-ref"
import { makeRuntime } from "@/effect/run-service"
const log = Log.create({ service: "lsp" })
const busRuntime = makeRuntime(Bus.Service, Bus.layer)
export const Event = {
Updated: BusEvent.define("lsp.updated", Schema.Struct({})),
@@ -291,7 +294,9 @@ export const layer = Layer.effect(
if (!client) continue
result.push(client)
Bus.publish(Event.Updated, {})
void busRuntime.runPromise((bus) =>
bus.publish(Event.Updated, {}).pipe(Effect.provideService(InstanceRef, ctx)),
)
}
return result