Repository navigation
Commit 1ea676c
authored
Correct the live view reason rows and watchdog guidance (#704)
* 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.1 parent d8ec5e4 commit 1ea676c
1 file changed
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | | - | |
113 | | - | |
| 112 | + | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | | - | |
| 150 | + | |
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
| |||
0 commit comments