-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: viewable navigator in settings to testers and developers to view viewable feature flags #21639
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
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
ff74a75 to
58d51c8
Compare
| @@ -0,0 +1,443 @@ | |||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't disable eslint rules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using unknown resolves this
| ...GeneralSettings.navigationOptions, | ||
| }} | ||
| /> | ||
| <Stack.Screen |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we only initialize this stack if not production?
| @@ -0,0 +1,174 @@ | |||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't disable the usage of any
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resolved with unknown
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove the disable?
app/contexts/README.md
Outdated
| @@ -0,0 +1,133 @@ | |||
| # Feature Flag Override Context | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think we need this documentation for the feature, its self explanatory, wdyt?
If you think otherwise, we should change the name of the file to reflect what it is
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will remove
| @@ -0,0 +1,456 @@ | |||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't disable lint rules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enabled rule again
app/util/feature-flags/index.ts
Outdated
| @@ -0,0 +1,76 @@ | |||
| /* eslint-disable @typescript-eslint/no-explicit-any */ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't disable lint rules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
converted to unknown
| ...GeneralSettings.navigationOptions, | ||
| }} | ||
| /> | ||
| {process.env.MM_ENABLE_FEATURE_FLAG_OVERRIDE === 'true' && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this true for rc builds?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just prod builds updated
dc9b8c1 to
2b23355
Compare
018cb86 to
35aabbb
Compare
35aabbb to
28f1905
Compare
- Reverted all language files except en.json to main branch state - Kept only the feature_flag_override additions in en.json
| thumbColor={theme.brandColors.white} | ||
| ios_backgroundColor={theme.colors.border.muted} | ||
| /> | ||
| ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Boolean Switch Component Unintentionally Disabled
The Switch component for boolean feature flags is unexpectedly disabled, preventing users from toggling them. This makes the onValueChange handler unreachable and defeats the purpose of overriding boolean flags, which tests expect to be functional. This behavior differs from the boolean with minimumVersion type, where the disabled prop is intentionally commented out with a TODO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this PR is for read only currently
|



Description
This PR is to show users the fetched feature flags that they pulled from the launch darkly api.
Changelog
CHANGELOG entry: added viewable navigator in settings to testers and developers to view release flag
Related issues
Fixes: #21768
Manual testing steps
Screenshots/Recordings
Before
no feature flag override page as it did not exist
After
preview-demo-feature-flag-override.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Adds a non‑production Feature Flag Override screen with override management, wired into Settings/navigation, backed by a new context, hook, and utilities, with tests and i18n updates.
Views/FeatureFlagOverridescreen to list/search/filter flags and edit/reset overrides; displays stats viauseFeatureFlagStats.Routes.FEATURE_FLAG_OVERRIDEand conditionally addFeatureFlagOverridescreen and Settings drawer item (non‑production only).FeatureFlagOverrideProvidercontext for managing overrides (set/remove/clear, apply, count) and expose processedFeatureFlagInfolist.FeatureFlagOverrideProvider.useFeatureFlagStatshook for flag type counts.getFeatureFlagType,getFeatureFlagDescription,isMinimumRequiredVersionSupported.Written by Cursor Bugbot for commit b80c37a. This will update automatically on new commits. Configure here.