From 125624489bc4a1e6191e66b345eee6d98ca94e22 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:20:35 -0500 Subject: [PATCH 1/2] docs: fix (#2910) --- packages/console/app/src/routes/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/console/app/src/routes/index.tsx b/packages/console/app/src/routes/index.tsx index bf66b77b5..177fd129c 100644 --- a/packages/console/app/src/routes/index.tsx +++ b/packages/console/app/src/routes/index.tsx @@ -132,7 +132,7 @@ export default function Home() { @@ -141,7 +141,7 @@ export default function Home() { From b2440e92e7db391eddac17ed49e4db0cb7307e09 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Thu, 2 Oct 2025 00:08:38 -0400 Subject: [PATCH 2/2] core: improve file search reliability and performance --- packages/opencode/src/file/index.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/file/index.ts b/packages/opencode/src/file/index.ts index 20e1f604c..80cff6303 100644 --- a/packages/opencode/src/file/index.ts +++ b/packages/opencode/src/file/index.ts @@ -88,6 +88,7 @@ export namespace File { let current = file while (true) { const dir = path.dirname(current) + if (dir === ".") break if (dir === current) break current = dir if (set.has(dir)) continue @@ -113,6 +114,10 @@ export namespace File { } }) + export function init() { + state() + } + export async function status() { const project = Instance.project if (project.vcs !== "git") return [] @@ -242,10 +247,13 @@ export namespace File { } export async function search(input: { query: string; limit?: number }) { + log.info("search", { query: input.query }) const limit = input.limit ?? 100 const result = await state().then((x) => x.files()) - const items = input.query ? [...result.files, ...result.dirs] : [...result.dirs] + if (!input.query) return result.dirs.toSorted() + const items = [...result.files, ...result.dirs] const sorted = fuzzysort.go(input.query, items, { limit: limit }).map((r) => r.target) + log.info("search", { query: input.query, results: sorted.length }) return sorted } }