From c7ceccf869e7121f2dbd3b8480917995d523ee42 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Sat, 11 Jul 2026 13:47:41 -0400 Subject: [PATCH] fix(core): skip fff for aggregate locations (#36437) --- packages/core/src/filesystem/search.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/core/src/filesystem/search.ts b/packages/core/src/filesystem/search.ts index 8c0a0d55a22..da711da8763 100644 --- a/packages/core/src/filesystem/search.ts +++ b/packages/core/src/filesystem/search.ts @@ -230,6 +230,13 @@ export const fffLayer = Layer.effect( }), ) -const layer = Layer.unwrap(Effect.sync(() => (Flag.OPENCODE_DISABLE_FFF || !Fff.available() ? ripgrepLayer : fffLayer))) +const layer = Layer.unwrap( + Effect.gen(function* () { + if (Flag.OPENCODE_DISABLE_FFF || !Fff.available()) return ripgrepLayer + const location = yield* Location.Service + // Non-VCS locations can contain many repositories, so avoid eagerly content-indexing the entire aggregate tree. + return location.vcs ? fffLayer : ripgrepLayer + }), +) export const node = makeLocationNode({ service: Service, layer, deps: [FSUtil.node, Location.node, Ripgrep.node] })