• fix(web): heid-review findings — SSE lifecycle teardown + test-shape gaps (v0.19.3)

    vh released this 2026-07-01 12:52:44 -07:00 | 169 commits to main since this release

    Cross-frontier panel (Gróa/Hulda/Regin) on the v0.19.2 web surface, triaged:

    • FIX (Gróa #1, drift): the turn EventSource onerror (raw transport drop)
      now calls hideThinkingNote() — a drop mid-reasoning no longer leaves the
      " is pondering…" line + its setInterval running (INV-LIFECYCLE).
    • FIX (Gróa #4 + Hulda #1, convergent drift): openAdminEvents now closes the
      EventSource + clears state.adminES on stream_error (server signalled end)
      and on a PERMANENT onerror (readyState CLOSED) — native EventSource no longer
      auto-reconnects into a retry loop; transient CONNECTING drops still reconnect.
    • TEST (Gróa #2 + Hulda #3): test_routes_registered asserts the 3 new routes;
      test_state_attached asserts app.state.admin_key (create_app POST-001/002).
    • TEST (Gróa #3 + Regin #3): AdminEvents stream_error-on-connect-failure test —
      upstream non-200 -> exactly one stream_error frame, then ends (POST-003).
    • CONTRACT (Hulda #2 + Regin #2, accepted): clarified the Tools inventory
      renders NAMES only by design (descriptions live in the BifrostState pane);
      code unchanged. Also lands the web_debug_surface contract as the trail.

    Accepted-no-op: 403-bifrost / non-404-tools tests (identical code path to the
    tested 404). Panel found ZERO functional server-side drift; INV-004 escaping
    confirmed clean across the new panes. 60 web tests pass; JS + ruff clean.

    Downloads