Skip to content

Pre-seed Integrated Browser smoke settings to avoid the relaunch prompt - #328972

Merged
Benjamin Christopher Simmonds (benibenj) merged 1 commit into
release/1.132from
benibenj/fix-browser-smoke-relaunch-prompt
Aug 4, 2026
Merged

Benjamin Christopher Simmonds (benibenj) merged 1 commit into
release/1.132from
benibenj/fix-browser-smoke-relaunch-prompt

Conversation

@benibenj

Copy link
Copy Markdown
Contributor

Follow-up to #328969, which is already merged.

That PR pinned window.menuStyle to custom for the Integrated Browser suite by writing it through the settings editor. That fixed the macOS stable/insiders divergence, but it introduced a new failure on Linux CI in the very first test:

locator.fill: Timeout 30000ms exceeded.
  - waiting for locator('.quick-input-widget:visible input[placeholder*="enter URL"]')
    - locator resolved to <input ... aria-label="Search or enter URL" .../>
    - element is not visible

Cause

window.menuStyle is watched by SettingsChangeRelauncher, which on Windows/Linux treats a change to it as requiring a restart:

// Windows/Linux: Menu style
processChanged(!isMacintosh && this.menuStyle.handleChange(config.window?.menuStyle));

Writing the setting at runtime therefore popped a modal dialog ("A setting has changed that requires a restart to take effect.") over the workbench. The quick input was still in the DOM, but obscured by the modal, so fill never became possible. This was a real regression, not flakiness — it is deterministic on Windows/Linux, and it does not reproduce on macOS because the relauncher deliberately skips menuStyle there.

Fix

Seed both settings into settings.json before the application starts, in the existing beforeStart hook, instead of writing them once the window is up:

  • The values are already in effect when the window opens, so nothing "changes" and no relaunch prompt appears.
  • workbench.browser.experimentalUserTools.enabled moves with it — it is declared experiment: { mode: 'startup' }, so it is better applied at startup anyway.
  • The suite no longer touches the settings editor at all, matching the pattern already used by the Chat Sessions and Agents Window suites.

The reason for pinning custom is unchanged and is now captured in a comment on the helper. The underlying question of what the default should be is tracked in #328970.

Setting window.menuStyle through the settings editor made SettingsChangeRelauncher pop a modal 'restart to take effect' dialog on Windows/Linux, which blocked the workbench and broke the first test. Seeding both settings on disk before launch means the values are already in effect when the window opens, so no relaunch prompt appears.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Pre-seeds Integrated Browser smoke-test settings before startup, preventing Linux/Windows relaunch prompts.

Changes:

  • Moves required settings from runtime editor updates to settings.json.
  • Documents why custom menus must be pinned.
Show a summary per file
File Description
test/smoke/src/areas/browserView/browserView.test.ts Seeds browser settings in the pre-start hook.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Screenshot Changes

Base: cc5405f4 Current: 772b58f0

Changed (2)

chat/input/chatInput/VoiceModeConnecting/Dark
Before After
before after
chat/input/chatInput/VoiceModeConnecting/Light
Before After
before after

1 insignificant change(s) omitted (≤20 px, Δ≤2). See CI logs for details.

@benibenj
Benjamin Christopher Simmonds (benibenj) merged commit df53daa into release/1.132 Aug 4, 2026
29 of 30 checks passed
@benibenj
Benjamin Christopher Simmonds (benibenj) deleted the benibenj/fix-browser-smoke-relaunch-prompt branch August 4, 2026 15:30
@vs-code-engineering vs-code-engineering Bot added this to the 1.132.0 milestone Aug 4, 2026
Benjamin Christopher Simmonds (benibenj) added a commit that referenced this pull request Aug 4, 2026
…ies (#328983)

The suite drives the browser toolbar overflow and Add to Chat menus through HTML locators (.monaco-menu-container). On macOS, stable defaults window.menuStyle to 'native' while insiders defaults to 'inherit', so those menus render as native OS menus in stable and the locators never resolve.

Pin the setting to 'custom' for the suite, seeded on disk before startup. Writing it at runtime instead would make SettingsChangeRelauncher pop a modal 'restart to take effect' dialog on Windows/Linux, blocking the workbench.

Ports #328969 and #328972 from release/1.132 to main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vs-code-engineering vs-code-engineering Bot locked and limited conversation to collaborators Sep 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Sponsor
SponsoredKunjungi sekarang
Promo