Chrome 152 replaces Replay XHR with Resend and extends it to fetchable requests. The action converts a captured request to fetch() while aiming to preserve replay fidelity, and DevTools now exposes the execution context and console originator.
For proxy diagnostics, this enables a much smaller reproduction loop than rerunning an entire browser journey.
Capture the original observation
Before resending, record a redacted evidence object:
const evidence = {
requestNumber,
capturedAt,
method,
host,
status,
firstByteMs,
totalMs,
routeId,
exitIp,
addressFamily,
sessionRunId,
businessOutcome
};
Never store passwords, cookies, bearer tokens, or personal data in the incident artifact.
Gate state-changing methods
function mayResend(method, authorized, isolatedEnvironment) {
const safeByDefault = new Set(["GET", "HEAD", "OPTIONS"]);
if (safeByDefault.has(method)) return authorized;
return authorized && isolatedEnvironment;
}
Even GET can trigger state changes on a poorly designed endpoint, so this is a policy checkpoint—not proof of safety. POST, PATCH, PUT, and DELETE may duplicate work, modify data, or create charges.
Run a one-variable comparison
- Resend once through the current proxy route.
- Repeat through a known-good route while holding allowed request state constant.
- Compare connect/TLS evidence, status, response body shape, and the business outcome.
- If still inconclusive, move to a bounded interleaved matrix instead of repeatedly clicking Resend.
function nextCheck({ currentRouteOk, baselineRouteOk, bodyOk }) {
if (!currentRouteOk && baselineRouteOk) return "route_exit_dns_tls";
if (!currentRouteOk && !baselineRouteOk) return "target_session_payload";
if (currentRouteOk && !bodyOk) return "challenge_or_schema";
return "bounded_retest";
}
Remember that a resend happens later. Cookies, CSRF tokens, nonces, rate windows, application state, and proxy-session exits may have changed. It is one observation, not a causal verdict.
Chrome 152 also adds binary payload decoding, pinned request numbers, improved same-site host filtering, and default query/form parameter decoding. These are useful when an incident includes encoded bodies or many similar calls.
Source: Chrome for Developers, “What’s new in DevTools (Chrome 152),” August 25, 2026.
I work with 98IP. For an independent route in authorized comparisons: https://en.98ip.com/?k=dev
Disclosure: Use proxies and request resending only for lawful, authorized testing. Respect privacy duties, robots directives, rate limits, contracts, and target terms; never bypass access controls.
Top comments (0)