Skip to content

Release v0.0.285 — #717 Codex WS error hardening - #718

Merged
justrach merged 11 commits into
mainfrom
release/v0.0.285
Sep 3, 2026
Merged

Release v0.0.285 — #717 Codex WS error hardening#718
justrach merged 11 commits into
mainfrom
release/v0.0.285

Conversation

@justrach

@justrach justrach commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Draft cut of v0.0.285 after v0.0.284. No merge to main and no GitHub tag until asked.

Folded from main after the branch cut

main moved two commits past the 285 branch (7da4ff2). Both are now on this line via merge a01413a:

  • 0fb41c0 — tools stream with the answer, not as a wall on top. Native: pin the thread scroller (no WKWebView scrollIntoView jitter), interleave tool chips at the text cursor, collapse a settled batch to “Explored N”, keep markdown list numbers. TUI: drop the Thinking row once tokens arrive and paint the live stream as the assistant reply; codedb folds as “Looked up N items”.
  • 1632b0d — split live-stream helpers into TUI/livetail.zig so scrollback.zig stays under the 600-line ceiling. Behavior unchanged.

Already on this cut

  • fix(codex): harden websocket API-error recovery #717 Codex WS error-frame recovery (replayed; yxlyx’s original base was 283-era main). Immediate closeCodexWs on type:error, shouldReanchorRequest requires a rejected previous_response_id, unparseable bodies use failureDiagnostic.
  • TUI steer / /btw now queue composer image chips (@[path]) with the text. Image-only Enter queues the chip instead of force-interrupt.

Notes / tests

Related

  • #717 still open on its original branch (replayed here, not merged as that PR).
  • #722 — account-scoped session control when logged into Codegraff (filed separately; not in this cut).
Open in Web Open in Cursor 

cursoragent and others added 11 commits September 1, 2026 14:56
Replay yxlyx's #717 onto current main: retire the socket on
type:error, re-anchor only when the rejected body sent
previous_response_id, and keep last_api_error on the bounded
diagnostic path. agent.zig stays at the 600-line ceiling.
Release-cut bump after the #717 fold. Slack stays 25.
Enter during a live turn copied only the typed line. Chips live on
Model.images, so the follow-up went out as text and the pixels stayed
in the composer. Queueing now prefixes the same @[path] markers a
normal send uses, and an image-only Enter queues the chip instead of
treating empty text as force-interrupt.
Takes 0fb41c0 (native/TUI tools stream with the answer) and 1632b0d
(scrollback livetail split) onto the 285 line.
Native chips and TUI live-reply landed on main after the 285 branch
cut; they are now on the release line with the livetail split.
Listing used Io.Dir.cwd().realPath, which can lag posix.chdir, so a
round-trip use reported the primary tree as active while bash was
still in the secondary — and .already skipped the chdir. Star, already,
and enter now read libc getcwd, compare realpaths (/tmp vs /private/tmp),
and refuse to claim success unless getcwd matches the target.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
Every NDJSON line called setChats, which re-parsed markdown for every
prior bubble: openPath/openChanges were new closures so memo could not
stick, and settled rows still ran the typewriter effect.

Coalesce patches to rAF, memo user/assistant rows, freeze typewriter
on done/error, and tree-shake iconoir-react.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
The follow-tail pin treated a 240px near-bottom band as still following,
so scrolling up during a turn was overwritten on the next token (#724).
Pin only while the reader is at the tail; scrolling away pauses follow.

While a turn is running, Enter queues the next prompt instead of no-op,
and the composer stays usable. Queued lines drain in order when the
turn ends.
284 stays published. Native scroll no longer yanks mid-stream (#724);
follow-ups queue while a turn runs; workspace switch reports cwd.
Keep #717, TUI image-chip queue, and evals. Add #724 scroll-while-streaming,
the native follow-up queue, and #721 cwd reporting.
@justrach
justrach merged commit a247278 into main Sep 3, 2026
2 of 6 checks passed
@justrach
justrach deleted the release/v0.0.285 branch September 3, 2026 01:45
@justrach
justrach restored the release/v0.0.285 branch September 3, 2026 09:03
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.

2 participants