InviteUser: Remove experimental feature toggle (#113914)
This commit is contained in:
@@ -903,10 +903,6 @@ export interface FeatureToggles {
|
||||
*/
|
||||
infinityRunQueriesInParallel?: boolean;
|
||||
/**
|
||||
* Renders invite user button along the app
|
||||
*/
|
||||
inviteUserExperimental?: boolean;
|
||||
/**
|
||||
* Enables the alerting migration UI, to migrate data source-managed rules to Grafana-managed rules
|
||||
* @default true
|
||||
*/
|
||||
|
||||
@@ -1564,15 +1564,6 @@ var (
|
||||
FrontendOnly: false,
|
||||
Owner: grafanaOSSBigTent,
|
||||
},
|
||||
{
|
||||
Name: "inviteUserExperimental",
|
||||
Description: "Renders invite user button along the app",
|
||||
Stage: FeatureStageExperimental,
|
||||
Owner: grafanaSharingSquad,
|
||||
HideFromAdminPage: true,
|
||||
HideFromDocs: true,
|
||||
FrontendOnly: true,
|
||||
},
|
||||
{
|
||||
Name: "alertingMigrationUI",
|
||||
Description: "Enables the alerting migration UI, to migrate data source-managed rules to Grafana-managed rules",
|
||||
|
||||
Generated
-1
@@ -203,7 +203,6 @@ rendererDisableAppPluginsPreload,experimental,@grafana/grafana-operator-experien
|
||||
assetSriChecks,experimental,@grafana/frontend-ops,false,false,true
|
||||
alertRuleRestore,preview,@grafana/alerting-squad,false,false,false
|
||||
infinityRunQueriesInParallel,privatePreview,@grafana/oss-big-tent,false,false,false
|
||||
inviteUserExperimental,experimental,@grafana/sharing-squad,false,false,true
|
||||
alertingMigrationUI,GA,@grafana/alerting-squad,false,false,true
|
||||
alertingImportYAMLUI,GA,@grafana/alerting-squad,false,false,true
|
||||
unifiedStorageHistoryPruner,GA,@grafana/search-and-storage,false,false,false
|
||||
|
||||
|
Generated
-4
@@ -822,10 +822,6 @@ const (
|
||||
// Enables running Infinity queries in parallel
|
||||
FlagInfinityRunQueriesInParallel = "infinityRunQueriesInParallel"
|
||||
|
||||
// FlagInviteUserExperimental
|
||||
// Renders invite user button along the app
|
||||
FlagInviteUserExperimental = "inviteUserExperimental"
|
||||
|
||||
// FlagAlertingMigrationUI
|
||||
// Enables the alerting migration UI, to migrate data source-managed rules to Grafana-managed rules
|
||||
FlagAlertingMigrationUI = "alertingMigrationUI"
|
||||
|
||||
+2
-1
@@ -2108,7 +2108,8 @@
|
||||
"metadata": {
|
||||
"name": "inviteUserExperimental",
|
||||
"resourceVersion": "1753448760331",
|
||||
"creationTimestamp": "2025-03-07T19:09:59Z"
|
||||
"creationTimestamp": "2025-03-07T19:09:59Z",
|
||||
"deletionTimestamp": "2025-11-14T10:29:28Z"
|
||||
},
|
||||
"spec": {
|
||||
"description": "Renders invite user button along the app",
|
||||
|
||||
@@ -11,9 +11,6 @@ import { InviteUserButton } from './InviteUserButton';
|
||||
jest.mock('@grafana/runtime', () => ({
|
||||
...jest.requireActual('@grafana/runtime'),
|
||||
config: {
|
||||
featureToggles: {
|
||||
inviteUserExperimental: true,
|
||||
},
|
||||
externalUserMngLinkUrl: 'https://example.com/invite',
|
||||
},
|
||||
reportInteraction: jest.fn(),
|
||||
|
||||
@@ -31,9 +31,6 @@ const mockConfig = jest.mocked(config);
|
||||
const mockContextSrv = jest.mocked(contextSrv);
|
||||
const mockGetExternalUserMngLinkUrl = jest.mocked(getExternalUserMngLinkUrl);
|
||||
|
||||
// Type assertion to make mockConfig.featureToggles assignable
|
||||
const mockFeatureToggles = mockConfig.featureToggles as Partial<FeatureToggles>;
|
||||
|
||||
// Mock window.open
|
||||
const mockWindowOpen = jest.fn();
|
||||
Object.defineProperty(window, 'open', {
|
||||
@@ -46,7 +43,6 @@ describe('InviteUserButtonUtils', () => {
|
||||
jest.clearAllMocks();
|
||||
|
||||
// Set up default mocks
|
||||
mockFeatureToggles.inviteUserExperimental = true;
|
||||
mockConfig.externalUserMngLinkUrl = 'https://example.com/invite';
|
||||
mockContextSrv.hasPermission.mockReturnValue(true);
|
||||
|
||||
@@ -60,12 +56,6 @@ describe('InviteUserButtonUtils', () => {
|
||||
expect(mockContextSrv.hasPermission).toHaveBeenCalledWith(AccessControlAction.OrgUsersAdd);
|
||||
});
|
||||
|
||||
it('should return false when feature toggle is disabled', () => {
|
||||
mockFeatureToggles.inviteUserExperimental = false;
|
||||
|
||||
expect(shouldRenderInviteUserButton()).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false when URL is not configured', () => {
|
||||
mockConfig.externalUserMngLinkUrl = '';
|
||||
|
||||
|
||||
@@ -4,9 +4,7 @@ import { getExternalUserMngLinkUrl } from 'app/features/users/utils';
|
||||
import { AccessControlAction } from 'app/types/accessControl';
|
||||
|
||||
export const shouldRenderInviteUserButton = () =>
|
||||
config.featureToggles.inviteUserExperimental &&
|
||||
config.externalUserMngLinkUrl &&
|
||||
contextSrv.hasPermission(AccessControlAction.OrgUsersAdd);
|
||||
config.externalUserMngLinkUrl && contextSrv.hasPermission(AccessControlAction.OrgUsersAdd);
|
||||
|
||||
export const performInviteUserClick = (placement: string, cnt: string) => {
|
||||
reportInteraction('invite_user_button_clicked', {
|
||||
|
||||
Reference in New Issue
Block a user