components C5: workspace search dialogs + ripgrep drain fix - #297
Merged
Conversation
/search and /open dialogs (TS GlobalSearchDialog / QuickOpenDialog, degraded: no preview pane, command-launched instead of ctrl+shift chords), inserting TS-verbatim @file#Lline / @path mentions into the composer — and the #L fragment now ATTACHES the file downstream (expand_at_mentions strips it; range slicing is a noted follow-up). - shared-engine bugfix: the ripgrep abort-poll runner never drained its pipes, so >64KB of output deadlocked rg until the 20s timeout (rg --files tripped it first; big content searches had the same latent stall); now drained via concurrent daemon threads, with errors="replace" so one non-UTF8 matched line can't kill the drain and silently truncate Grep/Glob results - UI-neutral services: workspace_search (TS-cited caps 10/500, -i -F, the TS Windows-safe ^(.*?):(\d+):(.*)$ parse, POSIX-relative insertions, truncation flags) and fuzzy_match (fuzzy_score moved verbatim out of the Textual history module, which re-exports it) - screens on the house DialogScreen+SelectList idiom: Input keeps focus, arrows route to the list, Enter selects; stale-result race closed in depth (immediate clear + query guard + per-search abort tripped on supersede/close + is_attached); honest counts incl. truncation labels; aborted workers never report 14 tests incl. the >64KB no-stall regression, the stale-enter pilot, case-insensitivity, truncation flags, and the functional-mention pin. Suite baseline-identical. Critic-approved after one round; known pattern-level wart shared with HistorySearch (mouse-focused list swallows enter/esc) noted for the shared-idiom follow-up. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
singlaamitesh
pushed a commit
to singlaamitesh/clawcodex
that referenced
this pull request
Jul 7, 2026
…-search-dialogs components C5: workspace search dialogs + ripgrep drain fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/search+/opendialogs (TS GlobalSearch/QuickOpen, degraded scope) inserting TS-verbatim@file#Lline/@pathmentions — now functional downstream (expand_at_mentionsstrips the#Lfragment and attaches the file)errors="replace"workspace_search/fuzzy_matchservices (TS-cited caps/flags, Windows-safe parse, POSIX insertions); screens on the house DialogScreen+SelectList idiom with the stale-result race closed in depthTest plan
🤖 Generated with Claude Code