MR submitter unable to view approvers list with shared access to private subgroup

Summary

The submitter of a merge request in a private project is unable to view the list of approvers on that merge request.

Steps to reproduce

  1. Set up a group structure similar to the following where the group, its subgroups, and projects are all private.
graph TD;
  A[Group]-->B[Subgroup 1];
  A-->C[Subgroup 2];
  C-->D[Project];

Further details:

  • Subgroup 1 - This subgroup is used as the "approvers" group.
  • Subgroup 2 - This subgroup houses all of the projects where merge requests will be submitted.
  1. Share access to Subgroup 2 with Subgroup 1.
  2. In Project, add an approval rule with 1 required approval with Group/Subgroup 1 as the approvers.
  3. Have a member of Project submit a merge request to the project.
  4. Have that user observe that they are not able to see who is able to approve that merge request.

Example Project

This has been replicated in https://gitlab.com/tristan-testing-group.

What is the current bug behavior?

The submitter of the merge request is unable to view who can approve their merge request.

What is the expected correct behavior?

The submitter of the merge request should be able to view who is able to approve their merge request.

Relevant logs and/or screenshots

Group structure:

Screenshot_2020-04-13_Tristan_Testing_Group

Confirmation of shared access:

Screenshot_2020-04-13_Group_members___subgroup

Members list of Subgroup 1 showing that there are direct members:

Screenshot_2020-04-13_Group_members___approvers

Approval rule setup in Project:

Screenshot_2020-04-13_General___Settings___Tristan_Testing_Group_subgroup_project

MR view from the perspective of the submitter in Project:

Screenshot_2020-04-13_boombop___2____Merge_Requests___Tristan_Testing_Group_core_project

Workaround

Support was only able to work around this issue by making the top-level group and the approvers subgroup public, which isn't acceptable for the majority of users that face this issue.

Output of checks

This bug happens on GitLab.com: 12.10.0-pre 943c8fd8108

ZD: https://gitlab.zendesk.com/agent/tickets/153081 (GitLab Internal)

Edited by Tristan Williams