Samuel Susla
36b078cc7a
unify feature flags between fb and oss for React Native renderer (#28269)
# Affected flags:
### alwaysThrottleRetries
In RN OSS changed from `true` to `false`. This is what FB build uses.
This flag was a root cause for big perf regression internally.
### enableDeferRootSchedulingToMicrotask
In RN OSS build changed from `true` to `false`. This is what FB build
uses.
### debugRenderPhaseSideEffectsForStrictMode
Changed from true to __DEV__ in FB and OSS build. The flag is only used
in debug builds and was previously `false` in RN OSS builds
### enableUnifiedSyncLane
Changed from `__VARIANT__` to `true` in FB build. This is what OSS build
uses. This flag is shipped internally. cc @tyao1
### enableLegacyHidden
In RN FB changed from `true` to `false`. This is what OSS uses.
### allowConcurrentByDefault
In RN FB changed from `true` to `false`.
I ran `yarn flags --diff rn rn-fb` to get the difference between feature
flags and unify them.
## Before
```
yarn run v1.22.19
$ node ./scripts/flags/flags.js --diff rn rn-fb
┌───────────────────────────────────────────────┬────────┬───────┐
│ (index) │ RN OSS │ RN FB │
├───────────────────────────────────────────────┼────────┼───────┤
│ allowConcurrentByDefault │ '❌' │ '✅' │
│ debugRenderPhaseSideEffectsForStrictMode │ '❌' │ '✅' │
│ disableModulePatternComponents │ '❌' │ '✅' │
│ enableCPUSuspense │ '❌' │ '✅' │
│ enableCacheElement │ '❌' │ '✅' │
│ enableGetInspectorDataForInstanceInProduction │ '❌' │ '✅' │
│ enableLegacyHidden │ '❌' │ '✅' │
│ enableSchedulingProfiler │ '❌' │ '📊' │
│ enableUseDeferredValueInitialArg │ '❌' │ '✅' │
│ enableUseMemoCacheHook │ '❌' │ '✅' │
│ enableUseRefAccessWarning │ '❌' │ '🧪' │
│ passChildrenWhenCloningPersistedNodes │ '❌' │ '🧪' │
│ useMicrotasksForSchedulingInFabric │ '❌' │ '🧪' │
│ alwaysThrottleRetries │ '✅' │ '🧪' │
│ enableDeferRootSchedulingToMicrotask │ '✅' │ '🧪' │
│ enableUnifiedSyncLane │ '✅' │ '🧪' │
└───────────────────────────────────────────────┴────────┴───────┘
```
## After
```
yarn run v1.22.19
$ node ./scripts/flags/flags.js --diff rn rn-fb
┌───────────────────────────────────────────────┬────────┬───────┐
│ (index) │ RN OSS │ RN FB │
├───────────────────────────────────────────────┼────────┼───────┤
│ alwaysThrottleRetries │ '❌' │ '🧪' │
│ disableModulePatternComponents │ '❌' │ '✅' │
│ enableCPUSuspense │ '❌' │ '✅' │
│ enableCacheElement │ '❌' │ '✅' │
│ enableDeferRootSchedulingToMicrotask │ '❌' │ '🧪' │
│ enableGetInspectorDataForInstanceInProduction │ '❌' │ '✅' │
│ enableSchedulingProfiler │ '❌' │ '📊' │
│ enableUseDeferredValueInitialArg │ '❌' │ '✅' │
│ enableUseMemoCacheHook │ '❌' │ '✅' │
│ enableUseRefAccessWarning │ '❌' │ '🧪' │
│ passChildrenWhenCloningPersistedNodes │ '❌' │ '🧪' │
│ useMicrotasksForSchedulingInFabric │ '❌' │ '🧪' │
└───────────────────────────────────────────────┴────────┴───────┘
```
2024-02-09 09:46:42 +00:00
..
2023-06-23 16:45:53 +01:00
2023-01-31 08:25:05 -05:00
2023-10-31 23:32:31 -04:00
2023-04-19 10:05:16 +01:00
2024-02-08 17:10:19 -05:00
2022-10-18 11:19:24 -04:00
2023-11-01 15:24:06 -04:00
2024-01-30 23:15:50 -05:00
2024-02-09 09:46:42 +00:00
2015-09-01 14:35:47 -07:00
2024-02-06 12:43:27 -05:00
2022-10-18 11:19:24 -04:00
2023-10-31 23:32:31 -04:00
2023-12-08 16:21:15 -05:00
2023-11-16 11:35:43 +00:00
2024-02-02 13:37:48 -08:00
2024-01-16 19:58:11 -05:00
2023-02-21 21:30:34 +01:00