Repository navigation
fix(webxr): keep config changes from re-arming warm-up watchdogs during idle - #1262
Merged
Merged
Conversation
…ng idle Review findings on the idle-frame handling: - Re-registering the effect on a config change re-armed the warm-up watchdog even while idle frames were arriving, so a config edit during idle (or its quiet window) disconnected before quiet plus the phase budget, and the later quiet expiry could arm a second timer and orphan the first. Skip the config re-arm while idle is active or after real video was seen, and have each arm function clear any existing timer before replacing it. - Drop idleFramesActiveRef; idleStatusRef.active is the single source of truth. StreamAttachTimeoutTest gains idle-then-silence scenarios for warm-up that never began and warm-up that stalled, and a config change during idle and its quiet window. Each fails if its fix is reverted. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Gareth Morgan <gmorgan@nvidia.com>
Contributor
2 of 3 tasks
gareth-morgan-nv
requested review from
AndreusNvidius,
lotusl-code and
sgrizan-nv
October 13, 2026 22:45
sgrizan-nv
approved these changes
Oct 14, 2026
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.
Summary
Follow-up to #1260 addressing its remaining review findings (the review landed while #1260 was being merged).
idleFramesActiveRef;idleStatusRef.current.activeis used instead.StreamAttachTimeoutTestgains idle-then-silence scenarios for warm-up that never began and warm-up that stalled (the watchdog must fire no earlier than quiet period plus phase budget after the last idle frame), and a scenario with config changes during idle and inside the quiet window.Still inert today: the SDK does not currently emit the
Received idle framelog and the sessionlogLevelis Info.Test plan
StreamAttachTimeoutTest.spec.js(5 tests) passes 3/3; reverting the config guard fails the config-change scenario, and making the quiet callback never re-arm fails all three idle-silence scenariosSKIP=check-copyright-year pre-commit run --all-filesclean;tsc --noEmitshows no errors in the touched files🤖 Generated with Claude Code
Summary by CodeRabbit