Skip to content

fix(runner): Handling the early end of a stream - #1921

Open
Mazi02 wants to merge 4 commits into
devfrom
fix/vod-after-early-end
Open

fix(runner): Handling the early end of a stream#1921
Mazi02 wants to merge 4 commits into
devfrom
fix/vod-after-early-end

Conversation

@Mazi02

@Mazi02 Mazi02 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Motivation and Context

If a lecturer ends the stream early and not discard it, it will not create a VoD.

Steps for Testing

  1. Create a stream and end it early.
  2. The runner should create the VoD.

Mazi02 and others added 4 commits August 14, 2026 00:00
Writes the .del- marker livestreamCleanup looks for. So far that marker was only
written by CheckVoD, which the discard path skips.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The skip detected StreamEnd by comparing function pointers and depended on the
loop position, so reordering the action list broke it silently. RunAction now
takes the VoD and discard actions as their own lists.

It also depended on AbortingError not skipping the following actions, contrary
to the doc comment on Action - describe the actual behaviour instead, ending a
stream early needs StreamEnd to run after the cancelled Stream action.

RequestStreamEnd returns an actual response now, (nil, nil) is an internal error.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The runner only tracks jobs of its current process while the job rows live in
the db, so NotFound is the normal case after a regular run, a double click on
"end stream" or a runner restart - and turned every such click into a HTTP 500.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant