Skip to content

Fix confusing free project delayed deletion and refactor HAML templates

What does this MR do and why?

Related to #498956 (closed)

In #498956 (closed) I first thought that deleting free projects delayed on gitlab.com was a bug because this is usually a Premium+ feature. But after some digging I came across !80139 (merged) and realized it was intentional with some confusing UX. This MR aims to improve the UX to make it less confusing and at the same time refactor the HAML logic to make the code less confusing.

Demo

Here is a demo explaining the existing bug and how it works in this MR

https://youtu.be/7PJvodrglpA

References

Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

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

UX bug described in #498956 (closed)

Before After
Screen_Recording_2024-11-26_at_11.51.32_AM Screen_Recording_2024-11-26_at_11.03.06_AM

GitLab SaaS mode (gitlab.com)

Free project Paid project Personal project
Screen_Recording_2024-11-26_at_11.03.06_AM Screen_Recording_2024-11-26_at_11.39.59_AM Screen_Recording_2024-11-26_at_11.09.00_AM

GitLab self-managed EE with Ultimate license

Free project Paid project Personal project
N/A Screen_Recording_2024-11-26_at_11.16.58_AM Screen_Recording_2024-11-26_at_11.20.41_AM

GitLab self-managed EE without a license

Free project Paid project Personal project
Screen_Recording_2024-11-26_at_11.23.01_AM N/A Screen_Recording_2024-11-26_at_11.24.40_AM

GitLab self-managed FOSS

Free project Paid project Personal project
Screen_Recording_2024-11-26_at_11.28.38_AM N/A Screen_Recording_2024-11-26_at_11.31.34_AM

How to set up and validate locally

  1. In your gitlab-development-kit directory create a env.runit file
  2. Add the following to it:
export FOSS_ONLY=0
export GITLAB_SIMULATE_SAAS=1
  1. Restart GDK
  2. Create a group
  3. Create a project in that group
  4. Delete that project in Settings -> General -> `Advanced
Edited by Peter Hegman

Merge request reports

Loading