Make "Mark all as resolved" on pending retries honor the period filter and selected queue - #3143
Merged
Merged
Conversation
…d date range Fixes a bug where `resolveAll` was always sending epoch zero as the date range and ignoring the selected queue filter. Now mirrors the same logic as `retryAll`, using the current period and optionally scoping to the selected queue via the `pendingretries/queues/resolve` endpoint. Also replaces the sentinel string `"empty"` used for the unselected queue state with `null`, making the intent clearer and the type more accurate.
PhilBastian
approved these changes
Oct 1, 2026
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.
resolveAllsent a fixed epoch-to-now range topendingretries/resolve, ignoring both the period filter and the selected queue, even though the toast tells the user "All filtered messages were marked as resolved". It now recomputes the date range from the selected period at click time, and when a queue is selected it PATCHespendingretries/queues/resolvewith the queue address, the same wayretryAllworks after #3142 and the same way the old AngularJSmarkAsResolvedAllMessagesbehaved before the Vue migration. Without a queue it still usespendingretries/resolve, since "Mark all as resolved" is not gated on a queue the way "Retry all" is.One behavior change to be aware of: with the default "All Pending Retries" period, resolve-all now covers the last 365 days, which is the same window the list itself shows for that option, instead of everything since 1970.
This also replaces the magic
"empty"sentinel onselectedQueuewithref<string | null>(null). The type now carries the "no queue selected" state and the compiler enforces the null checks in the store and the view, and the placeholder option binds:value="null"so the dropdown behaves as before.New driver tests in
resolving-all-pending-retries.spec.tscover the three paths: the default period requests the full window up to now with no queue address, "Retried in the last 2 Hours" narrows the range to two hours, and a selected queue routes topendingretries/queues/resolvewith the queue address and the displayed period. The test bed from #3142 now also captures resolve requests, ignoring theuniquemessageidsbody shape so resolving individually selected messages does not pollute the capture.Reviewer Checklist