Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/frontend/packages/shared/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris c460e91bd1 swarm-ui: full-tab agent terminal (#4506)
Adds a full, non-capped agent terminal reachable from a new expand
trigger on the embedded AgentTermPreview (the detail-panel preview on
AgentsPage stays as-is, just gains the trigger). Opens
/agents/:name/terminal in a new dynamic tab in Shell's header, next to
the static nav row — tabs persist across a reload via useDynamicTabs,
a small localStorage-backed hook built on @hive/shared's existing
settings-storage primitive.

AgentTermPreview gains two new props to support both mounts from one
component: fullHeight (drops the 12em preview cap, fills its page)
and showHeaderBadges (default true — lets a future caller that
already shows turn_state/model/ctx/cost elsewhere suppress this
cluster; AgentsPage doesn't use it, see below).

Deviation from the originally posted plan (issue comment 80596): that
plan proposed AgentsPage's embedded preview pass showHeaderBadges as
false, reasoning the detail panel already duplicates that info.
Checked the actual code before implementing — it doesn't; AgentRow/
AgentTypes.ts carry none of turn_state/model/ctx/cost, and
AgentTermPreview's own floating badges are the only place swarm-ui
shows them. Left the badges visible there instead of shipping a
regression the plan's own stated justification didn't hold up to.

Also fixed a same-tab pub/sub race found by actually rendering a cold
load of /agents/:name/terminal (headless chromium, not just reasoning
about the code): useLocalSetting subscribes inside a useEffect, and
mount effects fire children-before-parents, so a descendant's
mount-time write (AgentTerminalPage registering its own tab) can beat
an ancestor's (Shell's) subscription into existence, leaving Shell's
tab row silently empty on a direct/reload load. Fixed by having
useDynamicTabs re-sync from storage on every location change, not
just on notify() — the fix lives in the new hook itself, not in the
shared settings-storage primitive theme/motion overrides also use.
2026-09-28 23:17:44 +02:00
..
api-error-panel treefmt: apply prettier 2026-09-02 15:25:07 +02:00
badge shared/badge: give interactive badges a real pill radius, not a roundrect 2026-09-11 22:45:36 +02:00
dropdown shared/dropdown: optional portal mode escapes a scroll-container clip 2026-09-11 21:20:26 +02:00
hive-btn treefmt: apply prettier 2026-09-02 15:25:07 +02:00
hive-dialog treefmt: apply prettier 2026-09-02 15:25:07 +02:00
hive-menu treefmt: apply prettier 2026-09-02 15:25:07 +02:00
hive-toast treefmt: apply prettier 2026-09-02 15:25:07 +02:00
hive-warn treefmt: apply prettier 2026-09-02 15:25:07 +02:00
jobq-graph treefmt: apply prettier 2026-09-02 15:25:07 +02:00
jobq-rollup treefmt: apply prettier 2026-09-02 15:25:07 +02:00
settings treefmt: apply prettier 2026-09-02 15:25:07 +02:00
side-panel docs: retire the stray top-level web-ui.md, fold it into web-ui/README.md 2026-09-07 15:49:52 +02:00
tabs treefmt: apply prettier 2026-09-02 15:25:07 +02:00
terminal swarm-ui: read-only agent terminal page consuming the swarm term stream 2026-09-13 20:23:51 +02:00
warn-banner treefmt: apply prettier 2026-09-02 15:25:07 +02:00
api-error.ts treefmt: apply prettier 2026-09-02 15:25:07 +02:00
base.css treefmt: apply prettier 2026-09-02 15:25:07 +02:00
chrome.css treefmt: apply prettier 2026-09-02 15:25:07 +02:00
colors.css treefmt: apply prettier 2026-09-02 15:25:07 +02:00
dom.js treefmt: apply prettier 2026-09-02 15:25:07 +02:00
forms.js treefmt: apply prettier 2026-09-02 15:25:07 +02:00
icons.tsx swarm-ui: full-tab agent terminal (#4506) 2026-09-28 23:17:44 +02:00
index.js treefmt: apply prettier 2026-09-02 15:25:07 +02:00
modal.js treefmt: apply prettier 2026-09-02 15:25:07 +02:00
pill.css frontend: unify pill/chip/badge shape into shared CSS 2026-08-12 19:25:45 +02:00
prefs.ts agent term: add a setting to hide debug-level output 2026-09-02 20:40:22 +02:00
shadow-css.js treefmt: apply prettier 2026-09-02 15:25:07 +02:00
theme.css treefmt: apply prettier 2026-09-02 15:25:07 +02:00