fix(web): Update lists reactively by replacing them in setQueryData() #6509
+29
−27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes the "stalling problem" where component list stops showing new components after some time, and never recovers.
How does this PR change the system?
This PR fixes a reactivity problem with our use of tanstack's setQueryData(). If a list has its cache busted (and gets requeried), tanstack no longer provides a reactive list at the top level (though each element appears reactive). So after this happens, our code that pushes new components into the list no longer triggers the UI to re-render. I'm not sure why tanstack does this, but they warn about this pattern here:
Out of Scope:
How was it tested?
In short: 🔗