Response modal: per-row quick view of a session's recent conversation #23

Merged
ClaudiuSchuster merged 1 commit from oss-oo/observatory-response-modal-odal20260924 into main 2026-09-24 15:41:16 +00:00
Owner

What

The fast glance the owner asked for: a per-row button on every session row
(Running / History / Hidden) that opens a modal with the session's recent
conversation
— not just the final response, but a history of the last
messages.

  • Running rows: "Show last output"; terminal rows (completed/failed/timeout): "Show response"
  • Modal shows the last 15 messages (user + assistant interleaved, oldest → newest, auto-scrolled to bottom) via the existing GET /api/session/<id>/transcript?limit=15 — no server changes
  • Same visual language as the transcript drawer (shared renderer): role labels + timestamps, user/assistant accent cards, reasoning collapsed behind a toggle, tool parts as subdued ⚙ one-liners, soft blue glow on 🔔 stream doorbell messages
  • Title (truncated) + status dot; close via ✕, ESC, backdrop click
  • Footer: message-count context (showing the last 15 of 197 messages), copy button (visible conversation as plain [role] text lines), "Open full transcript" hand-over to the existing drawer
  • While open on a running session: re-polls every 5 s and appends new messages; polling stops when the session lands terminal (content final)
  • No assistant answer yet → friendly "no output yet" state; the button never dead-ends or disables
  • README documents the buttons, the modal, and the notification → row → modal/drawer reading path

Verification

  • CDP smoke against a fixture DB (4 sessions: running, completed, failed+hidden, no-output): 42/42 checks — labels in all sections, ESC/backdrop close, truncation footer, live append within one poll cycle (footer 15/24 → 15/25), copy toast + line format, drawer hand-over, row-click regression, no-output state, failed red dot; plus poll-stop on completion
  • Visual QA screenshots (doorbell glow centered) at /tmp/pinky-modal-evidence/ — not committed
  • Local CI reproduction: py_compile, --help boot, make check-social-preview, and Super-Linter (pinned slim-v8.7.0 image) — all green, pylint 10.00/10
## What The fast glance the owner asked for: a per-row button on **every session row** (Running / History / Hidden) that opens a **modal with the session's recent conversation** — not just the final response, but a history of the last messages. - Running rows: **"Show last output"**; terminal rows (completed/failed/timeout): **"Show response"** - Modal shows the last **15 messages** (user + assistant interleaved, oldest → newest, auto-scrolled to bottom) via the existing `GET /api/session/<id>/transcript?limit=15` — no server changes - Same visual language as the transcript drawer (shared renderer): role labels + timestamps, user/assistant accent cards, reasoning collapsed behind a toggle, tool parts as subdued `⚙` one-liners, soft blue glow on `🔔 stream doorbell` messages - Title (truncated) + status dot; close via ✕, ESC, backdrop click - Footer: message-count context (`showing the last 15 of 197 messages`), **copy** button (visible conversation as plain `[role] text` lines), **"Open full transcript"** hand-over to the existing drawer - While open on a running session: re-polls every 5 s and appends new messages; polling stops when the session lands terminal (content final) - No assistant answer yet → friendly "no output yet" state; the button never dead-ends or disables - README documents the buttons, the modal, and the notification → row → modal/drawer reading path ## Verification - CDP smoke against a fixture DB (4 sessions: running, completed, failed+hidden, no-output): **42/42 checks** — labels in all sections, ESC/backdrop close, truncation footer, live append within one poll cycle (footer 15/24 → 15/25), copy toast + line format, drawer hand-over, row-click regression, no-output state, failed red dot; plus poll-stop on completion - Visual QA screenshots (doorbell glow centered) at `/tmp/pinky-modal-evidence/` — not committed - Local CI reproduction: `py_compile`, `--help` boot, `make check-social-preview`, and Super-Linter (pinned `slim-v8.7.0` image) — all green, pylint 10.00/10
Response modal: per-row quick view of a session's recent conversation
All checks were successful
Checks / Functional checks (pull_request) Successful in 15s
7bc64900ca
Every session row (Running / History / Hidden) gains a per-row button —
"Show last output" while running, "Show response" once terminal — that
opens a centered modal with the session's last 15 messages, rendered with
the same visual language as the transcript drawer (role accents, collapsed
reasoning, subdued tool one-liners, doorbell glow). The modal re-polls
every 5 s while the session runs, shows a friendly no-output state when
no assistant answer exists yet, and offers copy-as-plain-text plus
hand-over to the full transcript drawer. Reuses the existing transcript
API (?limit=15); no server changes.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OSS-Singularity/zcode-dispatch-observatory!23
No description provided.