Loading
Accept the subscribed filter as a string in IssuableFinder
What does this MR do and why?
CSV exports that filter by subscription status ignored the filter. GraphQL passes subscribed as a Symbol, but export workers receive their params as JSON, so the value arrives as a String and IssuableFinder#by_subscribed fell through to returning everything. It now compares the value as a Symbol either way.
Merge request stack
These merge requests fix #583992 together. Merge them in this order; same-numbered MRs are independent.
| Order | MR | What | Depends on |
|---|---|---|---|
| 1 | !262241 (merged) | Extract the merge request filter arguments into a shared concern (no schema change) | None |
| 1 | !262242 (merged) (this MR) | Accept the subscribed filter as a string in IssuableFinder |
None |
| 2 | !261924 (merged) | Add the mergeRequestsCsvExport GraphQL mutation |
!262241 (merged), !262242 (merged) |
| 3 | !261946 (merged) | Switch the MR list export to the mutation behind merge_requests_csv_export_graphql |
!261924 (merged) |
| 4 | !261956 | Remove the REST export and the flag after the rollout in #633656 (not before 2026-11-16) | !261946 (merged) |
Details
- Affects any CSV export that passes
subscribedthroughIssuableExportCsvWorkerto anIssuableFinder-based finder, includingworkItemsCsvExporttoday and the upcomingmergeRequestsCsvExport(!261924 (merged)). - Also fixes
?subscribed=on HTML issuable lists:subscribedis anIssuableFinderscalar param thatIssuableCollectionspermits from the query string, where it is always a String, so those lists accepted the filter and ignored it. - New
MergeRequestsFinderexample passessubscribed: 'explicitly_subscribed'and fails without the fix (it returns all three authored MRs instead of the subscribed one). spec/finders/merge_requests_finder_spec.rbandspec/finders/issues_finder_spec.rb: 413 examples, 0 failures.
References
- Related to #583992
- Split out of !261924 (merged) per review.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Kai Armstrong