Skip to content

Conversation

agg23
Copy link
Contributor

@agg23 agg23 commented Sep 16, 2025

Fixes #37419

Our "apps" are simple browser wrappers (generally Chromium) and as such have history. Do our best to prevent history changes in JS (note this isn't foolproof and only works most of the time).

@agg23 agg23 requested a review from dgozman September 16, 2025 17:31

This comment has been minimized.

@agg23 agg23 force-pushed the ui-mode-history-back-fix branch from 97c96de to b435227 Compare September 17, 2025 13:01

This comment has been minimized.

@agg23 agg23 requested a review from dgozman September 17, 2025 14:59
Copy link
Member

@pavelfeldman pavelfeldman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, what are you trying to do?

@aczekajski
Copy link

A small question: does it only prevent going back in the standalone UI mode? I think this fix should not be preventing navigation in UI run in local browser and especially in trace viewer when viewing reports (npx playwright show-report, not in UI mode).

This comment has been minimized.

Copy link
Contributor

Test results for "tests 1"

12 fatal errors, not part of any test
134 failed
❌ [chromium-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:246 › should contain action info @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:256 › should render network bars @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:263 › should render console @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:302 › should show params and return value @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:328 › should show null as a param @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:364 › should have network requests @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:409 › should show font preview @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:465 › should have network request overrides 2 @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:476 › should show snapshot URL @chromium-ubuntu-22.04-node18
❌ [chromium-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:246 › should contain action info @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:256 › should render network bars @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:263 › should render console @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:302 › should show params and return value @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:328 › should show null as a param @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:364 › should have network requests @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:409 › should show font preview @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:465 › should have network request overrides 2 @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:476 › should show snapshot URL @chromium-ubuntu-22.04-node20
❌ [chromium-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:246 › should contain action info @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:256 › should render network bars @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:263 › should render console @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:302 › should show params and return value @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:328 › should show null as a param @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:364 › should have network requests @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:409 › should show font preview @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:465 › should have network request overrides 2 @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:476 › should show snapshot URL @chromium-ubuntu-22.04-node22
❌ [chromium-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:246 › should contain action info @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:256 › should render network bars @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:263 › should render console @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:302 › should show params and return value @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:328 › should show null as a param @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:364 › should have network requests @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:409 › should show font preview @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:465 › should have network request overrides 2 @chromium-ubuntu-22.04-node24
❌ [chromium-library] › library/trace-viewer.spec.ts:476 › should show snapshot URL @chromium-ubuntu-22.04-node24
❌ [firefox-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:246 › should contain action info @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:256 › should render network bars @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:263 › should render console @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:302 › should show params and return value @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:328 › should show null as a param @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:364 › should have network requests @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:409 › should show font preview @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @firefox-ubuntu-22.04-node18
❌ [firefox-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @firefox-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:93 › should show empty trace viewer @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:98 › should open two trace viewers @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:106 › should open trace viewer on specific host @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:112 › should show tracing.group in the action list with location @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:154 › should open simple trace viewer @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:178 › should show action context on locators and other common actions @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:233 › should complain about newer version of trace in old viewer @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:238 › should properly synchronize local and remote time @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:246 › should contain action info @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:256 › should render network bars @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:263 › should render console @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:294 › should open console errors on click @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:302 › should show params and return value @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:328 › should show null as a param @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:342 › should have correct snapshot size @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:353 › should have correct stack trace @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:364 › should have network requests @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:375 › should filter network requests by resource type @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:409 › should show font preview @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:424 › should filter network requests by url @webkit-ubuntu-22.04-node18
❌ [webkit-library] › library/trace-viewer.spec.ts:453 › should have network request overrides @webkit-ubuntu-22.04-node18

2 flaky ⚠️ [firefox-library] › library/inspector/cli-codegen-1.spec.ts:1079 › cli codegen › should not throw csp directive violation errors `@firefox-ubuntu-22.04-node18`
⚠️ [firefox-page] › page/page-event-request.spec.ts:182 › should return response body when Cross-Origin-Opener-Policy is set `@firefox-ubuntu-22.04-node18`

37769 passed, 764 skipped, 388 did not run


Merge workflow run.

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]: Alt+Left in UI mode goes to blank page
4 participants