-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Pre-requisites
- I have double-checked my configuration
- I have tested with the
:latestimage tag (i.e.quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on:latest. If not, I have explained why, in detail, in my description below. - I have searched existing issues and could not find a match for this bug
- I'd like to contribute the fix myself (see contributing guide)
What happened? What did you expect to happen?
When using multi-value filters (Phase, Labels) on the Workflows list page, the URL query parameters are not updated correctly:
- Selecting multiple phases (e.g., Running + Failed) only shows the last one in the URL
- Unchecking a filter doesn't remove it from the URL
- Labels and other multi-value parameters have the same issue
I expected the URL to accurately reflect all selected filters, for example ?phase=Running&phase=Failed when both are checked.
Version(s)
:latest cf74935
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflow that uses private images.
- Navigate to the Workflows list page
- Check "Running" in the Phase filter → URL shows
?phase=Running - Also check "Failed" → Expected:
?phase=Running&phase=Failed, Actual:?phase=Failedonly - Uncheck "Running" →
phase=Runningremains in the URL
Root Cause
Two issues were identified:
In workflows-list.tsx, the useEffect inherits all existing query parameters and appends new values without clearing old ones.
In history.ts, the shared historyUrl function uses set() instead of append() when processing extraSearchParams, causing multiple values with the same key to be overwritten.
Proposed Fix
- In
workflows-list.tsx: Start with emptyURLSearchParamsand explicitly preserve only non-managed parameters - In
history.ts: Changeset()toappend()forextraSearchParamsprocessing
Metadata
Metadata
Assignees
Labels
No labels