I noticed that after making some edits in my Retool app, a new line appeared in my metadata.json file:
"isFetching": true
Does anyone know what this flag represents?
Thanks in advance for any clarification!
I noticed that after making some edits in my Retool app, a new line appeared in my metadata.json file:
"isFetching": true
Does anyone know what this flag represents?
Thanks in advance for any clarification!
Hi @Illia_Sakharau ,
In Retool, isFetching is a boolean property available on query objects that indicates whether a query is currently running or not. When a query is initiated, its isFetching property becomes true, and it remains true until the query completes, at which point it reverts to false.
This property is commonly used to provide visual feedback to users, such as displaying a loading spinner or disabling UI elements, while data is being fetched or processed by a query.
Thanks for the explanation! ![]()
Yes, I understand what the isFetching property means in queries.
But in my case, this field appears inside the metadata.json file (under the appTemplate section), and I can see it when comparing changes between releases.
So I think there might be a misunderstanding — I’m referring to the field being saved in the metadata, not the runtime query state.
Thanks for clarifying — that makes sense, and it’s an interesting edge case.
isFetching is indeed meant to be a runtime-only boolean on query objects (indicating when a query is actively running, usually for UI feedback like spinners), not something that should be persisted in saved app metadata.
Seeing it as true inside metadata.json under appTemplate — and showing up in release diffs — suggests it might be getting serialized unexpectedly, perhaps if the app was saved mid-query execution, or due to a quirk in how Retool captures state during export or save.
A few quick things you could check or try:
Make sure no event handlers, transformers, or auto-run settings are keeping the query in a “fetching” state when you save.
As a temporary workaround, add a small JS query or transformer that explicitly resets queryName.isFetching = false on app load or before saving/exporting.
If it’s reproducible across sessions or apps, it might be worth flagging to Retool support with your app export JSON or a minimal repro case so they can take a closer look. @Darren, @Jack_T ?
If you can share more context (e.g., query type, Retool version, or how/when it first appeared), I’d be happy to dig further!
Thanks for investigating this @Shawn_Optipath!
I think your hunch is correct, that variable should only exist to reference the state of a query that is running(fetching) and this may be some type of bug where either a query is executing or this variable is slipping into a place where it should not be instead of changing to false or disappearing after the query is done.
I can definitely investigate further and see if I can reproduce this. Is it causing an issue with your app or was this more of a curiosity question @Illia_Sakharau?
Sorry for the late reply. We noticed this field when comparing version changes, even though no one had set any such parameters. Since it doesn’t affect our application in any way, we’ve decided to pause further investigation for now.
It was more out of curiosity on our side)
No worries!
Ok good to know it hasn't affected anything in your app. I can definitely check with engineering to see why that would be appearing in version comparisons. I imagine it is pretty harmless unless it is affecting the state of a query.