Mismatch in approvers list does make issue unusable

This is a follow-up from https://gitlab.com/gitlab-org/gitlab-ee/issues/3282#note_38969329

There is a severe bug on issue approvals, that can make issues unusable. See the following scenario:

Original state:

  • Merge request settings > List of users always allowed to approve = 4
  • Merge request settings > Approvals required = 1

Actions:

  • Create merge request
  • Assign merge request to self
  • Change Merge request settings > List of users always allowed to 1
  • Change Merge request settings > Approvals required to 3
  • Assign merge request to someone else

Outcome:

  • Merge request can not get assigned, but also does not show any error.
  • Assigning via /assign command also doesn't work

Expected behavior

  • I'd expect to get a warning on this
  • but it would even be better to have some nice behavior on these approvers when it doesn't match the "minimum" setting
  • it would be best to get a modal that asks to add more approvers to the MR to reach the minimum required number of approvers. The reason for a modal would be that it should also be shown when the "Create MR" button is clicked from the issue directly. When there aren't enough approvers, that means the state of the issue is invalid and shouldn't be able to get saved
Assignee Loading
Time tracking Loading