Skip to content

Keep single-step details and focus through status updates - #56

Open
Maya-Kid wants to merge 1 commit into
deeplethe:devfrom
Maya-Kid:codex/fix-single-step-inspection
Open

Maya-Kid wants to merge 1 commit into
deeplethe:devfrom
Maya-Kid:codex/fix-single-step-inspection

Conversation

@Maya-Kid

Copy link
Copy Markdown
Contributor

Why

When its only tool call finishes, StepGroup replaces the grouped StepRow with a new standalone row. This closes details the user is reading and removes the focused button, sending keyboard focus to the page body.

What changes

Keep a single call in the same StepRow throughout its status changes, keyed by the call's id so another call starts closed. A single running call now shows its own row instead of an extra one-step group; multiple calls keep their existing grouping.

Extend the existing tool-steps demo with timed success and failure controls so the transition can be inspected. No new public API, example name, or error/patch rendering behavior is introduced.

How it was checked

  • On Linux with Node 24.13.0: fresh npm ci, npm run docs, npm run typecheck, and npm run build pass.
  • Chromium 145 / Playwright 1.58.2: complete /dev/examples reports 389/389 mounted and 0 failed in both themes, without page errors.
  • Tested the actual example's asynchronous success and failure while its row has keyboard focus; details remain open and the same button stays focused.
  • Checked Enter/Space, unopened calls, initial completed calls, external focus, replacement ids, multiple-call grouping, and single/multiple boundaries without state leaking to another call.
  • Visually inspected success and failure details in both themes. On the actual documentation page at a 1440px viewport, the expanded demo fits inside its existing 288px preview without clipping.

Before review

  • Every commit is signed off (git commit -s)
  • npm run typecheck and npm run build pass
  • /dev/examples reports 0 failed
  • What the change touches was looked at in both themes, open states included
  • A component of Solid Glass's own has its example in src/examples/ and its page in content/solid/

This branch has not been deployed

No deployments
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