Skip to content
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

Add runtime check to ensure feature flags are only overridden once #42825

Closed
wants to merge 5 commits into from

Conversation

rubennorte
Copy link
Contributor

Summary:
This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:

  • Common flags: the last override would win.
  • JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Feb 2, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

@analysis-bot
Copy link

analysis-bot commented Feb 2, 2024

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 17,233,419 +4,142
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 20,600,230 +4,129
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: e350859
Branch: main

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: ed225f16f4977ce0518ae058b3a46df147dec96b
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: cec84c850c61b8e5fb44b9a4edad25a2874bf8f9
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: f452c4263a2ac6192e90b2a43b620fdeb1bba51f
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 03d58eb43b5b9988b68337ea5828ba284d86cbd1
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 2135109c68d73fa0bb73ac8d71e8ba6641b0a9eb
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

bypass github-export-checks

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 73c901a73daf2924e821b3be288e381f1d0dc002
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

bypass-github-export-checks
(CI is broken on main)

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 5474213224cf0eaf43b0e702dd94fe688ce212e9
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

bypass-github-export-checks
(CI is broken on main)

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: b3f7775d834f430a162224081c3dadbd70902ad1
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

rubennorte added a commit to rubennorte/react-native that referenced this pull request Feb 5, 2024
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

bypass-github-export-checks
(CI is broken on main)

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 46e1494670f69205c28b291e6bd21a45026017df
rubennorte and others added 5 commits February 5, 2024 10:24
Differential Revision: D53416934

fbshipit-source-id: 0ebfa8cdcbf989aefc9dc679a381d85e53b59a3e
Differential Revision: D53351484

fbshipit-source-id: 0e647c6b67d6c5b2ed5802683d6b43691ec96fb4
Differential Revision: D53351483

fbshipit-source-id: eaa22ba078723ec21dcf30465fb23c91c8139420
Differential Revision: D53352391

fbshipit-source-id: 21ffc65c4a91854a05f2af70b2c2b33eed899880
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

bypass-github-export-checks
(CI is broken on main)

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: ff987cd323800a3786101a31b4dd3dc27294ce77
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D53360609

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Feb 5, 2024
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in fd6a6fe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants