Uh oh!
There was an error while loading. Please reload this page.
fix(mcp): report malformed JSON config instead of falling back to INI - #41909
Conversation
`loadConfig` fell back to INI parsing on any JSON error, so a typo'd JSON config (e.g. a trailing comma) was silently accepted as INI: the intended settings were dropped for the defaults and the raw JSON kept as an unused top-level key
surface the original `SyntaxError` when the input is a JSON object (`{`) while keeping the INI fallback (including files whose first line is a `[section]` header) and BOM handlingeb17de8 to
08137e3Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Yury Semikhatsky (yury-s)
left a comment
There was a problem hiding this comment.
Maybe it's time to make .ini support official or drop it? Pavel Feldman (@pavelfeldman) wdyt?
This comment was marked as duplicate.
This comment was marked as duplicate.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Test results for "MCP"2 failed 7790 passed, 1269 skipped Merge workflow run. |
Hi, I'm the Playwright bot and I took a first look at the failing CI. 🟡 Uncertain, but both failures lean hard toward pre-existing flakesTwo Windows-only MCP failures, neither on the config-parsing path this PR touches. One is a known pre-existing flake; the other I can't stamp outright because its only failure in the results DB is this PR's own run. DetailsThis PR changes only Pre-existing flake / infra
Uncertain (almost certainly a flake)
Caused by this PR
To close out the uncertain one, a green re-run of the current head ( Triaged by the Playwright bot - agent run |
ce37b09
into
microsoft:mainUh oh!
There was an error while loading. Please reload this page.
## What's New ### Tool Improvements - **`browser_take_screenshot` — WebP format** — New `type` option to pick the image format (`png`, `jpeg` or `webp`); when unset, the format is inferred from the filename extension ([#41152](microsoft/playwright#41152)) - **`--codegen` — more languages** — Code generation now supports `python`, `java` and `csharp` in addition to `typescript` ([#42106](microsoft/playwright#42106)) - **Configurable settle delay** — New `--timeout-settle` flag (and `timeouts.settle` config option) to control how long to wait after each action for triggered work (navigations, requests) to settle, defaults to 500ms ([#41924](microsoft/playwright#41924)) ## Fixes - Aria snapshot capture is skipped when the response discards it ([#41923](microsoft/playwright#41923)) - New `--snapshot-boxes` flag (and `snapshot.boxes` config option) to enable bounding boxes in snapshots globally — previously this was only available per command ([#42102](microsoft/playwright#42102)) - Reconnect to the browser after a disconnect ([#41966](microsoft/playwright#41966)) - Report malformed JSON config instead of silently falling back to INI parsing ([#41909](microsoft/playwright#41909)) - Clear the dialog modal state when a dialog is closed out of band ([#42032](microsoft/playwright#42032)) - Detect downloads via the download event instead of guessing from `net::ERR_ABORTED` navigation errors ([#41933](microsoft/playwright#41933)) - Surface the missing executable path when a browser isn't installed ([#41941](microsoft/playwright#41941)) - Escape user input in codegen output ([#41962](microsoft/playwright#41962)) - Removed the stale `--output-mode` CLI option ([#41833](microsoft/playwright#41833)) ### Browser Extension - Validate `Host` and `Origin` headers on CDP relay WebSocket upgrades ([#42103](microsoft/playwright#42103)) - Launch the Chrome profile that has the extension installed ([#41939](microsoft/playwright#41939)) - Pass `noDefaults` for extension CDP connections ([#42119](microsoft/playwright#42119)) - Mention `PLAYWRIGHT_MCP_EXECUTABLE_PATH` in the error shown when the browser executable is not found ([#42122](microsoft/playwright#42122)) - Removed support for extension protocol v1 ([#41857](microsoft/playwright#41857))
loadConfigfell back to INI parsing on any JSON error, so a typo'd JSON config (e.g. a trailing comma) was silently accepted as INI: the intended settings were dropped for the defaults and the raw JSON kept as an unused top-level keysurface the original
SyntaxErrorwhen the input is a JSON object ({) while keeping the INI fallback (including files whose first line is a[section]header) and BOM handlingfixes#41893