Hide experimental and beta features for users without seat assigned
What does this MR do and why?
Merge Request Description: Add Seat-Based Checks for Experimental Features
This MR introduces seat-based access controls for experimental features, ensuring that only users with appropriate seats can access these functionalities.
Problem
Currently, experimental and beta features are gated by license checks but lack validation for whether a user has a seat assigned (Duo Enterprise add-on). As of October 17th, experimental features should also verify the assignment of a Duo Enterprise add-on seat.
Solution
This MR implements seat-based checks for the following experimental features:
- Summarize New MR
- Summarize Code Review
- Generate Cube Query
- Generate Issue Description
Users without an assigned seat will no longer see UI elements (e.g., buttons) indicating availability of these features.
Next Steps
This MR is the first step in centralizing and streamlining these checks. Future MRs will:
- Clean up existing redundant seat checks implemented in various places.
- Add seat-based checks to the base service method.
User Impact
- Before: Users without assigned seats could see and potentially access experimental features (buttons were visible, but the action was failing).
- After: Users without assigned seats will no longer see UI indicators for these features, ensuring a consistent and secure user experience.
This incremental approach ensures minimal disruption while laying the groundwork for a more robust implementation in subsequent iterations.
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
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After |
|---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
On master:
- impersonate user that belong to group with ultimate plan with duo enterprise add-on, but without seat assigned.
- start new issue in that group - button with duo icon should be visible.
- start new MR in the project: there should be button with "summarize code changes"
- When you are ready to submit your review, select Finish review => Select Summarize my pending comments.
On this branch: In all this situations Duo buttons should not be visible.
solves #504355 (closed)