Repository navigation
Correct the live view media reason row and timeout warning - #698
Closed
robertjamesprior wants to merge 2 commits into
Closed
robertjamesprior wants to merge 2 commits into
robertjamesprior wants to merge 2 commits into
Conversation
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
The `media` reason matches a peer that reaches neither `connected` nor `completed` inside its bound — `completed` arrives without `connected` when gathering is already done. The warning under the watchdog example describes the client before this fix, where `checking` cleared the only watchdog, so scope it to images without the connect-failure fix.
robertjamesprior
marked this pull request as ready for review
October 14, 2026 18:03
robertjamesprior
added a commit
that referenced
this pull request
Oct 19, 2026
…ance The example remounts at 35s, above the client's connect bounds, which run in sequence (transport, signaling, media) and now sum to 28s after kernel-images#472 settled the media bound at 10s. Below the budget the example reproduces the bug this page was fixing: the embedder tears the frame down before the client can name the stage that stalled. The prose around it says what the timer has to clear and why, since the timer also covers loading the frame and waking a sleeping browser. The timeout warning names `completed` alongside `connected`, which is the other way the media bound clears. The `media` row now reads "connected or completed ... covers a peer that stalls after checking", folded in from #698, which this supersedes.
Contributor
Author
|
folded into #704: the media row now says connected or completed and covers a peer that stalls after checking, and the example watchdog moved above the 28s budget. closing this so the two aren't editing the same lines. |
robertjamesprior
added a commit
that referenced
this pull request
Oct 20, 2026
* Correct the media stage bound to connected * Move the example watchdog above the client's connect budget 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. * Set the example watchdog above the connect budget and deslop the guidance The example remounts at 35s, above the client's connect bounds, which run in sequence (transport, signaling, media) and now sum to 28s after kernel-images#472 settled the media bound at 10s. Below the budget the example reproduces the bug this page was fixing: the embedder tears the frame down before the client can name the stage that stalled. The prose around it says what the timer has to clear and why, since the timer also covers loading the frame and waking a sleeping browser. The timeout warning names `completed` alongside `connected`, which is the other way the media bound clears. The `media` row now reads "connected or completed ... covers a peer that stalls after checking", folded in from #698, which this supersedes. * Keep the media bound at 30s and move the example watchdog above the budget The media bound stays at its interim ceiling. The stretch through ICE `connected` is unmeasured in every region, so shortening the default is not something the probe data supports yet; a region that has the timings lowers it through the live view proxy's override instead. With the defaults unchanged, the three bounds sum to 48s rather than 28s, so the example timer moves to 50s to stay above the budget it has to outlast. * Apply mason's notes on the watchdog paragraph The prose said the timer covers waking a browser. It doesn't: the proxy wakes the browser before the socket opens, so that time is already inside the transport bound, and only loading the page itself is extra. The example timer moves to 60s. 50s left 2s over the 48s budget, which is thin for "leave room above the budget", and a region that raises its bounds moves the budget past 48s anyway. The earlier terminal events still show the fallback as soon as they arrive, so this timer only catches a silent stall. Also contracts "Do not" to "Don't", which the docs style guide asks for. * Correct the transport and peer reason rows A socket close at any point before the connect succeeds reports `transport`, not only one before signaling, and `peer` also covers ICE reaching `failed` or `closed` and the data channel closing before the connect. The retry advice follows: remounting repeats a construction or offer throw, but it can fix an ICE failure, so that case is worth one retry.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
mediarow said ICE never reachedchecking, and the warning under the watchdog example said a connection that stalls after negotiation never emitsKERNEL_CONNECTION_TIMEOUT. Both describe the client before kernel-images#417.With that fix the media bound stays armed past
checkingand clears onconnectedorcompleted, so a peer that stalls aftercheckingdoes report — andcompletedcounts as success because ICE can reach it withoutconnectedwhen gathering is already done.Docs-only. Ships with kernel-images#417; the page tolerates images that predate it, and the warning is now scoped to them. No other rows change. Prose and table edits only — Mintlify has no build step, and I did not run
mintlify devlocally.Note
Low Risk
Documentation-only prose and table edits in
live-view.mdx; no runtime or API behavior changes.Overview
Updates Live View parent-frame docs to match post–connect-failure fix client behavior (kernel-images#417).
The
mediareasonrow now says the media-stage timeout fires when ICE never reachesconnectedorcompleted(including stalls afterchecking), not when it fails to reachchecking. The watchdog guidance is scoped to images without that fix: only on those older images does clearing the timeout at negotiation start mean a post-negotiation stall may never emitKERNEL_CONNECTION_TIMEOUT.Reviewed by Cursor Bugbot for commit df0367d. Bugbot is set up for automated code reviews on this repo. Configure here.