Files
paseo/packages
Mohamed BoudraandGitHub 9a0c53d790 fix(opencode): recover turns after event stream drops (#3395)
* fix(opencode): recover turns after event stream drops

Own the global event transport for the lifetime of the OpenCode server generation instead of coupling it to individual turns. Reconcile scoped provider state after reconnect so transient EOF, errors, and stalls do not falsely fail healthy foreground or delegated work.

* fix(opencode): settle recovery lifecycle edges

Retry only failed post-gap snapshots, preserve terminal child evidence when status is unavailable, and treat provider process exit as an authoritative stop boundary.

* fix(opencode): keep gap repair snapshot-scoped

Refresh child and blocking-request state once per reconnect, retry only rejected root snapshot reads, and settle a successful snapshot without the active dispatch instead of polling transcripts.

* fix(opencode): keep live ingress ahead of repair retries

Schedule failed snapshot retries back onto the serialized session ingress so newly arrived live terminal events run first. Keep retry backoff scoped to root reads and invalidate stale retries across later reconnects.

* fix(opencode): invalidate stale gap repairs between turns

A delayed recovery retry could inspect a replacement turn after the original turn completed. Turn creation now invalidates older repair work, and the slash-command timeout regression drives the generation-owned event source used by sessions.

* fix(opencode): bind gap repair to its turn

A queued or in-flight repair could resume after its original turn ended and read a replacement turn's mutable dispatch state. Recovery now captures its boundary and revalidates the repair revision after provider awaits and while materializing snapshots.

* fix(opencode): preserve child status on failed recovery
2026-08-16 11:05:07 +02:00
..
2026-08-13 21:31:47 +02:00
2026-08-13 21:31:47 +02:00
2026-08-13 21:31:47 +02:00