When epic swimlanes are enabled, Milestones are incorrectly scoped in boards sidebar milestone dropdown
Summary
Given an issue, we can only assign milestones with the following scopes to the issue:
- the milestones scoped to the issue's project.
- the milestones scoped to the parent(direct) groups of the issue's project.
However, when Swimlanes is active in Issue Boards, every milestone accessible from the top group shows up in the milestone dropdown regardless of the selected issue.
Example:
Given the following group/project structure, the milestones specific to top-level-project
shouldn't be available to the issues of sub-group-project
.
graph TB
subgraph "Main Graph"
Node1[top-level-group] --> Node2[sub-group]
Node1 --> Node3[top-level-project]
Node2 --> SubGraph1[sub-group-project]
end
In comparison to the milestone dropdown in Issue Boards (when Epic swimlanes are enabled), the milestone dropdown in Issue Detail only shows milestones with the correct scope with respect to the issue.
In Issue Boards (with swimlanes) | In Issue Detail |
---|---|
Trying to assign one of the wrongly scoped milestone to the issue results in an undefined behavior: Screen_Recording_2020-12-24_at_11.00.21_AM
Steps to reproduce
- Go to this Board
- Open an Issue's sidebar.
- Search for
Ops Milestone
and apply it. - The loading spinner loads and graphql responsed with
[{"data":{"updateIssue":{"issue":{"milestone":null,"__typename":"Issue"},"errors":[],"__typename":"UpdateIssuePayload"}}}]
- That milestone is from the
Ops
project that lives underLarge Co.
-- which would break the current hierarchy model.
Example Project
Relevant logs and/or screenshots
Possible fixes
Edited by Gabe Weaver