Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4c94081
chore: upgrade Chromium from v126 to v143 for asset discovery
Manoj-Katta Apr 17, 2026
c3b1f16
test(core): ignore favicon.ico in test server request log
Manoj-Katta Apr 19, 2026
319744f
fix(core): disable site isolation for Chrome 143 new headless
Manoj-Katta Apr 19, 2026
1b7f936
chore(ci): bump cache-key for Chromium v143 upgrade
Manoj-Katta Apr 20, 2026
f64f1f8
test(core): align test helpers with Chrome new-headless behavior (PPL…
Manoj-Katta Apr 27, 2026
5ba42dc
fix(core): disable Local Network Access checks for Chrome 143 (PPLT-5…
Manoj-Katta Apr 27, 2026
4f02ad6
chore(core): document Chrome 143 upgrade decisions per PR review
Manoj-Katta Apr 27, 2026
56306df
fix(core): handle Chrome 143 split request lifecycle and malformed Co…
Manoj-Katta Apr 27, 2026
6a5af29
fix(core): preserve original errorText for response-stage Fetch error…
Manoj-Katta Apr 28, 2026
890883a
test(core): cover favicon capture path explicitly
Manoj-Katta Apr 28, 2026
bd44f96
refactor(core): capture body at Fetch response stage instead of using…
Manoj-Katta Apr 28, 2026
98f5a4e
test(core): cover saveResponseResource catch and auto-fetched favicon…
Manoj-Katta Apr 29, 2026
96a014b
fix(core): guard Network constructor against null session.browser (PP…
Manoj-Katta Apr 29, 2026
0cad47f
test(core): cover untracked-request branch and simplify error message…
Manoj-Katta Apr 30, 2026
a0638fe
test(core): stabilize two timing-fragile tests under suite load (PPLT…
Manoj-Katta May 3, 2026
46025d7
test(core): attach catch handler synchronously on sync-snapshot promi…
Manoj-Katta May 3, 2026
563da4c
test(core): bump waitForTimeout to give failing upload reliable headr…
Manoj-Katta May 3, 2026
e09ee41
test(core): cover oversized/malformed branch for untracked requests (…
Manoj-Katta May 4, 2026
9ec37ac
fix(core): timeout responseReceived wait so worker scripts don't leak…
Manoj-Katta May 4, 2026
4a4252a
test(core): drop trailing blank line that broke yarn lint (PPLT-4214)
Manoj-Katta May 4, 2026
2bb505d
fix(core): make browser-launch failure path testable across Chrome ve…
Manoj-Katta May 7, 2026
b2fd751
fix(core): make worker-script responseReceived timeout observable (PP…
Manoj-Katta May 7, 2026
7b2fc4d
test(core): use platform-specific early-exit arg in launch-failure te…
Manoj-Katta May 8, 2026
9adeecd
fix(core): capture v143 worker scripts via direct HTTP fallback (PPLT…
Manoj-Katta May 8, 2026
37f5176
fix(core): widen v143 worker-script fallback for PlzDedicatedWorker (…
Manoj-Katta May 10, 2026
ec13879
refactor(core): remove unreachable no-response branch in saveResponse…
Manoj-Katta May 11, 2026
281a587
Revert "refactor(core): remove unreachable no-response branch in save…
Manoj-Katta May 11, 2026
0812609
Merge remote-tracking branch 'origin' into PPLT-4214/upgrade-chromium…
Manoj-Katta May 11, 2026
c20c581
test(core): cover network.js race-catch branches; drop istanbul annot…
Manoj-Katta May 11, 2026
2d48f20
test(core): drop CI-unstable direct worker-script direct-fetch spec (…
Manoj-Katta May 11, 2026
f0d9c8e
fix(core): harden v143 direct-fetch fallback + rename captureScriptDi…
Manoj-Katta May 13, 2026
334f062
fix(core): revert log.warn promotion in CDP-race catches; satisfy lint
Manoj-Katta May 13, 2026
9526661
test(core): close network.js coverage gap; mark unreachable else (PPL…
Manoj-Katta May 13, 2026
135f9c9
style(core): drop padded blank line at end of resource-errors describe
Manoj-Katta May 13, 2026
a22e8bf
refactor(core): extract direct-fetch helpers for clean coverage (PPLT…
Manoj-Katta May 14, 2026
472d349
refactor(core): extract raceWithTimeout helper for clean coverage (PP…
Manoj-Katta May 14, 2026
ebad827
fix(core): honor server Content-Type on direct-fetch; safer mime fall…
Manoj-Katta May 14, 2026
59852c6
refactor(core): extract DISABLED_FEATURES + resolveDirectFetchMime he…
Manoj-Katta May 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/.cache-key
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
; ;
/ \
_____________/_ __ \_____________
Times we have broken CI: 3
Times we have broken CI: 4
Times Windows has broken CI: 99+
19 changes: 15 additions & 4 deletions packages/core/src/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ import install from './install.js';
import Session from './session.js';
import Page from './page.js';

// Chrome features Percy disables for v143 new-headless asset discovery.
const DISABLED_FEATURES = [
'Translate', // suppress translate prompt overlay
'OptimizationGuideModelDownloading', // suppress background model fetches
'IsolateOrigins', // [headless-only] keep cross-origin sub-resources on the page session for CDP capture
'site-per-process', // companion to IsolateOrigins
'HttpsFirstBalancedModeAutoEnable', // allow HTTP customer URLs (CI / local dev / staging)
Comment thread
Manoj-Katta marked this conversation as resolved.
'LocalNetworkAccessChecks' // allow loopback/RFC1918 sub-resources (Chrome 143 LNA gating)
];

export class Browser extends EventEmitter {
log = logger('core:browser');
sessions = new Map();
Expand All @@ -21,8 +31,7 @@ export class Browser extends EventEmitter {
#lastid = 0;

args = [
// disable the translate popup and optimization downloads
'--disable-features=Translate,OptimizationGuideModelDownloading',
`--disable-features=${DISABLED_FEATURES.join(',')}`,
// disable several subsystems which run network requests in the background
'--disable-background-networking',
// disable task throttling of timer tasks from background pages
Expand Down Expand Up @@ -300,9 +309,11 @@ export class Browser extends EventEmitter {
if (match) cleanup(() => resolve(match[1]));
};

let handleExitClose = () => handleError();
let handleExitClose = () => handleError(
new Error('Browser exited before devtools address')
);
let handleError = error => cleanup(() => reject(new Error(
`Failed to launch browser. ${error?.message ?? ''}\n${stderr}'\n\n`
`Failed to launch browser. ${error.message}\n${stderr}'\n\n`
)));

let cleanup = callback => {
Expand Down
13 changes: 7 additions & 6 deletions packages/core/src/install.js
Original file line number Diff line number Diff line change
Expand Up @@ -175,13 +175,14 @@ export function chromium({
});
}

// default chromium revisions corresponds to v126.0.6478.184
// Chrome 143.0.7499.169 (base position 1536371) — closest per-platform
// revision from https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
chromium.revisions = {
linux: '1300309',
win64: '1300297',
win32: '1300295',
darwin: '1300293',
darwinArm: '1300314'
linux: '1536366',
win64: '1536376',
win32: '1536377',
Comment thread
Manoj-Katta marked this conversation as resolved.
darwin: '1536380',
darwinArm: '1536376'
Comment thread
Manoj-Katta marked this conversation as resolved.
Comment thread
Manoj-Katta marked this conversation as resolved.
};

// export the namespace by default
Expand Down
251 changes: 226 additions & 25 deletions packages/core/src/network.js

Large diffs are not rendered by default.

Loading
Loading