UI: Fix task instance state badge staying stale after Mark-as action#67950
Open
GayathriSrividya wants to merge 1 commit into
Open
UI: Fix task instance state badge staying stale after Mark-as action#67950GayathriSrividya wants to merge 1 commit into
GayathriSrividya wants to merge 1 commit into
Conversation
d20ce45 to
745d9e4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
closes: #67883
After marking a task instance as success/failed/skipped, the state badge
on the task instance detail page does not update until a manual page reload.
The root cause is in
usePatchTaskInstance: theGetMappedTaskInstancequery was invalidated using the full 4-field key
UseTaskInstanceServiceGetMappedTaskInstanceKeyFn({ dagId, dagRunId, mapIndex, taskId }).While this exact key should theoretically match, TanStack Query's
partialDeepEqualmatching is more reliable when the search key is asubset of the cached key rather than an exact match.
usePatchDagRunalready uses the partial-key pattern for the same query:This PR aligns
usePatchTaskInstanceto the same approach, using[useTaskInstanceServiceGetMappedTaskInstanceKey, { dagId, dagRunId, taskId }]as a partial key that matches any
mapIndexfor the given task. This alsoeliminates the separate predicate-based invalidation that was needed for the
"patch all mapped TIs" case (
mapIndex === undefined), simplifying the code.