From 9fe4e2a7d4bb54f928ce9bf5f2bca312b18edbce Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Wed, 25 Mar 2026 17:05:49 -0400 Subject: [PATCH] prevent Effect.cached from caching loadGlobal failures --- packages/opencode/src/config/config.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 6999cfab72..765e1c070a 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -1244,7 +1244,9 @@ export namespace Config { return result }) - let cachedGlobal = yield* Effect.cached(loadGlobal()) + let cachedGlobal = yield* Effect.cached( + loadGlobal().pipe(Effect.orElseSucceed(() => ({}) as Info)), + ) const getGlobal = Effect.fn("Config.getGlobal")(function* () { return yield* cachedGlobal @@ -1451,7 +1453,9 @@ export namespace Config { }) const invalidate = Effect.fn("Config.invalidate")(function* (wait?: boolean) { - cachedGlobal = yield* Effect.cached(loadGlobal()) + cachedGlobal = yield* Effect.cached( + loadGlobal().pipe(Effect.orElseSucceed(() => ({}) as Info)), + ) const task = Instance.disposeAll() .catch(() => undefined) .finally(() =>