Skip to content

Clone issue card on move when necessary [RUN AS-IF-FOSS]

What does this MR do?

Concerns graphql-based boards (group/project behind :graphql_board_lists) and epic swimlanes. Reviewers may want to also turn on :board_new_list because graphql-boards sometimes breaks creating a new board list using the legacy 'Add list' button.

  • resolves #325778 (closed).

    To be exact, we want to achieve behavior parity with the classic boards. The best way to test this MR is to compare the behaviors of the graphql boards (running on your local machine) to the behaviors of the boards in production.

  • fixes a duplicate key error (an issue card is dropped into a list that already has the card)

  • refactors (restructures) how the boards vuex code handle issue card moves between lists

    The goal of the refactor was to increase the reusability of the vuex actions to reduce the duplication of logic in EE.

Quick video illustration

  • Ex 1. Moving a card from Open list to a label list doesn't clone the card.
  • Ex 2. Moving a card from one label list to another label list doesn't clone the card.
  • Ex 3. Moving a card from a label list to a milestone list clones the card.

actions_spec.js#L675 has more comprehensive specifications.

Demo

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 #325778 (closed)

Edited by euko

Merge request reports