Skip to content

fix(app+session-ui): webview string-frame parsing (#1843) + the edit-title row opens the file - #1844

Merged
aarontrowbridge merged 1 commit into
mainfrom
fix-webview-frames-click-target
Oct 22, 2026
Merged

aarontrowbridge merged 1 commit into
mainfrom
fix-webview-frames-click-target

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

Closes #1843. The global event stream was dead in every webview panel (string SSE frames hitting the in discrimination as a TypeError, every frame, all day — the live telemetry error Aaron pasted). Parses + narrows before the discrimination; malformed lines skip. Companion: the edit/write part's whole title row opens the file. Director gates: app typecheck exit 0, session-ui suite 161/0, drift PASS — and this PR's CI RUNS before merge (the stream loop is the most load-bearing code in the app; after three momentum merges today, the discipline returns).

…discrimination (#1843); the whole edit-title row opens the file

Two live-reported fixes from the v0.3.8-alpha exercise:

(1) The global event stream was dying on EVERY frame in the webview fetch
path: the SDK reader yields raw SSE data lines as STRINGS (the platform
path yields parsed objects) — a string frame hit "payload" in event as
a TypeError, killing the loop, reconnecting, dying again (the all-day
'[global-sdk] event stream failed' in the client telemetry). The loop now
parses strings first (parseSseFrame: malformed/non-object lines skip,
never kill), narrows with honest type guards (isLegacyWireFrame for the
{directory, payload} wrapper, isWireEvent for both wire vocabularies),
and the downstream cursor/sync checks read the extracted payload.

(2) The edit/write tool part's openable filename was a tiny target (the
filename glyph only) — the live report clicked the row (the directory
span sits between) and got nothing. The whole title area now opens the
file when a path exists (prevent + stopPropagation, same semantics as
the filename button).

App typecheck exit 0 (the director's pipe lied about the exit code once
— re-run clean); session-ui suite 161/0; the app suite's 31 local fails
are the documented pre-existing families (13 solid-js/web harness, the
i18n/evicted/relay baseline) — CI is the merge gate for this one, and it
RUNS before merge.
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: be059e17-f8a8-4551-88cf-3348b8072b1c
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@aarontrowbridge
aarontrowbridge merged commit 6f0e9e5 into main Oct 22, 2026
12 checks passed
@aarontrowbridge
aarontrowbridge deleted the fix-webview-frames-click-target branch October 22, 2026 13:28
@aarontrowbridge
aarontrowbridge restored the fix-webview-frames-click-target branch October 23, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(app): the webview event stream dies on every frame — string SSE data hitting the wire discrimination as a TypeError

1 participant