Skip to content

Correct the media stage bound to connected - #704

Open
robertjamesprior wants to merge 2 commits into
mainfrom
hypeship/live-view-media-reason-bound
Open

robertjamesprior wants to merge 2 commits into
mainfrom
hypeship/live-view-media-reason-bound

Conversation

@robertjamesprior

@robertjamesprior robertjamesprior commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Two corrections to the live view embedding guidance.

The media reason row. It said the bound expires if ICE never reached checking. Since kernel-images#417 the client keeps the media bound armed through connected, so it expires only if ICE never arrives there. An embedder branching on reason would otherwise expect media to fire earlier than it does.

The example watchdog. It remounted 15s after mount. The client's connect bounds run in sequence — transport, then signaling, then media — and sum to 23s, so an embedder following the snippet tore the frame down before the client could report which stage stalled. This is the media stage, which is the one most likely to have stalled, so the guidance was suppressing the diagnosis it was written to enable. The example now uses 25s and the prose states the constraint.

The note claiming KERNEL_CONNECTION_TIMEOUT stops firing once negotiation begins is also corrected: the media bound stays armed past checking until ICE reaches connected, so a connect stalling in between does report one. What never emits it is a viewer whose frames stop after it connected.

Paired with kernel-images#472, which shortens the media bound so the budget fits. Merge order doesn't matter for the docs themselves, but the two describe the same client.

Docs only. mint broken-links passes locally on the pinned 4.2.930, which is what CI runs.


Note

Low Risk
Documentation-only changes to live view integration guidance; no runtime or API behavior changes in this repo.

Overview
Updates Live View embedder docs so they match current client behavior (post kernel-images#417).

The media reason is documented as firing when ICE never reaches connected (not checking), so handlers that branch on reason expect the right stage.

The “Detecting a viewer that never starts” section now states that connect bounds run in sequence (transport → signaling → media, 23s total) and that remount timers must exceed that window. The sample watchdog is 25s (was 15s).

KERNEL_CONNECTION_TIMEOUT guidance is revised: the media bound clears when ICE hits connected, and timeouts only apply while negotiation is still in progress—not after frames were already playing.

Reviewed by Cursor Bugbot for commit 58849c9. Bugbot is set up for automated code reviews on this repo. Configure here.

@mintlify

mintlify Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
Kernel 🟢 Ready View Preview Oct 16, 2026, 7:33 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

The snippet remounted 15s after mount. The client's connect bounds run in
sequence and sum to 23s, so an embedder following the example tore the frame
down before the client could report which stage stalled — including media,
the stage most likely to have stalled.

Also correct the note about KERNEL_CONNECTION_TIMEOUT never firing once
negotiation begins. The media bound stays armed past `checking` until ICE
reaches `connected`, so a connect that stalls in between does report one;
what never emits it is a viewer whose frames stop after it connected.

This branch was successfully deployed

1 active deployment
staging — 58849c97 Deployed Oct 16, 2026 by mintlify[bot]
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