Error library · A request loop
The same request fires over and over (request loop, 429 rate limit)
The app feels slow or freezes, a usage bill jumps, or requests start failing with “429 Too Many Requests”. In the browser’s network tab the same request repeats without end.
Why it happens
A screen asks for its data each time it redraws, and saving that data makes it redraw. That is a loop. AI builders write it often: an effect that fetches and stores its result with nothing to say “only once”, or a value that is rebuilt on every draw so the effect thinks something changed.
In the preview, with ten rows and one user, nobody notices. Live, every visitor’s browser is doing it at once.
Check it in a minute
- Open the live app, then your browser’s developer tools, Network tab.
- Leave the page alone for ten seconds.
- If the list of requests keeps growing by itself, you have a loop.
How to fix it
Give this to the AI that builds your app: Lovable, Bolt, Cursor, Claude Code or any other.
A page in my app sends the same request over and over without the user doing anything. Find and fix the loop.
1. Find every effect or data hook on that page that fetches. For each, tell me what triggers it to run again.
2. Fix the cause: a missing or wrong dependency list, an object or function recreated on every render that is used as a dependency, or state that the fetch itself updates.
3. If the page needs fresh data, refresh on a sensible timer or on a real event, not on every render.
4. Do not hide the problem with a delay or a counter that stops after N requests.
After the fix, the page must make each request once when it loads and again only when something really changes. Tell me how many requests the page makes on load now.
What Vigilia sees of this
- The loop once it starts failing: a request refused with 429 or 500 becomes one incident, not hundreds, with the count climbing and how many visitors it hit.
- Requests that slow down: anything taking over five seconds is recorded, and raised once three visitors have hit it.
- AI calls from your backend: the AI usage chart shows calls and tokens per model, so a loop that calls a model shows as a spike (Pro).
What it can’t see: A loop of requests that all succeed quickly throws no error. Vigilia does not count ordinary successful requests, so it will not flag the loop until something starts to fail or slow down.
Know before your users tell you
Vigilia watches your live app, explains what breaks in plain language, hands your AI the fix, and confirms it held with real visitors.