Skip to content

fix(network): invalidate stale network idle when requests start - #42599

Open
Sébastien Ros (sebastienros) wants to merge 1 commit into
microsoft:mainfrom
sebastienros:sebros/network-idle-lifecycle-fix
Open

fix(network): invalidate stale network idle when requests start#42599
Sébastien Ros (sebastienros) wants to merge 1 commit into
microsoft:mainfrom
sebastienros:sebros/network-idle-lifecycle-fix

Conversation

@sebastienros

Copy link
Copy Markdown
  • Invalidate frame and ancestor networkidle state when a new busy period begins, so final request completion can rearm the unchanged 500 ms timer even before DOMContentLoaded.
  • Add deterministic parser-gated pre/post-DCL regressions, repeated main/child-frame cycles, and exact lifecycle-notification/detachment coverage. All 107 focused cross-browser cases, 40 repeated regressions, 9 notification/detachment repeats, 4 driver-RPC cases, and npm run flint pass.
  • Verify the public .NET repro and original Chromium/Jint evidence: with Chromium 151 held constant, the fixed driver resolves all four .NET 8/10 pre/post-DCL cases. Jint was not rerun for this change; optional .NET/full-Chromium 154 runs stalled before reaching the repro.

Fixes #42598

Recalculate frame and ancestor idle state when a new busy period begins so the final request can rearm the idle timer before DOMContentLoaded.

Fixes: microsoft#42598

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@sebastienros
Sébastien Ros (sebastienros) marked this pull request as draft September 7, 2026 03:28
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

5 flaky ⚠️ [installation tests] › playwright-cli-install-should-work.spec.ts:190 › should print the right install command without browsers `@package-installations-ubuntu-latest`
⚠️ [chromium-library] › library/video.spec.ts:736 › screencast › should work with video+trace `@chromium-ubuntu-22.04-arm-node20`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:257 › third party 'Partitioned;' cookies `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:470 › top level 'Partitioned;' cookie and same origin iframe `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-goto.spec.ts:90 › should work with Cross-Origin-Opener-Policy `@firefox-ubuntu-22.04-node20`

51395 passed, 1247 skipped


Merge workflow run.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [firefox] › mcp/annotate.spec.ts:446 › should switch screencast to -s session on show --annotate @mcp-windows-latest-firefox

8326 passed, 1371 skipped


Merge workflow run.

@sebastienros
Sébastien Ros (sebastienros) marked this pull request as ready for review September 7, 2026 05:11
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.

[Bug]: NetworkIdle is permanently lost when later requests finish before DOMContentLoaded

1 participant