Merge branch 'fix-typo-drive' into 'main'
[ProtonMail-WebClient.git] / packages / unleash / UnleashFeatureFlags.ts
blobcc6f07653862429716bc1e7c54bcc8b2bfe73936
1 /**
2  * Feature flag list from Unleash
3  * Format should be FeatureFlagName = 'FeatureFlagName'
4  */
5 enum CommonFeatureFlag {
6     ColorPerEventWeb = 'ColorPerEventWeb',
7     AutoReloadPage = 'AutoReloadPage',
8     DisableElectronMail = 'DisableElectronMail',
9     KeyTransparencyShowUI = 'KeyTransparencyShowUI',
10     KeyTransparencyLogOnly = 'KeyTransparencyLogOnly',
11     CryptoDisableUndecryptableKeys = 'CryptoDisableUndecryptableKeys',
12     CryptoCanaryOpenPGPjsV6 = 'CryptoCanaryOpenPGPjsV6',
13     BreachesSecurityCenter = 'BreachesSecurityCenter',
14     InboxUpsellFlow = 'InboxUpsellFlow',
15     ABTestInboxUpsellStep = 'ABTestInboxUpsellStep',
16     ABTestSubscriptionReminder = 'ABTestSubscriptionReminder',
17     CalendarBusyTimeSlots = 'CalendarBusyTimeSlots',
18     InboxDesktopInAppPayments = 'InboxDesktopInAppPayments',
19     InboxDesktopMultiAccountSupport = 'InboxDesktopMultiAccountSupport',
20     InboxDesktopThemeSelection = 'InboxDesktopThemeSelection',
21     InboxDesktopManualUpdateBannerDisabled = 'InboxDesktopManualUpdateBannerDisabled',
22     BreachAlertsNotificationsCommon = 'BreachAlertsNotificationsCommon',
23     WalletPlan = 'WalletPlan',
24     WalletAutoSetup = 'WalletAutoSetup',
25     SentinelRecoverySettings = 'SentinelRecoverySettings',
26     InboxDesktopWinLinNewAppSwitcher = 'InboxDesktopWinLinNewAppSwitcher',
27     DarkWebEmailNotifications = 'DarkWebEmailNotifications',
28     InboxNewUpsellModals = 'InboxNewUpsellModals',
29     NewCancellationFlowUpsell = 'NewCancellationFlowUpsell',
30     ScribeAdminSetting = 'ScribeAdminSetting',
31     WalletRbf = 'WalletRbf',
32     WalletAddressList = 'WalletAddressList',
33     WalletMinFee = 'WalletMinFee',
34     WalletAztecoWeb = 'WalletAztecoWeb',
37 enum AccountFlag {
38     MagicLink = 'MagicLink',
39     PersistedState = 'PersistedState',
40     MailTrialOffer = 'MailTrialOffer',
41     DriveTrialOffer = 'DriveTrialOffer',
42     MaintenanceImporter = 'MaintenanceImporter',
43     VisionarySignup = 'VisionarySignup',
44     BreachesAccountDashboard = 'BreachesAccountDashboard',
45     NewCancellationFlow = 'NewCancellationFlow',
46     B2BLogsPass = 'B2BLogsPass',
47     UnprivatizeMember = 'UnprivatizeMember',
48     B2BLogsVPN = 'B2BLogsVPN',
49     WalletAppSwitcherNewBadge = 'WalletAppSwitcherNewBadge',
50     UserGroupsPermissionCheck = 'UserGroupsPermissionCheck',
51     UserGroupsMembersPermissionCheck = 'UserGroupsMembersPermissionCheck',
52     B2BAuthenticationLogs = 'B2BAuthenticationLogs',
53     GlobalSSO = 'GlobalSSO',
54     EasySwitchConsentExperiment = 'EasySwitchConsentExperiment',
57 enum PaymentsFlag {
58     AllowDowncycling = 'AllowDowncycling',
59     SepaPayments = 'SepaPayments',
62 enum CalendarFeatureFlag {
63     EditSingleOccurrenceWeb = 'EditSingleOccurrenceWeb',
64     VideoConferenceWidget = 'VideoConferenceWidget',
65     CalendarRedux = 'CalendarRedux',
66     // CancelSingleOccurrenceWeb = 'CancelSingleOccurrenceWeb', removed with proton-calendar@5.0.21.0, can be removed from Unleash when FU'd
67     ZoomIntegration = 'ZoomIntegration',
70 enum DriveFeatureFlag {
71     // Photos
72     DrivePhotos = 'DrivePhotos',
73     DrivePhotosUploadDisabled = 'DrivePhotosUploadDisabled',
74     // Sharing
75     DriveSharingInvitations = 'DriveSharingInvitations',
76     DriveSharingDisabled = 'DriveSharingDisabled',
77     DriveSharingEditingDisabled = 'DriveSharingEditingDisabled',
78     DriveSharingDevelopment = 'DriveSharingDevelopment',
79     DriveExternalInvitationsDisabled = 'DriveSharingExternalInvitationsDisabled',
80     DriveExternalInvitations = 'DriveSharingExternalInvitations',
81     // Download
82     DriveDownloadScan = 'DriveDownloadScan',
83     DriveDownloadScanDisabled = 'DriveDownloadScanDisabled',
84     // Bookmarks
85     DriveShareURLBookmarking = 'DriveShareURLBookmarking',
86     DriveShareURLBookmarksDisabled = 'DriveShareURLBookmarksDisabled',
87     DriveWebShareURLSignupModal = 'DriveWebShareURLSignupModal',
88     // New onboarding
89     DriveWebOnboardingV2 = 'DriveWebOnboardingV2',
90     // Temp
91     DriveDecryptionErrorDebugging = 'DriveDecryptionErrorDebugging',
92     // B2B
93     DriveB2BPhotosUpload = 'DriveB2BPhotosUpload',
96 enum DocsFeatureFlag {
97     // General
98     DriveDocs = 'DriveDocs',
99     DriveDocsDisabled = 'DriveDocsDisabled',
100     DocsAppSwitcher = 'DocsAppSwitcher',
101     // Comments
102     DocsEnableNotificationsOnNewComment = 'DocsEnableNotificationsOnNewComment',
103     // Landing page
104     DriveDocsLandingPageEnabled = 'DriveDocsLandingPageEnabled',
105     // Public sharing
106     DriveDocsPublicSharing = 'DriveDocsPublicSharing',
107     DriveDocsPublicSharingDisabled = 'DriveDocsPublicSharingDisabled',
108     // Suggestions
109     DriveDocsSuggestionModeEnabled = 'DriveDocsSuggestionModeEnabled',
110     DocsSuggestionsDisabled = 'DocsSuggestionsDisabled',
113 enum MailFeatureFlag {
114     AttachmentThumbnails = 'AttachmentThumbnails',
115     WebMailPageSizeSetting = 'WebMailPageSizeSetting',
116     SelectAll = 'SelectAll',
117     SelectAllOptimistic = 'SelectAllOptimistic',
118     ComposerAssistant = 'ComposerAssistant',
119     ComposerAssistantFormatting = 'ComposerAssistantFormatting',
120     WalletRightSidebarLink = 'WalletRightSidebarLink',
121     ProtonTips = 'ProtonTips',
122     MailOnboarding = 'MailOnboarding',
123     ReplayOnboardingModal = 'ReplayOnboardingModal',
126 enum AdminFeatureFlag {
127     UserSecurityModal = 'UserSecurityModal',
130 export type FeatureFlag =
131     | `${CommonFeatureFlag}`
132     | `${AccountFlag}`
133     | `${PaymentsFlag}`
134     | `${CalendarFeatureFlag}`
135     | `${DriveFeatureFlag}`
136     | `${DocsFeatureFlag}`
137     | `${MailFeatureFlag}`
138     | `${AdminFeatureFlag}`;