-
Notifications
You must be signed in to change notification settings - Fork 223
Update feature flag gating for extension templates #6758
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success3657 tests passing in 1428 suites. Report generated by 🧪jest coverage report action from 2b1c630 |
d9c7461 to
2a975f5
Compare
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
2a975f5 to
2b1c630
Compare

WHY are these changes introduced?
The current implementation uses
hasFeatureFlagwhich does not delegate to Experiments Platform -- it only uses Business Platform-native feature flags, which are deprecated. Per this Slack discussion, theenabledFlagsAPI does delegate to Verdict and should be used for new feature flags.However, we need to maintain backward compatibility with existing beta flags while enabling new templates to use Verdict-delegated flags. More on the reasoning for that here.
WHAT is this pull request doing?
This PR implements a dual flag strategy that allows gradual migration from legacy beta flags to modern exp flags:
Dual Flag System
organizationBetaFlags(Legacy) → UseshasFeatureFlagwithout Verdict delegationorganizationExpFlags(Modern) → UsesenabledFlagswith Verdict delegationNOTE That Business Platform doesn't dynamically retrieve ExP flags, so you'll still need to submit a PR to
organizationsflag seeds to track Verdict flags there.Templates can now specify either or both flag types:
Benefits:
How to test your changes?
Test with a custom templates.json file
I used this flag which is already rolled out to test. You want to use the short flag hash in
templates.json.You should see whichever template you've enabled by the flag show up!
Measuring impact
How do we know this change was effective? Please choose one:
Checklist