Skip to content

Search inside files; mid-turn messages under the task; an italic, tighter task strip - #64

Merged
andrin-n-dream merged 3 commits into
masterfrom
Ui
Sep 18, 2026
Merged

andrin-n-dream merged 3 commits into
masterfrom
Ui

Conversation

@andrin-n-dream

Copy link
Copy Markdown
Contributor

The files search can look inside the files, from a Name/Text switch beside it

The find box under the tree only matched paths, so finding where a string is
used meant asking an agent or opening a terminal. A two-word switch at the
box's right edge -- Name, Text -- now picks what it searches; Files mode only,
since Changes and Commits filter lists they already hold.

Text runs git grep on the server (/api/worktrees/:id/grep): tracked plus
untracked, minus ignored, no binaries, fixed strings with -e so a pasted
error message or a query starting with a dash is still just text, and -z
because a colon in a path otherwise splits it. Bounded at 200 lines and 20 per
file; git is asked for one past that so a file cut short says "More in this
file" rather than looking complete -- measured, a 120-hit file showed 20 and
nothing else before. The query is not trimmed here as a name is: line 7
matched lines 70-79 until it kept its space. Debounced 150ms, since this reads
every file where a name search reads one list.

Results are the name search's tree with each file's lines under it, number
then text, the match bright. A line opens its file with the cursor on that
line, scrolled to the middle -- a new goto on the editor, keyed by path and
nonce so it lands on the file it names and not the one showing while that
loads. Measured on a scratch instance: line 121 of 181 opened centred with the
cursor on it and its row lit; Enter in the box opens the first line hit; the
switch hands the keyboard back to the box. A Markdown file shown rendered has
no lines to land on and opens at the top.


Messages sent mid-turn show under the task, and the task strip is italic

A message typed while Claude is working is not written as a user record:
Claude folds it into the running turn and records a queued_command
attachment. The reader only looked at user records, so every "also make it
italic" said mid-turn was missing from under the task -- measured in this
worktree, where three of them were absent. Surveyed over every local
transcript: 289 in prompt mode, none also written as a user record, so
reading both cannot count one twice; task-notification mode is machinery and
stays out.

They are always follow-ups, never the task. One of the three was fourteen
words, and isTask by word count alone would have made "the last prompt
display should strip ..." the worktree's task, replacing the one it was a
remark on. The test fails with that guard removed.

The strip is italic -- task and follow-ups both -- because all of it is
quoted: your words, set apart from the interface's own.


The task strip sits close to the Claude it describes

Measured 24px from the last line of the strip to the terminal -- 13px of
padding, the rule, 10px of margin -- before Claude's own screen adds a blank
row of its own, so the strip read as floating free of what it describes. Now
10px above the text, 8px below it and 4px to the terminal: 12px from text to
Claude.


🤖 Generated with Claude Code

andrin-n-dream and others added 3 commits September 18, 2026 21:37
…eside it

The find box under the tree only matched paths, so finding where a string is
used meant asking an agent or opening a terminal. A two-word switch at the
box's right edge -- Name, Text -- now picks what it searches; Files mode only,
since Changes and Commits filter lists they already hold.

Text runs `git grep` on the server (`/api/worktrees/:id/grep`): tracked plus
untracked, minus ignored, no binaries, fixed strings with `-e` so a pasted
error message or a query starting with a dash is still just text, and `-z`
because a colon in a path otherwise splits it. Bounded at 200 lines and 20 per
file; git is asked for one past that so a file cut short says "More in this
file" rather than looking complete -- measured, a 120-hit file showed 20 and
nothing else before. The query is not trimmed here as a name is: `line 7 `
matched lines 70-79 until it kept its space. Debounced 150ms, since this reads
every file where a name search reads one list.

Results are the name search's tree with each file's lines under it, number
then text, the match bright. A line opens its file with the cursor on that
line, scrolled to the middle -- a new `goto` on the editor, keyed by path and
nonce so it lands on the file it names and not the one showing while that
loads. Measured on a scratch instance: line 121 of 181 opened centred with the
cursor on it and its row lit; Enter in the box opens the first line hit; the
switch hands the keyboard back to the box. A Markdown file shown rendered has
no lines to land on and opens at the top.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A message typed while Claude is working is not written as a `user` record:
Claude folds it into the running turn and records a `queued_command`
attachment. The reader only looked at user records, so every "also make it
italic" said mid-turn was missing from under the task -- measured in this
worktree, where three of them were absent. Surveyed over every local
transcript: 289 in `prompt` mode, none also written as a user record, so
reading both cannot count one twice; `task-notification` mode is machinery and
stays out.

They are always follow-ups, never the task. One of the three was fourteen
words, and `isTask` by word count alone would have made "the last prompt
display should strip ..." the worktree's task, replacing the one it was a
remark on. The test fails with that guard removed.

The strip is italic -- task and follow-ups both -- because all of it is
quoted: your words, set apart from the interface's own.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Measured 24px from the last line of the strip to the terminal -- 13px of
padding, the rule, 10px of margin -- before Claude's own screen adds a blank
row of its own, so the strip read as floating free of what it describes. Now
10px above the text, 8px below it and 4px to the terminal: 12px from text to
Claude.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@andrin-n-dream
andrin-n-dream merged commit f3a7173 into master Sep 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant