PUT /api/v4/projects/:id/merge_requests/:mr_iid silently rejects duplicate assignee IDs
## Summary
When sending a PUT request to update merge request assignees with duplicate IDs in the `assignee_ids` array, the API silently rejects the update without returning an error.
## Steps to reproduce
1. Send a PUT request to `/api/v4/projects/:id/merge_requests/:mr_iid` with:
```json
{
"assignee_ids": [123, 456, 123]
}
```
## Current behavior
The request returns HTTP 200 with no error message. The assignees are not updated. The duplicate ID is silently ignored.
## Expected behavior
The API should either:
- Accept the request and deduplicate the IDs automatically, or
- Return HTTP 400 with a clear error message explaining that duplicate IDs are not allowed
## Relevant code
The issue is in `app/services/merge_requests/update_assignees_service.rb` at line 16:
```ruby
return merge_request if new_ids.size != update_attrs[:assignee_ids].size
```
This check compares the size of deduplicated `new_ids` against the input `update_attrs[:assignee_ids]`. If they differ, it returns early without updating or reporting an error.
## Possible fixes
1. **Auto-deduplicate:** Remove the size check and let the deduplicated IDs be applied
2. **Return error:** Add validation to reject requests with duplicate IDs and return HTTP 400
3. **Document behavior:** If silent rejection is intentional, document it clearly in the API docs
issue