Labels are overwritten by concurrent editing in issuable sidebar

Summary

Concurrently editing labels in sidebar overwrites older labels without notification.

Steps to reproduce

  • open issue
  • open same issue in new tab
  • change issue labels in first tab
  • switch to second tab: labels are not updated
  • change issue labels in second tab
  • switch to first tab: labels are not updated
  • reload page: labels are overwritten from second tab

The same can be experienced by using the API (see https://gitlab.com/gitlab-org/gitlab-ce/issues/36945).

Expected behavior

Labels are automatically updated—at least before saving.

Possible fixes

Transfer only the labels that have changed (added or removed) and not the complete list.

Edited by Inactive Account