Keep the last tool call outside its group once it finishes
A call left its group only while it was running, so the moment a command ended it vanished behind "Called 3 tools" -- and a session that has run its last command and is composing its answer, or has finished the turn entirely, spends most of its time in exactly that state. What folds a call back into its run is therefore not finishing but being overtaken: anything arriving behind it, a reply included, makes it history. Standing outside the run is the call's place in the list as it is now rather than something recorded on the call, so it is asked of the list while grouping it, where the rest of that decision already lives. Checked with ktfmtFormat, compileDebugKotlin, testDebugUnitTest and lintDebug, and on the emulator against the sandbox: "/tools 3 1" settles as "Called 2 tools" with the third Bash card beneath it, and folds to "Called 3 tools" the moment the next reply lands.
This commit is contained in:
1 parent
036eb375aa
commit
1e52b2910c
4 files changed
+75
-42
No files matched your search
@@ -1099,13 +1099,16 @@ dev-updater (Kotlin 2.4.x, CMP 1.11.x, JDK 21).
|
||||
- The transcript rendered from the event stream: markdown, inline images,
|
||||
tool cards, question cards.
|
||||
- **A run of adjacent tool calls is one collapsed card, except for the
|
||||
call still running** (2026-09-15). What the session is doing right now
|
||||
is the one thing worth seeing without opening anything, and a heading
|
||||
counting it hides it; the call folds back into its run the moment it
|
||||
ends, which is the moment it stops being what is happening. Grouping is
|
||||
a display decision (`groupToolRuns`) and a cut run's pieces are keyed
|
||||
there — the first piece keeps the run's name, since that name is what
|
||||
survives a page of history landing in front of it.
|
||||
call still running and the last call in the transcript** (2026-09-15).
|
||||
What the session is doing right now, or did last, is the one thing worth
|
||||
seeing without opening anything, and a heading counting it hides it. What
|
||||
folds a call back into its run is not finishing but being *overtaken*:
|
||||
anything arriving behind it, a reply included, makes it history, and a
|
||||
session that has run its last command and is composing its answer leaves
|
||||
that command standing until the answer starts. Grouping is a display
|
||||
decision (`groupToolRuns`) and a cut run's pieces are keyed there — the
|
||||
first piece keeps the run's name, since that name is what survives a page
|
||||
of history landing in front of it.
|
||||
- **Anything that is a note *about* the conversation rather than a turn in
|
||||
it is closed by default** — a tool call, a peer message, a memory note.
|
||||
Open-ness is the screen's, never the card's: a card that remembered for
|
||||
|
||||
Reference in new issue
Block a user