fix(ui): bottom-bar island lives in workflow editor, not on a separate page #36

Merged
timur merged 1 commit from fix/island-in-workflow-editor into development 2026-05-14 11:01:29 +00:00
Owner

Reverts #35's routing changes and embeds the pause/resume island in the existing workflow editor view, where the user actually wanted it.

What #32 + #35 got wrong: I built a dedicated /plays/{sid} detail page and redirected Run to it. The user wanted the existing workflow editor view (with live span tree, runtime overlay) — plus the island added at the bottom. Not a separate page.

Restored:

  • /plays/{sid} → redirects to /workflows/{wf}/edit?play={sid} (pre-#32 behavior).
  • Run button → stays on the editor with the play overlaid.

Added (the actual requested feature):

  • Bottom-bar island rendered inside workflow_editor.html, appears only when OVERLAY_PLAY_SID is set.
  • Three tabs: Logs (live span events) · Pending resumes (per-kind form rendering → POSTs play_resume) · Events.
  • Resizable + collapsible, state in localStorage.
  • Hooks into the existing pollOverlay() so it stays live without a second polling cycle.

The dedicated play_detail.html page still exists for users who navigate directly but is no longer the canonical Run target.

Reverts #35's routing changes and embeds the pause/resume island in the existing workflow editor view, where the user actually wanted it. What #32 + #35 got wrong: I built a dedicated `/plays/{sid}` detail page and redirected Run to it. The user wanted the **existing** workflow editor view (with live span tree, runtime overlay) — plus the island added at the bottom. Not a separate page. **Restored:** - `/plays/{sid}` → redirects to `/workflows/{wf}/edit?play={sid}` (pre-#32 behavior). - Run button → stays on the editor with the play overlaid. **Added (the actual requested feature):** - Bottom-bar island rendered inside `workflow_editor.html`, appears only when `OVERLAY_PLAY_SID` is set. - Three tabs: Logs (live span events) · Pending resumes (per-kind form rendering → POSTs `play_resume`) · Events. - Resizable + collapsible, state in `localStorage`. - Hooks into the existing `pollOverlay()` so it stays live without a second polling cycle. The dedicated `play_detail.html` page still exists for users who navigate directly but is no longer the canonical Run target.
Reverts the two routing changes #35 introduced and puts the
pause/resume island where it actually belongs — embedded in the
workflow editor view alongside the live span tree.

Why:
- The dedicated /plays/{sid} detail page I built in #32 broke the
  existing UX: users opened a play and saw a different page than
  the workflow editor they came from. They asked for an ADDITION,
  not a separate view.
- Run now redirects back to /workflows/{wf}/edit?play={sid} (the
  pre-#32 behavior) and /plays/{sid} redirects there too.
- The bottom-bar island (Logs / Pending resumes / Events tabs +
  resizable + collapsible + localStorage state) is now rendered
  inside workflow_editor.html and only appears when an overlay
  play is active (window.OVERLAY_PLAY_SID set).
- Hooks into the existing pollOverlay() loop instead of running a
  second polling cycle.

The dedicated play_detail.html page still exists for direct
navigation but is no longer the canonical Run target.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
timur merged commit b9c41dbdba into development 2026-05-14 11:01:29 +00:00
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
lhumina_code/hero_logic!36
No description provided.