This repository was archived by the owner on Jul 9, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 374
feat: Adding feature flag infrastructure #4428
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…d feature flag toggle per new designs.
hatpick
reviewed
Oct 19, 2020
Composer/packages/client/src/pages/setting/app-settings/FeatureFlagToggle.tsx
Outdated
Show resolved
Hide resolved
Composer/packages/lib/shared/src/featureFlagUtils/DefaultFeatureFlags.ts
Outdated
Show resolved
Hide resolved
Composer/packages/client/src/pages/setting/app-settings/AppSettings.tsx
Outdated
Show resolved
Hide resolved
Composer/packages/client/src/recoilModel/dispatchers/storage.ts
Outdated
Show resolved
Hide resolved
hatpick
reviewed
Oct 20, 2020
srinaath
reviewed
Oct 20, 2020
hatpick
reviewed
Oct 20, 2020
Composer/packages/client/src/pages/setting/app-settings/SettingToggle.tsx
Outdated
Show resolved
Hide resolved
Composer/packages/client/src/pages/setting/app-settings/AppSettings.tsx
Outdated
Show resolved
Hide resolved
Contributor
|
Are you planning to allow grouping on the feature flags (according to UX)? |
… hook for filtered templates, replaced env variable featue flag with new feature flag
…ture flag hook for reuse, type and name fixes
Contributor
Author
Not for the first implementation and design is okay with that. I will create a task for this in the R12 bucket for tracking |
This was
linked to
issues
Oct 23, 2020
autogenerated file updates
cwhitten
approved these changes
Oct 24, 2020
Merged
lei9444
pushed a commit
to lei9444/BotFramework-Composer-1
that referenced
this pull request
Jun 15, 2021
* initial front end feature flag implementation * Initial server implementation * Converting state to object over array * Cleaning up dev test changes * created HOC to abstract feature flag checking for UI features. Changed feature flag toggle per new designs. * Added feature flag value population for hidden feature flags via env variables * Making PR changes: variable and file name changes, general clean up, simplifying types * adding format message for feature flag strings * moving ComposerFeature HOC to client workspace so it is implicitly aware of recoil state * changed default feature flags to function for format message, created hook for filtered templates, replaced env variable featue flag with new feature flag * adding selector for feature flag filtered template state, created feature flag hook for reuse, type and name fixes * removing unneeded div * Adding util functions and reusing hook in HOC * Updating UI for electron and web view of feature flag toggle per design spec * Added feature flag documentation * removing unused imports and variables * Updated unit tests, added build locale autogenerated file updates Co-authored-by: Patrick Volum <[email protected]> Co-authored-by: Chris Whitten <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a feature flag implementation that allows developers to put preview and in development features behind configurable flags.
This PR consists of three groups of changes:
Adding a feature Flag
@bfc/shared: DefaultFeatureFlags.tsand indicate the name, description, default boolean value and type (hidden vs not hidden) of your feature flaghiddenattribute is used to indicate whether this feature can be turned on/off by the end user through Composer UI. I feature flag that hashidden: truedoes not get rendered for front end toggling and are configurable instead through env variables.<Feature featureFlagMap={featureFlagMap} featureFlagName="Show Tutorial"><NewFeature /> </Feature>getFeatureFlagValue(featureFlagName, featureFlagMap)Feature flag flow
User flow when working with feature flags:
Task Item
Current:
fixes #4291
fixes #4427
fixes #4426
fixes #4425
Screenshots
Electron app settings

Web app app settings
