You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seems like we've been doing this for a long time, I can reproduce it with 3.0.0 at least, but probably goes way back.
GitLab converts attribute names of arrays when returning the links headers (tag_list=bla -> tag_list[]=bla), and because the queries differ (attribute vs. attribute[]), requests does not de-duplicate them. We had the same issue with URL-encoding which we fixed here #2219.
For list() calls we should be safe as they track the array attributes and know when to convert them even before sending. Probably 2 options/things to do:
add some handling to http_request() to also de-duplicate param vs param[]
try to always use ListMixin for any paginated response, and track array attributes (daydream: get it from openapi spec)
I think it's not just runners.all() but any custom method that follows pagination links and is not aware of arrays. At least they are duplicated only once, not appended continuously though
Description of the problem, including code/CLI snippet
Expected Behavior
tag_list is only attached once
Actual Behavior
tag_list is attached multiple times
Specifications
The text was updated successfully, but these errors were encountered: