Will It Vibe logoWill It Vibe?
PERF-008Medium severity-8 points

Synchronous XMLHttpRequest

Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 8 points from that category, once per scan, no matter how many places it turns up.

What it detects

XMLHttpRequest.open() called with its third (async) argument set to false makes the request synchronous: the calling thread, including the browser's main/UI thread, freezes until the response arrives. Browsers deprecated this on the main thread and print a console warning; there is no modern reason to do it.

Why it matters

Calling XMLHttpRequest.open() with its third argument set to false makes the request synchronous: the calling thread does not continue until the response comes back. If that thread is the browser's main/UI thread, the entire page freezes for the duration of the request, including all user input and rendering. Browsers have deprecated synchronous XHR on the main thread specifically because of this and log a console warning; there is no modern justification for it.

How to fix it

Switch to an asynchronous request: pass true (or omit the argument, since true is the default) to XMLHttpRequest.open() and handle the response in the load event/callback, or replace the XHR entirely with fetch() and async/await, which is the current standard approach.

The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing

Does your repo trip this check?

Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.

Scan your repo

Related Code Quality & Syntax checks