Skip to content

Make group's promotion_request tab lazy load

What does this MR do and why?

It changes the group's promotion requests tab to lazy load its component when the tab is active instead of load the component when the page loads, this will prevent unnecessary graphql request when the tab isn't used.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Before After
N/A There's no UI change

How to set up and validate locally

  1. Have an Ultimate License, and simulate Ultimate Self Managed setup (export GITLAB_SIMULATE_SAAS=0 gdk restart)
  2. Enable the Setting ApplicationSetting.first.update!(enable_member_promotion_management: true)
  3. Enable feature flag Feature.enable(:member_promotion_management)
  4. Create promotion requests:
    1. visit a group as an owner (e.g. http://gdk.test:3000/groups/gitlab-org/-/group_members)
    2. promote a non-billable GUEST member to a DEVELOPER role (this member should be non-billable on the whole instance, i.e. have a highest role as guest, see !149094 (comment 1869616221) for details)
    3. you should see a banner saying "Role change request was sent to the administrator." — this means a promotion request has been created
  5. Navigate to the group's members page, verify through console > network tab that no requests related to the promotion requests are being made unless the tab is active.

Related to #476520 (closed)

Edited by Ammar Alakkad

Merge request reports