Skip to content

Commit 1b18c78

Browse files
committed
Resolve review feedback
1 parent 46a51ac commit 1b18c78

File tree

6 files changed

+15
-12
lines changed

6 files changed

+15
-12
lines changed

apps/web/src/app/admin-console/organizations/members/components/member-dialog/member-dialog.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ export class MemberDialogComponent implements OnDestroy {
218218
groups: groups$,
219219
flexibleCollectionsV1Enabled: this.configService.getFeatureFlag$(
220220
FeatureFlag.FlexibleCollectionsV1,
221-
false,
222221
),
223222
})
224223
.pipe(takeUntil(this.destroy$))

bitwarden_license/bit-web/src/app/admin-console/providers/settings/account.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ export class AccountComponent {
3030

3131
protected enableDeleteProvider$ = this.configService.getFeatureFlag$(
3232
FeatureFlag.EnableDeleteProvider,
33-
false,
3433
);
3534

3635
constructor(

bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup.component.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ export class SetupComponent implements OnInit {
4040

4141
protected enableConsolidatedBilling$ = this.configService.getFeatureFlag$(
4242
FeatureFlag.EnableConsolidatedBilling,
43-
false,
4443
);
4544

4645
constructor(

libs/common/src/enums/feature-flag.enum.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/**
2+
* Feature flags.
3+
*
4+
* Flags MUST be short lived and SHALL be removed once enabled.
5+
*/
16
export enum FeatureFlag {
27
BrowserFilelessImport = "browser-fileless-import",
38
ItemShare = "item-share",
@@ -21,7 +26,8 @@ const FALSE = false as boolean;
2126
/**
2227
* Default value for feature flags.
2328
*
24-
* Flags MUST be short lived and SHALL be removed once enabled.
29+
* DO NOT enable previously disabled flags, REMOVE them instead.
30+
* We support true as a value as we prefer flags to "enable" not "disable".
2531
*/
2632
export const DefaultFeatureFlagValue = {
2733
[FeatureFlag.BrowserFilelessImport]: FALSE,
@@ -34,8 +40,10 @@ export const DefaultFeatureFlagValue = {
3440
[FeatureFlag.ShowPaymentMethodWarningBanners]: FALSE,
3541
[FeatureFlag.EnableConsolidatedBilling]: FALSE,
3642
[FeatureFlag.AC1795_UpdatedSubscriptionStatusSection]: FALSE,
43+
[FeatureFlag.UnassignedItemsBanner]: FALSE,
44+
[FeatureFlag.EnableDeleteProvider]: FALSE,
3745
} satisfies Record<FeatureFlag, AllowedFeatureFlagTypes>;
3846

3947
export type DefaultFeatureFlagValueType = typeof DefaultFeatureFlagValue;
4048

41-
export type FeatureFlagType<Flag extends FeatureFlag> = DefaultFeatureFlagValueType[Flag];
49+
export type FeatureFlagValueType<Flag extends FeatureFlag> = DefaultFeatureFlagValueType[Flag];

libs/common/src/platform/abstractions/config/config.service.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Observable } from "rxjs";
22
import { SemVer } from "semver";
33

4-
import { FeatureFlag, FeatureFlagType } from "../../../enums/feature-flag.enum";
4+
import { FeatureFlag, FeatureFlagValueType } from "../../../enums/feature-flag.enum";
55
import { Region } from "../environment.service";
66

77
import { ServerConfig } from "./server-config";
@@ -14,17 +14,15 @@ export abstract class ConfigService {
1414
/**
1515
* Retrieves the value of a feature flag for the currently active user
1616
* @param key The feature flag to retrieve
17-
* @param defaultValue The default value to return if the feature flag is not set or the server's config is irretrievable
1817
* @returns An observable that emits the value of the feature flag, updates as the server config changes
1918
*/
20-
getFeatureFlag$: <Flag extends FeatureFlag>(key: Flag) => Observable<FeatureFlagType<Flag>>;
19+
getFeatureFlag$: <Flag extends FeatureFlag>(key: Flag) => Observable<FeatureFlagValueType<Flag>>;
2120
/**
2221
* Retrieves the value of a feature flag for the currently active user
2322
* @param key The feature flag to retrieve
24-
* @param defaultValue The default value to return if the feature flag is not set or the server's config is irretrievable
2523
* @returns The value of the feature flag
2624
*/
27-
getFeatureFlag: <Flag extends FeatureFlag>(key: Flag) => Promise<FeatureFlagType<Flag>>;
25+
getFeatureFlag: <Flag extends FeatureFlag>(key: Flag) => Promise<FeatureFlagValueType<Flag>>;
2826
/**
2927
* Verifies whether the server version meets the minimum required version
3028
* @param minimumRequiredServerVersion The minimum version required

libs/common/src/platform/services/config/default-config.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { SemVer } from "semver";
1616
import {
1717
DefaultFeatureFlagValue,
1818
FeatureFlag,
19-
FeatureFlagType,
19+
FeatureFlagValueType,
2020
} from "../../../enums/feature-flag.enum";
2121
import { UserId } from "../../../types/guid";
2222
import { ConfigApiServiceAbstraction } from "../../abstractions/config/config-api.service.abstraction";
@@ -101,7 +101,7 @@ export class DefaultConfigService implements ConfigService {
101101
return DefaultFeatureFlagValue[key];
102102
}
103103

104-
return serverConfig.featureStates[key] as FeatureFlagType<Flag>;
104+
return serverConfig.featureStates[key] as FeatureFlagValueType<Flag>;
105105
}),
106106
);
107107
}

0 commit comments

Comments
 (0)