Skip to content

Consolidate seats used alerts logic in a common component

What does this MR do and why?

This code refactors how seat usage alerts are displayed in a subscription management system. Previously, there were two separate alert components that each had their own complex logic to determine when to show warnings about running out of subscription seats.

The changes consolidate this into a single, simpler notification component that acts as a coordinator - it decides which type of alert to show based on the subscription settings. The individual alert components were simplified by removing duplicate validation logic like checking if the user is an owner, if it's a paid plan, or if all seats are actually used.

The new approach moves all the decision-making logic into one place, making the code easier to maintain and reducing duplication. The alerts themselves still work the same way for users - they'll see warnings when their organization has used up all available seats in their subscription - but the underlying code is now cleaner and more organized.

Related to

Part 1 of #553320 - Split from !204336 (closed)

Screenshots or screen recordings

No more seats: Restricted Access Screenshot_2025-09-22_at_09.45.27
No more seats: Open Access Screenshot_2025-09-22_at_10.12.26

How to set up and validate locally

  1. Navigate to any group or project page where seat alerts would normally appear
  2. Verify that the "all seats used" alerts still appear correctly for namespaces that have reached their seat limit
  3. Verify that both regular and block overages alerts work as expected

MR acceptance checklist

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

Edited by Angelo Gulina

Merge request reports

Loading