From 894cbaa51e48500862abc08df7d58521eba280a7 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 2 Nov 2025 13:22:58 -0500 Subject: [PATCH] fix duplicate plugin subscriptions --- packages/opencode/src/project/instance.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/project/instance.ts b/packages/opencode/src/project/instance.ts index 3b99a5fa..ce9a57d1 100644 --- a/packages/opencode/src/project/instance.ts +++ b/packages/opencode/src/project/instance.ts @@ -12,7 +12,11 @@ const context = Context.create("instance") const cache = new Map() export const Instance = { - async provide(input: { directory: string; init?: () => Promise; fn: () => R }): Promise { + async provide(input: { + directory: string + init?: () => Promise + fn: () => R + }): Promise { let existing = cache.get(input.directory) if (!existing) { const project = await Project.fromDirectory(input.directory) @@ -24,8 +28,8 @@ export const Instance = { } return context.provide(existing, async () => { if (!cache.has(input.directory)) { - await input.init?.() cache.set(input.directory, existing) + await input.init?.() } return input.fn() })