Fix useDelete does not invalidate cache in pessimistic mode #10446
+276
−120
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.
Problem
Whe using pessimistic mode, a call to the delete callback of
useDelete
does not invalidate active queries.As a consequence, lists aren't refreshed. This creates buggy behaior in some cases.
For instance, in a list where each row has a DeleteButton in pessimistic mode, clicking on a delete button properly removes the deleted row, but does not update the list, which therefore has less rows than the
perPage
.Enregistrement.de.l.ecran.2025-01-14.a.22.13.54.mov
Solution
Related queries (getList, getMany, etc) are only invalidated on success on optimistic and undoable mode. They should be invalidated in all modes.
Enregistrement.de.l.ecran.2025-01-14.a.22.07.10.mov
How To Test
http://localhost:9010/?path=/story/ra-ui-materialui-button-deletebutton--in-list&args=mutationMode:pessimistic
Additional Checks
master
for a bugfix, ornext
for a feature