Skip to content

Fix remove label inconsistency

Coung Ngo requested to merge 271459-fix-remove-label-inconsistency into master

What does this MR do?

This MR fixes the following bug:

  1. Add label alpha via the /label quick action
  2. Remove label bravo by clicking on the label bravo's x on the sidebar
  3. Both alpha and bravo are removed, whereas the correct behaviour is that only bravo should be removed

This happens because currently when the label x is clicked, we update the labels to be: all labels in the sidebar minus the removed label. But the sidebar doesn't know about the label that was just added with a quick action (this is a separate issue), so the update effectively removes the label added with the quick action. The solution is to explicitly state what we're adding or removing when possible, rather than what the entire new set of labels should be.

This MR also:

  • Switches from using the REST API to using GraphQL
  • Moves dataset data from the Haml template to a backend helper

Issue: #271459 (closed)

Screenshots (strongly suggested)

Issue page MR page
Screen_Recording_2020-11-03_at_3.37.28_pm Screen_Recording_2020-11-03_at_3.38.09_pm

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #271459 (closed)

Edited by Coung Ngo

Merge request reports