dillon1000/react

Commit

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            │  '❌'  │ '🧪'  │
└───────────────────────────────────────────────┴────────┴───────┘
```
Browse files
Changed paths5 files
First-parent comparison
M packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-fb.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-oss.js ModifiedM packages/shared/forks/ReactFeatureFlags.test-renderer.native.js ModifiedM scripts/flow/xplat.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…