feat(web): unified span-inspection popover across agent session views - #656
Conversation
|
Browser-verified the popover at /lab/agent-session and fixed two chrome bugs jsdom couldn't see (8a65fb5): the height cap sat on the popup while the ui Popover's viewport sizes itself from --available-height, so tall content spilled past the popup border — the cap and overflow-y-auto now live on the span-popover wrapper itself; and the title row's -mt-4 inside a flex column shrank its margin box and painted it 16px over the tab strip — the sticky row now pins to the scroller's padding-box top with only horizontal bleed. All three views re-verified visually (Overview finding click, waterfall row click, Flow node click). |
|
Redesigned per feedback (e22becc): the panel is now a full overlay — the repo's Dialog primitive at 86vw × 86vh (near-full on mobile) over the standard bg-black/32 + backdrop-blur-sm scrim — instead of an element-anchored popover. All anchor plumbing is deleted (net −6 lines), the internal layout is a fixed header + tab strip over one scrolling body, and a ?span= deep link now opens the panel from every view including Overview. Escape / scrim / ✕ still clear the selection; the Traces door still carries span + tab. Typecheck green, 312 tests, browser-verified in all three views + mobile. |
🍁 Maple PR previewWarning Preview cleanup could not be confirmed. The Alchemy teardown outcome was Final commit |
Span inspection on the agent session detail page was fragmented: Overview clicks switched you to the Traces tab, Flow opened a docked drawer, and the waterfall expanded an inline row. This replaces all three with one
SpanPopoverchrome around the sharedSpanExpansionbody, opened in place from whatever the reader clicked:detailrow kind and its virtualizer measurement plumbing are removed, simplifying the waterfall.?span=stays the source of truth. In the virtualized waterfall, the anchor unmounting (scrolled far away) closes the panel rather than leaving it detached; scrolling back re-anchors it. Only the active view holds the popover open — an outgoing tab panel stays mounted through its exit transition, so inactive views are denied the selection to prevent a double popover.SessionViews, so it survives switching spans and views.span-expansion.tsxfrom deleting the two old chromes.Behavior notes: an outside press closes the panel and clears the selection (so switching tabs by clicking a tab drops it — cross-view carry is the panel's own door); view hotkeys 1–4 are suppressed while the panel is open via the existing dialog guard.
Verified: scoped
apps/webtypecheck green; agent-session suites pass (311 tests, including the rewrittensession-detailpopover tests); fullapps/webvitest run shows only 4 pre-existing hook-test failures that reproduce identically on main.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.