agent web UI: add terminal verbosity setting (expand tool output by default)
Adds a browser-local (localStorage only, no backend field) toggle in the per-agent overflow menu's new settings section: whether otherwise- collapsed <details> rows in the live terminal (long tool-results, Write/Edit diffs, ...) default open. Message-bearing rows that already default open (send/ask/answer/recv) are unaffected either way. The shared terminal factory (frontend/packages/shared/src/terminal/terminal.js) gains an optional expandDetails option (boolean or zero-arg function), read live on every details()/detailsDiff() call rather than captured once, so flipping the toggle mid-session applies to the next rendered row without a reload. Unused by the dashboard's own terminal pane, so its default-closed behaviour is unchanged. Closes #2961.
This commit is contained in:
parent
edb4aa98c6
commit
198db326b3
5 changed files with 94 additions and 1 deletions
|
|
@ -101,6 +101,16 @@ through. Three flex columns:
|
|||
the `/effort <level>` slash command). The active level's button is
|
||||
highlighted; `renderEffortChip` keeps the picker in sync with
|
||||
`StateSnapshot.effort` from the cold-load snapshot.
|
||||
A third separator + **settings** section holds a single
|
||||
`role="menuitemcheckbox"` toggle, `☐/☑ expand tool output` — flips
|
||||
whether otherwise-collapsed `<details>` rows in the terminal (long
|
||||
tool-results, Write/Edit diffs, …) default open. Pure client-side:
|
||||
persisted to this browser's `localStorage` only (no backend field,
|
||||
no `/api/*` call), read live by the shared terminal factory's
|
||||
`expandDetails` option (see docs/web-ui/shape.md::Shared terminal
|
||||
pane) so toggling mid-session applies to the next rendered row
|
||||
without a reload. Rows that already default open regardless (send /
|
||||
ask / answer / recv) are unaffected either way.
|
||||
The popover's display rules are scoped to `:not([hidden])` so the
|
||||
`[hidden]` HTML attribute's UA `display: none` isn't overridden by
|
||||
the author CSS's `display: flex` — the popover stays hidden until
|
||||
|
|
|
|||
|
|
@ -115,7 +115,11 @@ event picture), `onBackfillDone?(count)` (one-shot after replay; `count=0` on
|
|||
failed/skipped fetch), `onStreamOpen?()` (fires on every EventSource
|
||||
(re)connect — use to re-sync snapshot-derived state after a reconnect gap),
|
||||
`pillAnchor?` (parent element for the "↓ N new" pill; defaults to
|
||||
`logEl.parentElement`).
|
||||
`logEl.parentElement`), `expandDetails?` (boolean or zero-arg function
|
||||
returning one, re-read on every `api.details`/`api.detailsDiff` call rather
|
||||
than captured once — lets a page default otherwise-collapsed panels open
|
||||
per a live browser-local preference; renderers that force a row open
|
||||
regardless, e.g. message-bearing tool_use, are unaffected either way).
|
||||
|
||||
**Sticky-bottom + snap animation.** `stickToBottom` is the
|
||||
operator's intent: true means "keep snapping to bottom on every
|
||||
|
|
|
|||
Loading…
Reference in a new issue