diff --git a/packages/opencode/src/project/instance.ts b/packages/opencode/src/project/instance.ts index e6793b64fd..98031f18d3 100644 --- a/packages/opencode/src/project/instance.ts +++ b/packages/opencode/src/project/instance.ts @@ -5,7 +5,6 @@ import { State } from "./state" import { iife } from "@/util/iife" import { GlobalBus } from "@/bus/global" import { Filesystem } from "@/util/filesystem" -import { withTimeout } from "@/util/timeout" interface Context { directory: string @@ -15,8 +14,6 @@ interface Context { const context = Context.create("instance") const cache = new Map>() -const DISPOSE_TIMEOUT_MS = 10_000 - const disposal = { all: undefined as Promise | undefined, } @@ -92,8 +89,8 @@ export const Instance = { for (const [key, value] of entries) { if (cache.get(key) !== value) continue - const ctx = await withTimeout(value, DISPOSE_TIMEOUT_MS).catch((error) => { - Log.Default.warn("instance dispose timed out", { key, error }) + const ctx = await value.catch((error) => { + Log.Default.warn("instance dispose failed", { key, error }) return undefined }) diff --git a/packages/opencode/src/project/state.ts b/packages/opencode/src/project/state.ts index 3c84393bfb..a9dce565b5 100644 --- a/packages/opencode/src/project/state.ts +++ b/packages/opencode/src/project/state.ts @@ -1,5 +1,4 @@ import { Log } from "@/util/log" -import { withTimeout } from "@/util/timeout" export namespace State { interface Entry { @@ -8,7 +7,6 @@ export namespace State { } const log = Log.create({ service: "state" }) - const DISPOSE_TIMEOUT_MS = 10_000 const recordsByKey = new Map>() export function create(root: () => string, init: () => S, dispose?: (state: Awaited) => Promise) { @@ -53,16 +51,11 @@ export namespace State { const label = typeof init === "function" ? init.name : String(init) - const task = withTimeout( - Promise.resolve(entry.state).then((state) => entry.dispose!(state)), - DISPOSE_TIMEOUT_MS, - ).catch((error) => { - if (error instanceof Error && error.message.includes("Operation timed out")) { - log.warn("state disposal timed out", { key, init: label }) - return - } - log.error("Error while disposing state:", { error, key, init: label }) - }) + const task = Promise.resolve(entry.state) + .then((state) => entry.dispose!(state)) + .catch((error) => { + log.error("Error while disposing state:", { error, key, init: label }) + }) tasks.push(task) }