Skip to content

feat: add fuzzy workspace entry search#256

Merged
juliusmarminge merged 2 commits intopingdotgg:mainfrom
maskdotdev:fuzzy-workspace-entry-search
Mar 12, 2026
Merged

feat: add fuzzy workspace entry search#256
juliusmarminge merged 2 commits intopingdotgg:mainfrom
maskdotdev:fuzzy-workspace-entry-search

Conversation

@maskdotdev
Copy link
Contributor

@maskdotdev maskdotdev commented Mar 7, 2026

Summary

  • add minimal subsequence fuzzy matching for workspace entry search
  • precompute normalized path/name fields in the cached workspace index
  • keep only the top ranked matches while preserving truncation semantics

Testing

  • bun run test src/workspaceEntries.test.ts
  • bun lint
  • bun typecheck

Note

Add fuzzy subsequence search with bounded top‑N ranking to searchWorkspaceEntries in workspaceEntries.ts to support workspace entry queries

Introduce normalized entry indexing and a penalty-based subsequence scorer, and update searchWorkspaceEntries to rank and cap results by limit, returning truncated when matches exceed the cap. Tests cover fuzzy path/name matches and truncation behavior.

📍Where to Start

Start at searchWorkspaceEntries in workspaceEntries.ts and follow scoreEntry, scoreSubsequenceMatch, and the bounded insertion helpers.

Macroscope summarized eeca40d.

@coderabbitai
Copy link

coderabbitai bot commented Mar 7, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5ac07a2f-fb2f-45fd-a5c8-687593c49313

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@maskdotdev
Copy link
Contributor Author

see below:

Screen.Recording.2026-03-06.at.9.38.33.PM.mov

@maskdotdev maskdotdev mentioned this pull request Mar 7, 2026
@github-actions github-actions bot added the vouch:unvouched PR author is not yet trusted in the VOUCHED list. label Mar 9, 2026
@maria-rcks maria-rcks added enhancement New feature or request needs-julius labels Mar 12, 2026
@juliusmarminge
Copy link
Member

@macroscope-app review this

@macroscopeapp
Copy link
Contributor

macroscopeapp bot commented Mar 12, 2026

Review complete — no issues found.

@github-actions github-actions bot added the size:L 100-499 changed lines (additions + deletions). label Mar 12, 2026
@juliusmarminge juliusmarminge changed the title Add fuzzy workspace entry search feat: add fuzzy workspace entry search Mar 12, 2026
@juliusmarminge juliusmarminge merged commit 1e27657 into pingdotgg:main Mar 12, 2026
8 of 9 checks passed
gabrielMalonso pushed a commit to gabrielMalonso/t3code that referenced this pull request Mar 12, 2026
Co-authored-by: Julius Marminge <julius0216@outlook.com>
gabrielMalonso added a commit to gabrielMalonso/t3code that referenced this pull request Mar 12, 2026
* fix: don't restart the app on normal exists in dev runner (pingdotgg#986)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat: add fuzzy workspace entry search (pingdotgg#256)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix: clean up timeout in PlanSidebar to prevent memory leaks (pingdotgg#949)

Co-authored-by: hobostay <hobostay@users.noreply.github.com>

* fix: Linux icon now shows up (pingdotgg#807)

* fix syntax errors from bad merge

* fix: add logging for WebSocket errors (pingdotgg#948)

Co-authored-by: hobostay <hobostay@users.noreply.github.com>

* fix: add error logging for code highlighting failures (pingdotgg#951)

* chore: update actions/checkout and actions/github-script (pingdotgg#956)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* update project removal copy (pingdotgg#981)

* fix pr size workflow

* Fix new-thread shortcuts when terminal is focused

- move chat-wide key handling into `_chat` route-level shortcut handler
- extract reusable `useHandleNewThread` hook and `isTerminalFocused` helper
- update browser WS fixture to support `terminalOpen` RPC shape

* Fix mod+N new thread flow and terminal split limits

- ensure `chat.new` creates a fresh draft after a promoted draft thread
- enforce terminal cap per split group (4) while allowing additional terminal groups
- refine sidebar row selected/active styling via shared class-name logic and tests

* fix(web): add pointer cursor to running stop-generation button (pingdotgg#900)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix: add missing closing brace in wsTransport connect method

The cherry-pick of WebSocket error logging (b6eba33) left a missing
closing brace for the connect() method, causing a TS compilation error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* style: fix formatting in _chat.tsx

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Noah Gregory <noah@wts.dev>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Kiyotaka <maskdotdev@gmail.com>
Co-authored-by: Qiaochu Hu <110hqc@gmail.com>
Co-authored-by: hobostay <hobostay@users.noreply.github.com>
Co-authored-by: Alex Schwartz <alexschwartz01@gmail.com>
Co-authored-by: Adam Naji <110662505+Bashamega@users.noreply.github.com>
Co-authored-by: Donald Silveira <donaldsilveira@gmail.com>
Co-authored-by: 0x1f99d <crazywolf132@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request needs-julius size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants