fix(forgejo): keep transcripts and retry stream faults #35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/transcript-continuity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A live run of issue #21 proved transcript capture works — rows climbed 0 → 11 → 45 → 77 while the task ran — then exposed two further defects.
1. Truncated streams were not retried. The task died on
Error: SSE stream error: error decoding response body, which was classified as neither transient nor permanent, so it failed outright. A truncated stream is a transport fault; the same work usually succeeds on retry.sse stream error,error decoding response body,incomplete message, andunexpected eofare now transient. Permanent conditions still win.2. The transcript was orphaned on release. Progress narration is stored under a derived
task-<id>session. On release the worker reported its own session id, which overwrote that value, so the panel went from 77 rows back to empty. The 77 rows were still in the database undertask-d3d361bb-..., just unreachable.The derived session is now preserved when transcript rows exist under it, and the worker id is recorded alongside as
worker_session_id. With no recorded rows the real worker session is adopted as before.Validation: 60 tests pass, including cases for preserved-with-rows, replaced-without-rows, matching ids, and missing ids.