mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
103ec2f770dbb785ef4bc26f8662c74edded796a
17645 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
103ec2f770 |
Fix Dimensions for ComponentScript
Summary: ComponentScript uses Dimensions, but doesn't support native modules, so we need to keep the `nativeExtensions` stuff that was dropped in D16525189. Reviewed By: PeteTheHeat Differential Revision: D16611233 fbshipit-source-id: c0add40529743e02ab7943814dc9f2188e8e0633 |
||
|
|
0a68763743 |
Add explicit useNativeDriver: false to callsites
Summary: In order to cleanup the callsites that are not using Animated's native driver, we are going to make useNativeDriver a required option so people have to think about whether they want the native driver or not. I made this change by changing [Animated.js](https://fburl.com/ritcebri) to have this animation config type: ``` export type AnimationConfig = { isInteraction?: boolean, useNativeDriver: true, onComplete?: ?EndCallback, iterations?: number, }; ``` This causes Flow to error anywhere where useNativeDriver isn't set or where it is set to false. I then used these Flow errors to codemod the callsites. I got the location of the Flow errors by running: ``` flow status --strip-root --json --message-width=0 | jq '.errors | [.[].extra | .[].message | .[].loc | objects | {source: .source, start: .start, end: .end}]' ``` And then ran this codemod: ``` const json = JSON.parse('JSON RESULT FROM FLOW'); const fileLookup = new Map(); json.forEach(item => { if (!fileLookup.has(item.source)) { fileLookup.set(item.source, []); } fileLookup.get(item.source).push(item); }); export default function transformer(file, api) { const j = api.jscodeshift; const filePath = file.path; if (!fileLookup.has(filePath)) { return; } const locationInfo = fileLookup.get(filePath); return j(file.source) .find(j.ObjectExpression) .forEach(path => { if ( path.node.properties.some( property => property != null && property.key != null && property.key.name === 'useNativeDriver', ) ) { return; } const hasErrorOnLine = locationInfo.some( singleLocationInfo => singleLocationInfo.start.line === path.node.loc.start.line && Math.abs( singleLocationInfo.start.column - path.node.loc.start.column, ) <= 2, ); if (!hasErrorOnLine) { return; } path.node.properties.push( j.property( 'init', j.identifier('useNativeDriver'), j.booleanLiteral(false), ), ); }) .toSource(); } export const parser = 'flow'; ``` ``` yarn jscodeshift --parser=flow --transform addUseNativeDriver.js RKJSModules react-native-github ``` Followed up with ``` hg status -n --change . | xargs js1 prettier ``` Reviewed By: mdvacca Differential Revision: D16611291 fbshipit-source-id: 1157587416ec7603d1a59e1fad6a821f1f57b952 |
||
|
|
2a8c188701 |
Delete jsi::Functions before jsi::Runtime gets deleted
Summary: ## The Problem 1. `CatalystInstanceImpl` indirectly holds on to the `jsi::Runtime`. When you destroy `CatalystInstanceImpl`, you destroy the `jsi::Runtime`. As a part of reloading React Native, we destroy and re-create `CatalystInstanceImpl`, which destroys and re-creates the `jsi::Runtime`. 2. When JS passes in a callback to a TurboModule method, we take that callback (a `jsi::Function`) and wrap it in a Java `Callback` (implemented by `JCxxCallbackImpl`). This Java `Callback`, when executed, schedules the `jsi::Function` to be invoked on a Java thread at a later point in time. **Note:** The Java NativeModule can hold on to the Java `Callback` (and, by transitivity, the `jsi::Function`) for potentially forever. 3. It is a requirement of `jsi::Runtime` that all objects associated with the Runtime (ex: `jsi::Function`) must be destroyed before the Runtime itself is destroyed. See: https://fburl.com/m3mqk6wt ### jsi.h ``` /// .................................................... In addition, to /// make shutdown safe, destruction of objects associated with the Runtime /// must be destroyed before the Runtime is destroyed, or from the /// destructor of a managed HostObject or HostFunction. Informally, this /// means that the main source of unsafe behavior is to hold a jsi object /// in a non-Runtime-managed object, and not clean it up before the Runtime /// is shut down. If your lifecycle is such that avoiding this is hard, /// you will probably need to do use your own locks. class Runtime { public: virtual ~Runtime(); ``` Therefore, when you delete `CatalystInstanceImpl`, you could end up with a situation where the `jsi::Runtime` is destroyed before all `jsi::Function`s are destroyed. In dev, this leads the program to crash when you reload the app after having used a TurboModule method that uses callbacks. ## The Solution If the only reference to a `HostObject` or a `HostFunction` is in the JS Heap, then the `HostObject` and `HostFunction` destructors can destroy JSI objects. The TurboModule cache is the only thing, aside from the JS Heap, that holds a reference to all C++ TurboModules. But that cache (and the entire native side of `TurboModuleManager`) is destroyed when we call `mHybridData.resetNative()` in `TurboModuleManager.onCatalystInstanceDestroy()` in D16552730. (I verified this by commenting out `mHybridData.resetNative()` and placing a breakpoint in the destructor of `JavaTurboModule`). So, when we're cleaning up `TurboModuleManager`, the only reference to a Java TurboModule is the JS Heap. Therefore, it's safe and correct for us to destroy all `jsi::Function`s created by the Java TurboModule in `~JavaTurboModule`. So, in this diff, I keep a set of all `CallbackWrappers`, and explicitly call `destroy()` on them in the `JavaTurboModule` destructor. Note that since `~JavaTurboModule` accesses `callbackWrappers_`, it must be executed on the JS Thread, since `createJavaCallbackFromJSIFunction` also accesses `callbackWrappers_` on the JS Thread. For additional safety, I also eagerly destroyed the `jsi::Function` after it's been invoked once. I'm not yet sure if we only want JS callbacks to only ever be invoked once. So, I've created a Task to document this work: T48128233. Reviewed By: mhorowitz Differential Revision: D16589168 fbshipit-source-id: a1c0786999c22bef55d416beb0fc40261447a807 |
||
|
|
88e03fa4db |
Move ownership of TurboModule jni ref to JavaTurboModule
Summary: When you create a TurboModule from the JS side, we instantiate its Java class and simply make this `javaobject` a `jni::global_ref` in C++. But the reason why we need to make this a global ref is because `JavaTurboModule` needs it to be a global reference for method calls. Making this a `jni::global_ref` from the perspective to TurboModuleManager doesn't really make any sense. So, this diff refactors that bit of code. Reviewed By: mdvacca Differential Revision: D16555673 fbshipit-source-id: 2778fc5a372c41847e8296c2e22bb9a8826fcc52 |
||
|
|
e6c8ace576 |
Perform cleanup when ReactApplicationContext is destroyed
Summary: ## Description When we reload the app, `ReactApplicationContext.destroy()` is called. This method calls `CatalystInstanceImpl.destroy()`, which (on the NativeModules thread) calls `NativeModuleRegistry.notifyJSInstanceDestroy()`, which loops over all its `ModuleHolder`s, and calls `ModuleHolder.destroy()`, each of which call their NativeModule's `onCatalystInstanceDestroy()` method. TurboModuleManager is a `JSIModule`, so it also has its `onCatalystInstanceDestroy()` method called when the `ReactApplicationContext` is destroyed. But `TurboModuleManager.onCatalystInstanceDestroy()` doesn't do anything. Instead, at the very least, it should call `onCatalystInstanceDestroy()` of all NativeModules. Reviewed By: mdvacca Differential Revision: D16552730 fbshipit-source-id: 04459185262e92d69570facb368578a848cc5fdb |
||
|
|
e876cc68e7 |
Make TurboModules long-lived on Android
Summary: On iOS, calling the `__turboModuleProxy` function with the same name returns the same instance of the TurboModule. Adding this behaviour to Andorid as well. Reviewed By: mdvacca Differential Revision: D16553363 fbshipit-source-id: c95e150d6967604a808cfb49877b7a633e33d729 |
||
|
|
a6fffb7cd0 |
Add runtime behavior to codegenNativeCommands
Summary: Previously codegenNativeCommands was just a hint to the babel transform. This meant that in order to use the codegen'd JS command functions it required having the babel transform turned on. We aren't ready to turn the transform on for open source so we are adding runtime behavior to the function that will run when it isn't replaced with the transform. Reviewed By: rickhanlonii Differential Revision: D16574781 fbshipit-source-id: 583e8857f69ae1695445ee887432d15248dd35a9 |
||
|
|
b526f66c19 |
Back out "Back out "[RNCodegen] codegenNativeCommands takes list of supported commands""
Summary: Original commit changeset: 34a8f8395ca7 The problem with the original commit was the usage of optional chaining. This diff removes the usage of optional chaining with good old fashioned null checks. Reviewed By: rickhanlonii Differential Revision: D16593623 fbshipit-source-id: d24cc40c85de9a2e712e5de19e9deb196003ccf2 |
||
|
|
a84a62834c |
Fix lint in MountingManager
Summary: This fixes the lint that was broken by D16543439 Reviewed By: fkgozali Differential Revision: D16607092 fbshipit-source-id: 70c3989d25f446ffe0877e58253acef5ada8e010 |
||
|
|
094a9b585d |
Add e2e tests and bunch of improvements for codegen
Summary: This diff contains bunch of minor and straightforward fixes which need to be shipped together. They are all related to integrating objCpp codegen and compiling examples. #Facebook I explain in comments my thoughts Reviewed By: RSNara Differential Revision: D16520560 fbshipit-source-id: 15392017a92f5a7ec5da71b552ec6c6904625a86 |
||
|
|
1054930d45 |
Remove ViewPooling from Fabric Android
Summary: View Pooling is not currently being used in Fabric Android, this diff removes all the extra abstractions that are being used becuase of the unused ViewPooling. We might add this in the future when we re-implement view correctly. Reviewed By: JoshuaGross Differential Revision: D16543439 fbshipit-source-id: f41b6e02fddc36c7ef7a1052399d2e6b2041fcfb |
||
|
|
0e8d571298 |
Remove duplicate category implementation
Summary: Duplicate category method implementations cause undefined behavior in Objective-C; one is chosen essentially at random. The linker also issues a noisy warning about this (which is how I noticed this case). It didn't matter in this particular case since both implementations do the same thing, but we should clean this up so people don't get desensitized to these linker warnings. There is no need to have two implementations. Reviewed By: fkgozali Differential Revision: D16587219 fbshipit-source-id: 56dc3493735443c476484092f4a7eacfcddee8cb |
||
|
|
c36737204e |
Added counts for measure callbacks reasons in an array inside qpl annotations
Summary: Added an array to maintain the counts of each of the reason of measure callbacks and this is now added as qpl metadata in Layout Calculation qpl event Reviewed By: davidaurelio Differential Revision: D16516379 fbshipit-source-id: 201c5d2463f0a921841a0bbfec8f4d5e007000c8 |
||
|
|
6ce985463b |
create two layout pass reason flexLayout and flexMeasure instead of flex
Summary: We had flex as a reason for both layout and measure. Now creating separating reason flexLayout and flexMeasure in this diff. Also changed ordering of items in Enum to group layout and measure reasons Reviewed By: davidaurelio Differential Revision: D16562350 fbshipit-source-id: 75501f9d4dde0974009193b3991a8acc97b02ad0 |
||
|
|
678d5f7cd1 |
Back out "[RNCodegen] codegenNativeCommands takes list of supported commands"
Summary: Original commit changeset: 189754a567a3 Reviewed By: rickhanlonii Differential Revision: D16586885 fbshipit-source-id: 34a8f8395ca73e190ccf0242f02626094f6d87b6 |
||
|
|
bc2b52d22c |
Enable Starting Sampling profile at App Startup
Summary: In Dev Settings, we used to have an `Start Sampling Profiler on init` option, which was defunct. This diff re-enables that option. We can now start the Sampling Profiler on app start Reviewed By: yinghuitan Differential Revision: D7022382 fbshipit-source-id: 1db85d8a324e401c71187ba5871a91abcc18acf9 |
||
|
|
14edd5d634 |
Break retain cycle in RCTScrollViewComponentView
Summary: Breaks cycle by making self weak and storing delegates weakly. Reviewed By: fkgozali Differential Revision: D16579754 fbshipit-source-id: 17174b0e91898a14a86b8b44677090be3044382d |
||
|
|
6764385c80 |
Type StackFrame fields as nullable
Summary: `parseErrorStack` (which uses the `stacktrace-parser` package) can return null file names, line numbers and column numbers. This diff updates the associated types and adds explicit null checks in some call sites. Reviewed By: rickhanlonii Differential Revision: D16542176 fbshipit-source-id: b72c73c05b95df0bbcb5b5baa7bc2d42cff1e074 |
||
|
|
e85cd6cd02 |
Only use IntentAndroid on android
Summary:
For other platforms such as React VR it doesn't make sense to use `IntentAndroid` native module and it should use `LinkingManager` instead.
The code used to be:
```
const LinkingManager =
Platform.OS === 'android'
? NativeModules.IntentAndroid
: NativeModules.LinkingManager;
```
This diff changes the behaviour back to what it used to be.
Reviewed By: cpojer
Differential Revision: D16561073
fbshipit-source-id: 544551f8ff1affca5a71835133e8a9e7abc75e1a
|
||
|
|
d8f1161c8a |
Improvement to lazy view config loading
Summary: While adding support for this to React VR I noticed that `viewConfig.Manager` was `undefined` which meant that the view config never get assigned to the `viewManagerConfigs` object and caused errors later on. This change makes it so that even if `viewConfig.Manager` is not set the viewConfig still gets added to the `viewManagerConfigs` object. Reviewed By: rickhanlonii Differential Revision: D16560992 fbshipit-source-id: 626dc133602b142caff60f41d043d02968e6ccfc |
||
|
|
2dadb9e2b0 |
Move React error message formatting into ExceptionsManager
Summary: # Context In https://github.com/facebook/react/pull/16141 we imported `ReactFiberErrorDialog` unchanged from React. That implementation was not idempotent: if passed the same error instance multiple times, it would amend its `message` property every time, eventually leading to bloat and low-signal logs. The message bloat problem is most evident when rendering multiple `lazy()` components that expose the same Error reference to React (e.g. due to some cache that vends the same rejected Promise multiple times). More broadly, there's a need for structured, machine-readable logging to replace stringly-typed interfaces in both the production and development use cases. # This diff * We leave the user-supplied `message` field intact and instead do all the formatting inside `ExceptionsManager`. To avoid needless complexity, this **doesn't** always have the exact same output as the old code (but it does come close). See tests for the specifics. * The only mutation we do on React-captured error instances is setting the `componentStack` expando property. This replaces any previously-captured component stack rather than adding to it, and so doesn't create bloat. * We also report the exception fields `componentStack`, unformatted `message` (as `originalMessage`) and `name` directly to `NativeExceptionsManager` for future use. Reviewed By: cpojer Differential Revision: D16331228 fbshipit-source-id: 7b0539c2c83c7dd4e56db8508afcf367931ac71d |
||
|
|
d6d71810f9 |
Update ComponentDescriptorH to test all fixtures
Summary: This test didn't get updated to run over all the fixtures like the others Reviewed By: JoshuaGross Differential Revision: D16501494 fbshipit-source-id: 4a68d60819701a9de7f1da22a66ccf807cc4490f |
||
|
|
8f055a0f8e |
Unify naming of dispatchCommand methods in UIManagerDelegate and Scheduler
Summary: This diff changes the name of the DispatchCommand methods in the UIManagerDelegate and Scheduler classes. The purpose of this change is to use a consistent naming with the rest of the methods od these classes. We might re-name these interfaces later, but for now we want to keep a consistent naming. For more details see discussion in D16543437 Reviewed By: JoshuaGross Differential Revision: D16575403 fbshipit-source-id: 8335be8dc3367372a8ef2d7e8ed78665f4c02699 |
||
|
|
c46353abe4 |
Force FbReactInstanceManagerAppJob.IdleExecutor to run in the UIThread
Summary: `createReactContextInBackground` must be run on the UI Thread, so we update the DI annotation from `DefaultIdleExecutor` to `ForUiThread` so that happens. Unclear why Infer didn't flag this. Asked [here](https://fb.workplace.com/groups/572076376174315/permalink/2661423100572955/). Also adds an additional thread assert before setting `mHasStartedCreatingInitialContext = true` so that if a similar bug happens in the future, RN won't be completely hosed. Reviewed By: mdvacca Differential Revision: D16574901 fbshipit-source-id: 02ba63979904e9df9ef6d782aa7379cb44702508 |
||
|
|
f161583713 |
codegenNativeCommands takes list of supported commands
Summary: We want to enable codegenNativeCommands to have a runtime fallback that will work if the babel transform is not enabled. For example, in open source until we turn it on everywhere. By listing the supported commands, we can create the necessary functions at runtime to support what we need. A follow up diff will add that runtime behavior to codegenNativeCommands. Reviewed By: JoshuaGross Differential Revision: D16573450 fbshipit-source-id: 189754a567a3a5ccd34629a8dfedf808e6824e82 |
||
|
|
b5f7b42f06 |
Commands JS output, fix UIManager method name
Summary: This name was incorrect and didn't exist Reviewed By: JoshuaGross Differential Revision: D16528973 fbshipit-source-id: 92b874a2b023ff89ddc4312477ab8c91c0ef2cf6 |
||
|
|
40e8a5f685 |
React sync for revisions ec6691a...55bc393
Summary: This sync includes the following changes: - **[55bc393f7](https://github.com/facebook/react/^Cmmit/55bc393f7 )**: [Flare] Ensure we check for bad polyfill when creating responders (#16243) //<Dominic Gannaway>// - **[47656bf2a](https://github.com/facebook/react/^Cmmit/47656bf2a )**: [Flare] Remove longpress from press responder (#16242) //<Nicolas Gallagher>// - **[9914a1919](https://github.com/facebook/react/^Cmmit/9914a1919 )**: [Fresh] Transfer refs when remounting (#16241) //<Dan Abramov>// - **[75ab53b9e](https://github.com/facebook/react/^Cmmit/75ab53b9e )**: [scheduler] Yield many times per frame, no rAF (#16214) //<Andrew Clark>// - **[0d7141dd4](https://github.com/facebook/react/^Cmmit/0d7141dd4 )**: [Flare] Fix SSR issue with serializing responders prop (#16227) //<Dominic Gannaway>// - **[ed57bf8ed](https://github.com/facebook/react/^Cmmit/ed57bf8ed )**: [Bugfix] Check tag before calling hook effects (#16215) //<Andrew Clark>// - **[858c84206](https://github.com/facebook/react/^Cmmit/858c84206 )**: Don't hyphenate custom CSS properties for ReactDOMServer (#16167) //<Belmin Bedak>// - **[d412eec83](https://github.com/facebook/react/^Cmmit/d412eec83 )**: [act] flush work correctly without a mocked scheduler (#16223) //<Sunil Pai>// - **[b43785e15](https://github.com/facebook/react/^Cmmit/b43785e15 )**: Update use-subscription README (#16216) //<Sophie Alpert>// - **[c0830a0e6](https://github.com/facebook/react/^Cmmit/c0830a0e6 )**: [Scheduler] Test browser implementation details (#16198) //<Andrew Clark>// - **[857deb2ed](https://github.com/facebook/react/^Cmmit/857deb2ed )**: Warn when Using DefaultProps on Function Components (#16210) //<lunaruan>// - **[e0472709c](https://github.com/facebook/react/^Cmmit/e0472709c )**: [Flare] Adds Keyboard event responder (#16204) //<Dominic Gannaway>// - **[5b08f7b43](https://github.com/facebook/react/^Cmmit/5b08f7b43 )**: [Flare] Adds useListener implementation to ReactDebugHooks (#16205) //<Dominic Gannaway>// - **[ed72f4025](https://github.com/facebook/react/^Cmmit/ed72f4025 )**: [Flare] Remove references to EventComponent (#16206) //<Dominic Gannaway>// - **[121bfb03b](https://github.com/facebook/react/^Cmmit/121bfb03b )**: update legacy context warning message (#16196) //<Sunil Pai>// - **[9ae5e38f1](https://github.com/facebook/react/^Cmmit/9ae5e38f1 )**: Add guard to ensure Profiler onRender prop is function before calling (#16197) //<Brian Vaughn>// - **[144dba1a1](https://github.com/facebook/react/^Cmmit/144dba1a1 )**: Fix suspenseCallback type warning, add a test (#16194) //<Benoit Girard>// - **[7ad221126](https://github.com/facebook/react/^Cmmit/7ad221126 )**: [Flare] Ensure Flare components are no-ops for TestRenderer (#16192) //<Dominic Gannaway>// - **[06cc99699](https://github.com/facebook/react/^Cmmit/06cc99699 )**: Edit Suspense Priority Warning Message (#16186) //<lunaruan>// - **[42b75ab00](https://github.com/facebook/react/^Cmmit/42b75ab00 )**: Add suspenseCallback feature for runtime tracing of loading states (#16134) //<Benoit Girard>// - **[c73e1f236](https://github.com/facebook/react/^Cmmit/c73e1f236 )**: flush work on exiting outermost act(), with nested act()s from different renderers (#16181) //<Sunil Pai>// - **[509889119](https://github.com/facebook/react/^Cmmit/509889119 )**: [Flare] Redesign core event system (#16163) //<Dominic Gannaway>// - **[19354db51](https://github.com/facebook/react/^Cmmit/19354db51 )**: [Scheduler] Add names to inline functions (#16180) //<Andrew Clark>// - **[bff7abf6b](https://github.com/facebook/react/^Cmmit/bff7abf6b )**: [Scheduler][Bugfix] Multiple rAFs in same frame (#16184) //<Andrew Clark>// - **[afb599168](https://github.com/facebook/react/^Cmmit/afb599168 )**: Enable profiler+tracing for test renderer (#16178) //<Brian Vaughn>// - **[2237efcef](https://github.com/facebook/react/^Cmmit/2237efcef )**: [Fresh] Track unrecoverable errors (#16183) //<Dan Abramov>// - **[bbd21066e](https://github.com/facebook/react/^Cmmit/bbd21066e )**: [Flare] Press: fix keyboard interactions (#16179) //<Nicolas Gallagher>// - **[03944bfb0](https://github.com/facebook/react/^Cmmit/03944bfb0 )**: Update Suspense Priority Warning to Include Component that Triggered Update (#16030) //<lunaruan>// - **[3f2cafe8b](https://github.com/facebook/react/^Cmmit/3f2cafe8b )**: [WIP][Scheduler] Use rIC to post first callback (#16166) //<Andrew Clark>// - **[2bd88e38a](https://github.com/facebook/react/^Cmmit/2bd88e38a )**: [Scheduler] Bugfix: Cancelling a continuation (#16151) //<Andrew Clark>// - **[783b8f4ae](https://github.com/facebook/react/^Cmmit/783b8f4ae )**: [Flare] Ensure mouse events can use target to validate press (#16172) //<Dominic Gannaway>// - **[2c4d61e10](https://github.com/facebook/react/^Cmmit/2c4d61e10 )**: Adds experimental fundamental interface (#16049) //<Dominic Gannaway>// - **[b4178af81](https://github.com/facebook/react/^Cmmit/b4178af81 )**: clean up nextEffect pointers (#16115) //<Paul Shen>// - **[997154bcc](https://github.com/facebook/react/^Cmmit/997154bcc )**: [Flare] Add FocusWithin responder (#16152) //<Nicolas Gallagher>// - **[65b80fdd9](https://github.com/facebook/react/^Cmmit/65b80fdd9 )**: [Flare] Add Input event responder surface (#16148) //<Dominic Gannaway>// - **[ce883a19d](https://github.com/facebook/react/^Cmmit/ce883a19d )**: useSubscription hook (#15022) //<Brian Vaughn>// - **[c45c2c3a2](https://github.com/facebook/react/^Cmmit/c45c2c3a2 )**: Move ReactFiberErrorDialog RN fork into RN itself (#16141) //<Moti Zilberman>// - **[d9b4c55d5](https://github.com/facebook/react/^Cmmit/d9b4c55d5 )**: unify deprecated/unsafe lifecycle warnings, pass tests (#16103) //<Sunil Pai>// - **[424099da6](https://github.com/facebook/react/^Cmmit/424099da6 )**: Inject getCurrentFiber() function to DevTools (#16133) //<Brian Vaughn>// - **[9f395904c](https://github.com/facebook/react/^Cmmit/9f395904c )**: Inject ReactDebugCurrentFrame into DevTools so it can append component stacks to warnings in DEV mode (#16127) //<Brian Vaughn>// - **[fcff9c57b](https://github.com/facebook/react/^Cmmit/fcff9c57b )**: Add tail="hidden" option to SuspenseList (#16024) //<Sebastian Markbåge>// - **[8d413bf2c](https://github.com/facebook/react/^Cmmit/8d413bf2c )**: Remove React.error and React.warn (#16126) //<Brian Vaughn>// - **[ca4d78f9b](https://github.com/facebook/react/^Cmmit/ca4d78f9b )**: [Flare] Press: fix middle-click handling (#16114) //<Nicolas Gallagher>// - **[3f1dee09a](https://github.com/facebook/react/^Cmmit/3f1dee09a )**: expose act() sigil correctly for umd builds (#16110) //<Sunil Pai>// - **[b7669044d](https://github.com/facebook/react/^Cmmit/b7669044d )**: Use Map instead of object as map in ReactNativeComponentTree (#16107) //<Sebastian Markbåge>// - **[d2d9b1f70](https://github.com/facebook/react/^Cmmit/d2d9b1f70 )**: [Scheduler] Support inferring priority from stack (#16105) //<Andrew Clark>// - **[48f659447](https://github.com/facebook/react/^Cmmit/48f659447 )**: Add warning when single item or nested arrays are used with SuspenseList (#16094) //<Sebastian Markbåge>// - **[2073a7144](https://github.com/facebook/react/^Cmmit/2073a7144 )**: [Flare] Press includes button type (#16100) //<Nicolas Gallagher>// - **[23b8a2534](https://github.com/facebook/react/^Cmmit/23b8a2534 )**: [Flare] Remove responder flags to simplify logic (#16084) //<Dominic Gannaway>// - **[8533c0a16](https://github.com/facebook/react/^Cmmit/8533c0a16 )**: [Fabric] Add dispatchCommand to React Native renderers (#16085) //<Eli White>// - **[2253bc81d](https://github.com/facebook/react/^Cmmit/2253bc81d )**: [Flare] Switch from currentTarget model to responderTarget model (#16082) //<Dominic Gannaway>// - **[67e3f3fb6](https://github.com/facebook/react/^Cmmit/67e3f3fb6 )**: [Flare] Revise responder event types (#16081) //<Dominic Gannaway>// - **[2a0f6390e](https://github.com/facebook/react/^Cmmit/2a0f6390e )**: Fix typos (#16076) //<Min ho Kim>// - **[aa519c17c](https://github.com/facebook/react/^Cmmit/aa519c17c )**: [Flare] Add currentTarget and unify RN and DOM codepaths (#16066) //<Dominic Gannaway>// - **[35d2b3bb5](https://github.com/facebook/react/^Cmmit/35d2b3bb5 )**: fix spelling error: resoltion -> resolution (#16055) //<fnll>// - **[bd72b0493](https://github.com/facebook/react/^Cmmit/bd72b0493 )**: [Flare] Clear pressStart timeout on pointercancel (#16067) //<Vincent Riemer>// - **[c40075a72](https://github.com/facebook/react/^Cmmit/c40075a72 )**: [Flare] Remove capture phase Flare events (#16054) //<Dominic Gannaway>// - **[786186c69](https://github.com/facebook/react/^Cmmit/786186c69 )**: [Flare] createInitialState -> getInitialState (#16051) //<Dominic Gannaway>// - **[c64f40d71](https://github.com/facebook/react/^Cmmit/c64f40d71 )**: [Flare] Remove dead event target code (#16063) //<Dominic Gannaway>// - **[e6bfa327d](https://github.com/facebook/react/^Cmmit/e6bfa327d )**: [Flare] Cleanup ReactFiberEvents-test (#16047) //<Dominic Gannaway>// - **[b365ee281](https://github.com/facebook/react/^Cmmit/b365ee281 )**: [Fire] Remove unused React fire fork (#16046) //<Dominic Gannaway>// - **[b8f91e664](https://github.com/facebook/react/^Cmmit/b8f91e664 )**: [fail] reset IsThisRendererActing correctly (#16042) //<Sunil Pai>// - **[bd846459d](https://github.com/facebook/react/^Cmmit/bd846459d )**: [fail] Only warn on unacted effects for strict / non sync modes (#16041) //<Sunil Pai>// - **[6b946ad9d](https://github.com/facebook/react/^Cmmit/6b946ad9d )**: [Flare] Add more functionality to Scroll event resonder (#16036) //<Dominic Gannaway>// - **[a457e02ae](https://github.com/facebook/react/^Cmmit/a457e02ae )**: allow nested `act()`s from different renderers (#16039) //<Sunil Pai>// - **[a865e4a64](https://github.com/facebook/react/^Cmmit/a865e4a64 )**: Clone a custom hook node before use (#16019) //<Anton Korzunov>// - **[6cf2234a5](https://github.com/facebook/react/^Cmmit/6cf2234a5 )**: [Flare] Do not block mouse presses on scroll (#16033) //<Dominic Gannaway>// - **[5cb8f6f34](https://github.com/facebook/react/^Cmmit/5cb8f6f34 )**: Add tail="collapsed" option to SuspenseList (#16007) //<Sebastian Markbåge>// - **[46bd11ac3](https://github.com/facebook/react/^Cmmit/46bd11ac3 )**: Flush sync bug (#16027) //<lunaruan>// - **[933c664ad](https://github.com/facebook/react/^Cmmit/933c664ad )**: SuspenseList Optimizations (#16005) //<Sebastian Markbåge>// - **[fbbbea16e](https://github.com/facebook/react/^Cmmit/fbbbea16e )**: fix word async -> concurrent (#15844) //<Heaven>// - **[eb2ace128](https://github.com/facebook/react/^Cmmit/eb2ace128 )**: [Flare] Bring Flare support to React Native Fabric (#15887) //<Dominic Gannaway>// - **[9b0bd4355](https://github.com/facebook/react/^Cmmit/9b0bd4355 )**: [Flare] Re-label Flare flag (#16014) //<Dominic Gannaway>// - **[8b88ac259](https://github.com/facebook/react/^Cmmit/8b88ac259 )**: [Flare] Remove event targets including TouchHitTarget (#16011) //<Dominic Gannaway>// - **[f11540926](https://github.com/facebook/react/^Cmmit/f11540926 )**: Handle changes at module boundaries (#16002) //<Dan Abramov>// - **[915dfe697](https://github.com/facebook/react/^Cmmit/915dfe697 )**: Slightly improve performance of hydration. (#15998) //<Benedikt Meurer>// - **[824e9bec7](https://github.com/facebook/react/^Cmmit/824e9bec7 )**: [Flare] Fix issues with touch + pointer interactions (#15997) //<Dominic Gannaway>// - **[dd93357aa](https://github.com/facebook/react/^Cmmit/dd93357aa )**: [Flare] Move click handling back into target phase (#15993) //<Dominic Gannaway>// - **[4d307de45](https://github.com/facebook/react/^Cmmit/4d307de45 )**: Prefix mock Scheduler APIs with _unstable (#15999) //<Andrew Clark>// - **[9b55bcfc6](https://github.com/facebook/react/^Cmmit/9b55bcfc6 )**: [Flare] Add Hooks to event modules (#15953) //<Brandon Dail>// - **[20da1dae4](https://github.com/facebook/react/^Cmmit/20da1dae4 )**: Fix error logging in getDerivedStateFromProps (#15797) //<Ricky>// - **[6088a201e](https://github.com/facebook/react/^Cmmit/6088a201e )**: [Flare] Fix Press scroll cancellation handling (#15983) //<Dominic Gannaway>// - **[fd601fb21](https://github.com/facebook/react/^Cmmit/fd601fb21 )**: [Flare] Move all event responders to dom directory (#15981) //<Dominic Gannaway>// - **[827cbc4d0](https://github.com/facebook/react/^Cmmit/827cbc4d0 )**: Rename StatelessComponent to FunctionComponent in react-is/README.md (#15963) //<Veniamin Krol>// - **[d48db594e](https://github.com/facebook/react/^Cmmit/d48db594e )**: eslint-plugin-react-hooks@1.6.1 //<Dan Abramov>// - **[7439b48cf](https://github.com/facebook/react/^Cmmit/7439b48cf )**: Add explicit support for ESLint 6.0.0 (#15974) //<Thomas Broyer>// - **[fce15f14d](https://github.com/facebook/react/^Cmmit/fce15f14d )**: don't fire missing act() warnings for react-art (#15975) //<Sunil Pai>// - **[20f354696](https://github.com/facebook/react/^Cmmit/20f354696 )**: [Flare] Ensure Press event hook does not execute side-effects (#15976) //<Dominic Gannaway>// - **[d420d2ccb](https://github.com/facebook/react/^Cmmit/d420d2ccb )**: [Fresh] Retry failed roots on refresh (#15966) //<Dan Abramov>// - **[04b77c630](https://github.com/facebook/react/^Cmmit/04b77c630 )**: followup to #15763, fix failing test in ReactDOMTracing-test (#15972) //<Sunil Pai>// - **[e1c5e8720](https://github.com/facebook/react/^Cmmit/e1c5e8720 )**: warn if passive effects get queued outside of an act() call. (#15763) //<Sunil Pai>// - **[39b97e8eb](https://github.com/facebook/react/^Cmmit/39b97e8eb )**: Report refreshed families to the caller (#15957) //<Dan Abramov>// - **[d271df5c9](https://github.com/facebook/react/^Cmmit/d271df5c9 )**: Use function expression for custom Hook signature argument (#15956) //<Dan Abramov>// - **[4189f712c](https://github.com/facebook/react/^Cmmit/4189f712c )**: [Scheduler] Increase max frame length to 300 //<Andrew Clark>// - **[595c9414b](https://github.com/facebook/react/^Cmmit/595c9414b )**: [Scheduler] Fix navigator.isInputPending call //<Andrew Clark>// - **[e7fcfe104](https://github.com/facebook/react/^Cmmit/e7fcfe104 )**: [scheduler] Put isPendingInput behind a flag (#15962) //<Andrew Clark>// - **[6568a7993](https://github.com/facebook/react/^Cmmit/6568a7993 )**: [Scheduler] requestPaint (#15960) //<Andrew Clark>// - **[8d4ddd33a](https://github.com/facebook/react/^Cmmit/8d4ddd33a )**: [Scheduler] Yield less if there's no pending input (#15959) //<Andrew Clark>// - **[d77d12510](https://github.com/facebook/react/^Cmmit/d77d12510 )**: Expire rendering the tail of SuspenseList after a timeout (#15946) //<Sebastian Markbåge>// - **[dc298fdf9](https://github.com/facebook/react/^Cmmit/dc298fdf9 )**: [Flare] Refinements to useEvent hook (#15955) //<Dominic Gannaway>// - **[696609d49](https://github.com/facebook/react/^Cmmit/696609d49 )**: [Fiber] Clear down dependencies during detachFiber (#15947) //<Dominic Gannaway>// - **[a5ed2f98f](https://github.com/facebook/react/^Cmmit/a5ed2f98f )**: [Flare] Guard against stateNode being null (#15952) //<Dominic Gannaway>// - **[34ce57ae7](https://github.com/facebook/react/^Cmmit/34ce57ae7 )**: [Flare] Refine flow type annotations (#15950) //<Dominic Gannaway>// - **[4f92fbce5](https://github.com/facebook/react/^Cmmit/4f92fbce5 )**: [Flare] Move createEvent back to React object (#15943) //<Dominic Gannaway>// - **[175111de7](https://github.com/facebook/react/^Cmmit/175111de7 )**: Lazily initialize dependencies object (#15944) //<Andrew Clark>// - **[720db4cbe](https://github.com/facebook/react/^Cmmit/720db4cbe )**: [Flare] Add useEvent hook implementation (#15927) //<Dominic Gannaway>// - **[6ff4c9de1](https://github.com/facebook/react/^Cmmit/6ff4c9de1 )**: [Flare] Press: fix stale deactivation region state (#15931) //<Nicolas Gallagher>// - **[7a4c3e3b7](https://github.com/facebook/react/^Cmmit/7a4c3e3b7 )**: Make global names more obscure (#15941) //<Dan Abramov>// - **[270dc2e4d](https://github.com/facebook/react/^Cmmit/270dc2e4d )**: Add forwards and backwards options to SuspenseList (#15918) //<Sebastian Markbåge>// - **[5368f7316](https://github.com/facebook/react/^Cmmit/5368f7316 )**: [Flare] Fix keyboard keyup regression (#15938) //<Dominic Gannaway>// - **[3d0af2aea](https://github.com/facebook/react/^Cmmit/3d0af2aea )**: Don't consider require-like calls to be likely HOCs (#15940) //<Dan Abramov>// - **[d4f384d25](https://github.com/facebook/react/^Cmmit/d4f384d25 )**: [Fresh] Throw in prod and change annotation (#15939) //<Dan Abramov>// - **[ff91bfa58](https://github.com/facebook/react/^Cmmit/ff91bfa58 )**: [act] reset scope depth on synchronous errors (#15937) //<Sunil Pai>// - **[e61c9e0a2](https://github.com/facebook/react/^Cmmit/e61c9e0a2 )**: [Flare] Fix Press retention state regression (#15936) //<Dominic Gannaway>// - **[76864f7ff](https://github.com/facebook/react/^Cmmit/76864f7ff )**: Add SuspenseList Component (#15902) //<Sebastian Markbåge>// - **[e9d0a3ff2](https://github.com/facebook/react/^Cmmit/e9d0a3ff2 )**: [Fresh] Track mounted roots via DevTools Hook (#15928) //<Dan Abramov>// - **[35ef78de3](https://github.com/facebook/react/^Cmmit/35ef78de3 )**: [Scheduler] Integrated timers (#15911) //<Andrew Clark>// - **[3af91eb8c](https://github.com/facebook/react/^Cmmit/3af91eb8c )**: [Scheduler] Use continuation pattern for posting host callback (#15910) //<Andrew Clark>// - **[b62ae1642](https://github.com/facebook/react/^Cmmit/b62ae1642 )**: [Flare] Rename createEventComponent -> createEvent (#15929) //<Dominic Gannaway>// - **[f4e1ac8ca](https://github.com/facebook/react/^Cmmit/f4e1ac8ca )**: [Flare] Press events include defaultPrevented (#15916) //<Nicolas Gallagher>// - **[4a7a39b59](https://github.com/facebook/react/^Cmmit/4a7a39b59 )**: [Flare] Add RN build step for ReactTypes (#15926) //<Dominic Gannaway>// - **[0bd755114](https://github.com/facebook/react/^Cmmit/0bd755114 )**: Remove mention of Prepack (#15922) //<Christoph Nakazawa>// - **[689beef6f](https://github.com/facebook/react/^Cmmit/689beef6f )**: [Flare] Move unstable_createEventComponent to ReactDOM (#15890) //<Dominic Gannaway>// - **[98454371a](https://github.com/facebook/react/^Cmmit/98454371a )**: Construct Error at invariant call site for clearer stack traces (#15877) //<Moti Zilberman>// - **[f97b95166](https://github.com/facebook/react/^Cmmit/f97b95166 )**: [Flare] add disableContextMenu to Press (#15909) //<Nicolas Gallagher>// - **[cd98e63b4](https://github.com/facebook/react/^Cmmit/cd98e63b4 )**: [Fresh] Fall back to Map/Set if Weak equivalents are not available (#15907) //<Dan Abramov>// - **[a3c5b1fb8](https://github.com/facebook/react/^Cmmit/a3c5b1fb8 )**: [Fresh] Rename findHostNodesForHotUpdate to findHostInstancesForHotUpdate (#15904) //<Dan Abramov>// - **[7985bf7d5](https://github.com/facebook/react/^Cmmit/7985bf7d5 )**: Remove outdated test renderer comments (#15898) //<Sebastian Markbåge>// - **[f0156766d](https://github.com/facebook/react/^Cmmit/f0156766d )**: [Fresh] react-fresh => react-refresh (#15888) //<Dan Abramov>// - **[801feed95](https://github.com/facebook/react/^Cmmit/801feed95 )**: Interaction tracing works across hidden and SSR hydration boundaries (#15872) //<Brian Vaughn>// - **[661562fc5](https://github.com/facebook/react/^Cmmit/661562fc5 )**: Fix outdated test comments (#15892) //<Andrew Clark>// - **[788da69b7](https://github.com/facebook/react/^Cmmit/788da69b7 )**: [Suspense] Fix bad loading state not being delayed (#15891) //<Andrew Clark>// - **[353e0ee47](https://github.com/facebook/react/^Cmmit/353e0ee47 )**: [Flare] remove stopLocalPropagation option + modify responder ownership (#15889) //<Dominic Gannaway>// - **[a146c1f9e](https://github.com/facebook/react/^Cmmit/a146c1f9e )**: [Flare] Refactor of Press to fix various issues (#15878) //<Dominic Gannaway>// - **[de7a09c1e](https://github.com/facebook/react/^Cmmit/de7a09c1e )**: [Fresh] Make transform resilient to plugin order (#15883) //<Dan Abramov>// - **[2fe8fd290](https://github.com/facebook/react/^Cmmit/2fe8fd290 )**: [Suspense] Use style.setProperty to set display (#15882) //<Andrew Clark>// - **[e91dd70ba](https://github.com/facebook/react/^Cmmit/e91dd70ba )**: Remove disableYielding feature flag (#15654) //<Andrew Clark>// - **[4d949d764](https://github.com/facebook/react/^Cmmit/4d949d764 )**: [React Native] Replace touch discrepancy errors to warnings (#15866) //<Timothy Yung>// - **[45acbdc0b](https://github.com/facebook/react/^Cmmit/45acbdc0b )**: [Flare] Unsure root events are removed on contextmenu (#15862) //<Dominic Gannaway>// - **[198ed661c](https://github.com/facebook/react/^Cmmit/198ed661c )**: [Suspense] Use !important to hide Suspended nodes (#15861) //<Andrew Clark>// - **[191920605](https://github.com/facebook/react/^Cmmit/191920605 )**: [Fresh] Implement missing features (#15860) //<Dan Abramov>// - **[c403ae4d3](https://github.com/facebook/react/^Cmmit/c403ae4d3 )**: [Flare] Move Press root event removal till click phase (#15854) //<Dominic Gannaway>// - **[f4cd7a38d](https://github.com/facebook/react/^Cmmit/f4cd7a38d )**: [Flare] Listen to document.body + add stopPropagation to Press (#15853) //<Dominic Gannaway>// - **[425473f43](https://github.com/facebook/react/^Cmmit/425473f43 )**: [Flare] Improve runtime performance of hit target intersection (#15836) //<Dominic Gannaway>// - **[def56c979](https://github.com/facebook/react/^Cmmit/def56c979 )**: [Fresh] Capture Hook signatures lazily on first render (#15832) //<Dan Abramov>// - **[8cfcfe0fc](https://github.com/facebook/react/^Cmmit/8cfcfe0fc )**: [Flare] Fix ES6 issues with IE11 (#15834) //<Dominic Gannaway>// - **[d0e041aee](https://github.com/facebook/react/^Cmmit/d0e041aee )**: [Fresh] Support classes by force-remounting them on edit (#15801) //<Dan Abramov>// - **[73c27d8b4](https://github.com/facebook/react/^Cmmit/73c27d8b4 )**: [Flare] Add basic Scroll event responder module (#15827) //<Dominic Gannaway>// - **[c72dceffb](https://github.com/facebook/react/^Cmmit/c72dceffb )**: [Flare] Small Swipe/Drag fixes (#15825) //<Dominic Gannaway>// - **[6aaa43708](https://github.com/facebook/react/^Cmmit/6aaa43708 )**: Rename ReactFeatureFlags to remove the `.fb` suffix. (#15826) //<Christoph Nakazawa>// - **[843a59ab6](https://github.com/facebook/react/^Cmmit/843a59ab6 )**: [React Native] Remove eventTypes from ReactNativeBridgeEventPlugin (#15802) //<Ricky>// - **[7b28ad119](https://github.com/facebook/react/^Cmmit/7b28ad119 )**: [Flare] EventPriority enum (#15823) //<Andrew Clark>// - **[d707a7579](https://github.com/facebook/react/^Cmmit/d707a7579 )**: nit: a quick copy edit for an act() message/comment (#15805) //<Sunil Pai>// - **[cfb79ee5b](https://github.com/facebook/react/^Cmmit/cfb79ee5b )**: [Flare] Fix isTouchEvent (#15824) //<Dominic Gannaway>// - **[6b5deeed5](https://github.com/facebook/react/^Cmmit/6b5deeed5 )**: [Events] Add support for events that are both user-blocking and continuous (#15811) //<Andrew Clark>// - **[8d4fb132e](https://github.com/facebook/react/^Cmmit/8d4fb132e )**: [Flare] Fix nativeEvent.x/y for older browsers (#15820) //<Dominic Gannaway>// - **[2534c0c92](https://github.com/facebook/react/^Cmmit/2534c0c92 )**: [Flare] Add event position properties to Hover responder (#15819) //<Dominic Gannaway>// - **[dd43cb5fb](https://github.com/facebook/react/^Cmmit/dd43cb5fb )**: [Flare] Fix isPressWithinResponderRegion logic (#15808) //<Nicolas Gallagher>// - **[4f6cab547](https://github.com/facebook/react/^Cmmit/4f6cab547 )**: [Flare] Ignore keyboard interactions on text input children (#15810) //<Nicolas Gallagher>// - **[fa1e8df11](https://github.com/facebook/react/^Cmmit/fa1e8df11 )**: chore: use jest-serializer-raw for react-fresh snapshots (#15806) //<Simen Bekkhus>// - **[07da821bf](https://github.com/facebook/react/^Cmmit/07da821bf )**: [react-native] Rewrite Haste imports in RN shims and add .fb.js extension (#15786) //<James Ide>// - **[a383c4678](https://github.com/facebook/react/^Cmmit/a383c4678 )**: [ESLint] don't warn for Flow type variables (#15804) //<Jordan Rome>// - **[5763f1d4c](https://github.com/facebook/react/^Cmmit/5763f1d4c )**: [Events] Nested discrete events across systems //<Andrew Clark>// - **[7aa35ceae](https://github.com/facebook/react/^Cmmit/7aa35ceae )**: Fix casing of shouldflushDiscreteUpdates //<Andrew Clark>// - **[91635dd48](https://github.com/facebook/react/^Cmmit/91635dd48 )**: Switch to "discrete" and "continuous" terminology //<Andrew Clark>// - **[73c380fca](https://github.com/facebook/react/^Cmmit/73c380fca )**: WorkPhase -> ExecutionContext //<Andrew Clark>// - **[88b396382](https://github.com/facebook/react/^Cmmit/88b396382 )**: [Flare] Remove deprecated keypress event (#15795) //<Nicolas Gallagher>// - **[63fe08eef](https://github.com/facebook/react/^Cmmit/63fe08eef )**: React Events: allow Tab+Alt on Mac in Focus responder (#15679) //<Mateusz Burzyński>// - **[113497cc0](https://github.com/facebook/react/^Cmmit/113497cc0 )**: [Suspense] Change Suspending and Restarting Heuristics (#15769) //<Sebastian Markbåge>// - **[3b2302253](https://github.com/facebook/react/^Cmmit/3b2302253 )**: Fix sizebot (#15771) //<Andrew Clark>// - **[0f7cc2ba8](https://github.com/facebook/react/^Cmmit/0f7cc2ba8 )**: React Events: check window before using navigator (#15768) //<Nicolas Gallagher>// - **[2670bc340](https://github.com/facebook/react/^Cmmit/2670bc340 )**: React Events: support legacy browser Spacebar key value (#15766) //<Nicolas Gallagher>// - **[9aad17d60](https://github.com/facebook/react/^Cmmit/9aad17d60 )**: using the wrong renderer's act() should warn (#15756) //<Sunil Pai>// - **[1cc3bba00](https://github.com/facebook/react/^Cmmit/1cc3bba00 )**: Parallelizes the build script across multiple processes (#15716) //<Andrew Clark>// - **[112168f31](https://github.com/facebook/react/^Cmmit/112168f31 )**: Lint rule for unminified errors (#15757) //<Andrew Clark>// - **[142cf56cb](https://github.com/facebook/react/^Cmmit/142cf56cb )**: [Flare] Adds onContextMenu and fixes some contextmenu related issues (#15761) //<Dominic Gannaway>// - **[556cc6fe1](https://github.com/facebook/react/^Cmmit/556cc6fe1 )**: [Fresh] Generate signatures for Hooks (#15733) //<Dan Abramov>// - **[b74fa9868](https://github.com/facebook/react/^Cmmit/b74fa9868 )**: Clean up (#15755) //<Sebastian Markbåge>// - **[d915a4c1f](https://github.com/facebook/react/^Cmmit/d915a4c1f )**: [Suspense] Add Batched Mode variant to fuzz tester (#15734) //<Andrew Clark>// - **[401065fe5](https://github.com/facebook/react/^Cmmit/401065fe5 )**: Adds test for #15732. (#15747) //<Caleb Meredith>// - **[287ef30bb](https://github.com/facebook/react/^Cmmit/287ef30bb )**: [Flare] Deeply prevent default on anchor elements (#15750) //<Dominic Gannaway>// - **[a97b5c07b](https://github.com/facebook/react/^Cmmit/a97b5c07b )**: [Flare] More fixes for getAbsoluteBoundingClientRect (#15746) //<Dominic Gannaway>// - **[393924879](https://github.com/facebook/react/^Cmmit/393924879 )**: [Fresh] Babel plugin now handles HOCs + add integration tests (#15724) //<Dan Abramov>// - **[8af1f8792](https://github.com/facebook/react/^Cmmit/8af1f8792 )**: Rename ReactFiberScheduler -> ReactFiberWorkLoop and extract throwException from Unwind (#15725) //<Sebastian Markbåge>// - **[399cd0d16](https://github.com/facebook/react/^Cmmit/399cd0d16 )**: Set up cron job to run fuzz tester (#15718) //<Andrew Clark>// - **[025b07b61](https://github.com/facebook/react/^Cmmit/025b07b61 )**: [Flare] Ensure getAbsoluteBoundingClientRect aligns with offsetParent (#15720) //<Dominic Gannaway>// - **[61f62246c](https://github.com/facebook/react/^Cmmit/61f62246c )**: [react-native] Use path-based imports instead of Haste for the RN renderer (#15604) //<James Ide>// - **[b962adfc2](https://github.com/facebook/react/^Cmmit/b962adfc2 )**: [Flare] event component displayName is now mandatory (#15717) //<Dominic Gannaway>// - **[5c2124fc7](https://github.com/facebook/react/^Cmmit/5c2124fc7 )**: [Fresh] Initial Babel plugin implementation (#15711) //<Dan Abramov>// - **[b9ebc37c5](https://github.com/facebook/react/^Cmmit/b9ebc37c5 )**: Fix Flow (#15710) //<Dominic Gannaway>// - **[a25a793fe](https://github.com/facebook/react/^Cmmit/a25a793fe )**: [Flare] update getEventCurrentTarget to use fiber tree (#15708) //<Dominic Gannaway>// - **[b5dff62fa](https://github.com/facebook/react/^Cmmit/b5dff62fa )**: [Flare] Account for fixed elements in getAbsoluteBoundingClientRect (#15707) //<Dominic Gannaway>// - **[f50f9ba5d](https://github.com/facebook/react/^Cmmit/f50f9ba5d )**: Fix ReactFiberNewContext spelling (#15692) //<Maksim Markelov>// - **[e180f656f](https://github.com/facebook/react/^Cmmit/e180f656f )**: Flare: change flushDiscreteUpdates invariant to warning (#15702) //<Dominic Gannaway>// - **[7829d8cf9](https://github.com/facebook/react/^Cmmit/7829d8cf9 )**: Fix missing return pointer assignment (#15700) //<Andrew Clark>// - **[d7afe23f1](https://github.com/facebook/react/^Cmmit/d7afe23f1 )**: Rename "loading" to "busy" in SuspenseConfig API (#15699) //<Sebastian Markbåge>// - **[ef4ac42f8](https://github.com/facebook/react/^Cmmit/ef4ac42f8 )**: [Flare] Update interactiveUpdates flushing heuristics (#15687) //<Dominic Gannaway>// - **[6d4f85b61](https://github.com/facebook/react/^Cmmit/6d4f85b61 )**: [Fresh] Set up infra for runtime and Babel plugin (#15698) //<Dan Abramov>// - **[121acae09](https://github.com/facebook/react/^Cmmit/121acae09 )**: Flare: simplify dispatchEvent discrete argument (#15694) //<Dominic Gannaway>// - **[a398cbd5a](https://github.com/facebook/react/^Cmmit/a398cbd5a )**: Flare: update invalid accessor warnings + add no-ops (#15693) //<Dominic Gannaway>// - **[9c9ea9485](https://github.com/facebook/react/^Cmmit/9c9ea9485 )**: flush only on exiting outermost act() (#15682) //<Sunil Pai>// - **[50b50c26f](https://github.com/facebook/react/^Cmmit/50b50c26f )**: Inform DevTools of commit priority level (#15664) //<Brian Vaughn>// - **[0bd9b5d00](https://github.com/facebook/react/^Cmmit/0bd9b5d00 )**: [Fresh] Support re-rendering lazy() without losing state (#15686) //<Dan Abramov>// - **[ec38def44](https://github.com/facebook/react/^Cmmit/ec38def44 )**: [Fresh] Don't traverse remounted trees (#15685) //<Dan Abramov>// - **[5731e522d](https://github.com/facebook/react/^Cmmit/5731e522d )**: [Fresh] Support lazy() and add Suspense tests (#15681) //<Dan Abramov>// - **[31487dd82](https://github.com/facebook/react/^Cmmit/31487dd82 )**: [Fresh] Set up initial scaffolding (#15619) //<Dan Abramov>// - **[9c6de716d](https://github.com/facebook/react/^Cmmit/9c6de716d )**: Add withSuspenseConfig API (#15593) //<Sebastian Markbåge>// - **[1160b3769](https://github.com/facebook/react/^Cmmit/1160b3769 )**: Event API: Add responder allowMultipleHostChildren flag (#15646) //<Dominic Gannaway>// - **[95e06ac3d](https://github.com/facebook/react/^Cmmit/95e06ac3d )**: Event API: isTargetWithinEventResponderScope on unmounted event components (#15672) //<Dominic Gannaway>// - **[d278a3ff8](https://github.com/facebook/react/^Cmmit/d278a3ff8 )**: `act()` - s / flushPassiveEffects / Scheduler.unstable_flushWithoutYielding (#15591) //<Sunil Pai>// - **[aad5a264d](https://github.com/facebook/react/^Cmmit/aad5a264d )**: Event API: ensure calculateResponderRegion accounts for page offset (#15671) //<Dominic Gannaway>// - **[bb89b4eac](https://github.com/facebook/react/^Cmmit/bb89b4eac )**: Bail out of updates in offscreen trees (#15666) //<Dan Abramov>// - **[4bf88ddec](https://github.com/facebook/react/^Cmmit/4bf88ddec )**: Fix <embed> not triggering onLoad (#15614) //<Andrew Cherniavskii>// - **[f961050a3](https://github.com/facebook/react/^Cmmit/f961050a3 )**: Always flushPassiveEffects before rendering //<Andrew Clark>// - **[b899819e7](https://github.com/facebook/react/^Cmmit/b899819e7 )**: Use dynamic flag in test renderer in www (#15662) //<Andrew Clark>// - **[d34b457ce](https://github.com/facebook/react/^Cmmit/d34b457ce )**: Feature flag to revert #15650 (#15659) //<Andrew Clark>// - **[668fbd651](https://github.com/facebook/react/^Cmmit/668fbd651 )**: Fix serial passive effects (#15650) //<Andrew Clark>// - **[b0657fde6](https://github.com/facebook/react/^Cmmit/b0657fde6 )**: Event API: ensure getFocusableElementsInScope handles suspended trees (#15651) //<Dominic Gannaway>// - **[8af90c897](https://github.com/facebook/react/^Cmmit/8af90c897 )**: Add test for nested avoided boundaries (#15636) //<Sebastian Markbåge>// - **[af19e2eb2](https://github.com/facebook/react/^Cmmit/af19e2eb2 )**: Event API: adds pointerType to Focus events (#15645) //<Dominic Gannaway>// - **[cc24d0ea5](https://github.com/facebook/react/^Cmmit/cc24d0ea5 )**: Invariant that throws when committing wrong tree (#15517) //<Andrew Clark>// - **[83fc258f2](https://github.com/facebook/react/^Cmmit/83fc258f2 )**: Remove <ConcurrentMode /> (#15532) //<Andrew Clark>// - **[283ce5320](https://github.com/facebook/react/^Cmmit/283ce5320 )**: Add ReactDOM.unstable_createSyncRoot (#15504) //<Andrew Clark>// - **[862f499fa](https://github.com/facebook/react/^Cmmit/862f499fa )**: Add Batched Mode (#15502) //<Andrew Clark>// - **[fec74f99d](https://github.com/facebook/react/^Cmmit/fec74f99d )**: Event API: ensure preventDefault works for nested targets (#15633) //<Dominic Gannaway>// - **[edfedf3ae](https://github.com/facebook/react/^Cmmit/edfedf3ae )**: Fork ReactSharedInternals for UMD builds (#15617) //<Andrew Clark>// - **[39ef609e7](https://github.com/facebook/react/^Cmmit/39ef609e7 )**: Update test to fix CI //<Andrew Clark>// - **[5b6eb55e1](https://github.com/facebook/react/^Cmmit/5b6eb55e1 )**: Remove scheduler from React package dependencies (#15616) //<Andrew Clark>// - **[0803d2247](https://github.com/facebook/react/^Cmmit/0803d2247 )**: Don't consider "Never" expiration as part of most recent event time (#15606) //<Sebastian Markbåge>// - **[90f54d77f](https://github.com/facebook/react/^Cmmit/90f54d77f )**: Event API: add follow up event unwind test (#15612) //<Dominic Gannaway>// - **[91a044e31](https://github.com/facebook/react/^Cmmit/91a044e31 )**: Event API: add key modifiers to Press events (#15611) //<Dominic Gannaway>// - **[3d8b836e2](https://github.com/facebook/react/^Cmmit/3d8b836e2 )**: Event API: ensure we pop context for event system fibers (#15599) //<Dominic Gannaway>// - **[e33e32db0](https://github.com/facebook/react/^Cmmit/e33e32db0 )**: Event API: normalize event timeStamp property to be in event system (#15598) //<Dominic Gannaway>// - **[3669b9010](https://github.com/facebook/react/^Cmmit/3669b9010 )**: Event API: add more warnings for responder based events (#15597) //<Dominic Gannaway>// - **[05d08500b](https://github.com/facebook/react/^Cmmit/05d08500b )**: Experimental Event API: Press event properties (#15586) //<Dominic Gannaway>// - **[51e66cf9f](https://github.com/facebook/react/^Cmmit/51e66cf9f )**: Experimental Event API: reduce code size of event modules (#15590) //<Dominic Gannaway>// - **[8abf243b8](https://github.com/facebook/react/^Cmmit/8abf243b8 )**: Ensure touch events are properly handled for pageX and pageY (#15587) //<Dominic Gannaway>// - **[c7398f339](https://github.com/facebook/react/^Cmmit/c7398f339 )**: Add Suspense Boundary Context (and unstable_avoidThisFallback) (#15578) //<Sebastian Markbåge>// - **[f9e60c8a1](https://github.com/facebook/react/^Cmmit/f9e60c8a1 )**: Warn when suspending at wrong priority (#15492) //<Andrew Clark>// - **[89d8d1435](https://github.com/facebook/react/^Cmmit/89d8d1435 )**: Add React.unstable_createEventComponent (#15580) //<Nicolas Gallagher>// - **[6da04b5d8](https://github.com/facebook/react/^Cmmit/6da04b5d8 )**: Fix interaction tracing for batched update mounts (#15567) //<Brian Vaughn>// - **[d38cfd452](https://github.com/facebook/react/^Cmmit/d38cfd452 )**: Ensure TouchHitTarget element is server side rendered with hit slop (#15385) //<Dominic Gannaway>// - **[2e5d1a8b9](https://github.com/facebook/react/^Cmmit/2e5d1a8b9 )**: React Events: fix cancel events for Press (#15563) //<Nicolas Gallagher>// - **[307e0a7d7](https://github.com/facebook/react/^Cmmit/307e0a7d7 )**: React Events: cancel onLongPress for large enough moves (#15562) //<Nicolas Gallagher>// - **[339366c46](https://github.com/facebook/react/^Cmmit/339366c46 )**: Event API: Support press reentry for pointer events (#15560) //<Dominic Gannaway>// Changelog: [General][Changed] - React sync for revisions ec6691a...55bc393 Reviewed By: yungsters Differential Revision: D16555458 fbshipit-source-id: 2d71da52992fbb05b682247cfee20385d70a681b |
||
|
|
d285860851 |
Add jest-watch-typeahead
Summary: Had to split it out if Jest because of tomocchino's patents. I hate it. Anyway, I brought it back into RN because I can't live without it. Reviewed By: rubennorte Differential Revision: D16560078 fbshipit-source-id: c394e248dcd048866a31a7b08b233d8966af9ee3 |
||
|
|
14b0ed4c5d |
Do not override ActivityIndicator color when setting its size (#25849)
Summary: The activityIndicatorViewStyle property overrides the previous set color if it's changed. Depending on the property set order you may end in a state that the color property will never be respected since it first sets the color and then the activityIndicatorViewStyle property (which overrides the color property). In order to prevent this problem before setting the new activityIndicatorViewStyle save the old color and override it after activityIndicatorViewStyle is set. Thus always respecting the user's color. ## Changelog [iOS] [Fixed] - Do not override ActivityIndicator color when setting its size Pull Request resolved: https://github.com/facebook/react-native/pull/25849 Test Plan: Using the code below on iOS notice that the last ActivityIndicator will always have its color set to white while te testID is provided ### Without the patch Notice the white -> blue transition when disabling the testID  ### With the patch Color remains unchanged  ```javascript import React from "react"; import { View, StyleSheet, ActivityIndicator, Button } from "react-native"; const App = () => { const [enableTestID, onSetEnableTestID] = React.useState(true); const onPress = React.useCallback(() => { onSetEnableTestID(!enableTestID); }, [enableTestID]); return ( <View style={styles.container}> <ActivityIndicator size="large" color="red" /> <ActivityIndicator size="small" color="red" /> <ActivityIndicator size="small" /> <ActivityIndicator color="green" /> <ActivityIndicator key={enableTestID.toString()} size="large" color="blue" testID={enableTestID ? 'please work' : undefined} /> <Button title={enableTestID ? 'Disable testID' : 'enable testID'} onPress={onPress} /> </View> ); }; export default App; const styles = StyleSheet.create({ container: { flex: 1, alignItems: "center", justifyContent: "center", backgroundColor: "black" }, }); ``` Closes https://github.com/facebook/react-native/issues/25319 Reviewed By: cpojer Differential Revision: D16559929 Pulled By: sammy-SC fbshipit-source-id: ac6fd572b9f91ee5a2cbe46f8c46c1f46a1ba8b3 |
||
|
|
1db96a3c46 |
Add missing hermes include (#25872)
Summary: The Hermes react executor c++ code is not currently getting built. The include was probably forgotten when merging hermes on master. The 0.60 branch does have it https://github.com/facebook/react-native/blob/0.60-stable/ReactAndroid/src/main/jni/react/jni/Android.mk#L72 ## Changelog [Android] [Fixed] - Add missing hermes include Pull Request resolved: https://github.com/facebook/react-native/pull/25872 Test Plan: Run an app with hermes enabled on RN master Differential Revision: D16559354 Pulled By: cpojer fbshipit-source-id: 95cfbf65481c2f0d0e5c53ca35f327753e7b99ae |
||
|
|
bf5e73e46c |
Always pass props and state to Create mount item
Summary: For Litho interop and to resolve T47926405, always pass props and state to Create mount item so that any ViewManager can create view instances with knowledge of initial props and state. Reviewed By: mdvacca Differential Revision: D16554082 fbshipit-source-id: 3b19a43347b0fa201a054eec60e82fb77cad3625 |
||
|
|
f22a7c67bd |
Validate objc command header compiles
Summary: Add a test to ensure that the generated code is syntactically valid and compiles. Reviewed By: JoshuaGross, osdnk Differential Revision: D16518542 fbshipit-source-id: d4fadaeb29194ca38c8a99874ab304a464632894 |
||
|
|
0314305e12 |
Support string command arguments
Summary: Support command arguments that are strings Reviewed By: JoshuaGross Differential Revision: D16509728 fbshipit-source-id: 003aba66231d204071d043c01cb0781150d0edb9 |
||
|
|
a174647698 |
Change fixture
Summary: I want a fixture with all the types, so refactoring this so future diffs in the stack are cleaner Reviewed By: JoshuaGross Differential Revision: D16509803 fbshipit-source-id: 1f4873701a8ff842f50976377003e1abff187278 |
||
|
|
88641f850a |
Generate objc handler for commands
Summary:
These functions will be called by components like this:
```
- (void)handleCommand:(NSString const *)commandName args:(NSArray const *)args
{
ViewNativeComponentHandleCommand(self, commandName, args);
}
```
Codegen currently supports commands with ints and bools as arguments. Will add more types in follow up diffs.
Reviewed By: JoshuaGross
Differential Revision: D16509123
fbshipit-source-id: c3071ce3b5da215bb8747216e57026a69a89eff0
|
||
|
|
47365da367 |
Generate ObjC component protocols
Summary: We will be generating protocols for every component even if there are no commands. This is for consistency and our ability to add to them later without changing every native component that doesn't currently have a command. JoshuaGross and I figure this is okay as it appears that empty protocols are very cheap on app size Reviewed By: zackargyle, JoshuaGross Differential Revision: D16503773 fbshipit-source-id: 11b78fcd33b68926def909d3ce42f58b9bbee96a |
||
|
|
bd2b7d6c03 |
Fix onDismiss in Modal
Summary: # Disclaimer: I might be missing something as the solution I implemented here seems like something that was considered by original author. If this solution isn't good, I have a plan B. # Problem: `onDismiss` prop isn't being called once the modal is dismissed, this diff fixes it. Also I've noticed that `onDismiss` is meant to only work on iOS, why is that? By landing this diff, it'll be called on Android as well so we need to change the docs (https://facebook.github.io/react-native/docs/modal.html#ondismiss). ## Video that shows the problem Following code is in playground.js P70222409 which just increments number everytime onDismiss is called {F166303269} Reviewed By: shergin Differential Revision: D16109536 fbshipit-source-id: 3fba56f5671912387b217f03b613dffd89614c9d |
||
|
|
5ec382d1be |
New useWindowDimensions hook to replace most Dimensions usage
Summary:
Automatically provides and subscribes to dimension updates - super easy usage:
```
function MyComponent(props: Props) {
const {width, height, scale, fontScale} = useWindowDimensions();
return <Text ...
};
```
Only window for now - it's what people want 99% of the time, so we'll just shovel out a pit of success for them...
There are still cases where `Dimensions` is needed outside of React component render functions, like in GraphQL variables, so we need to keep the existing module.
Reviewed By: zackargyle
Differential Revision: D16525189
fbshipit-source-id: 0a049fb3be8d92888a8a69e3898d337b93422a09
|
||
|
|
62591ac840 |
Set scheduler delegate during construction
Summary: I think it's possible that there's a race condition between creating the scheduler and setting the delegate leading to bugs like T47272192. Reviewed By: mdvacca Differential Revision: D16537737 fbshipit-source-id: 9c579537658be5a9aeed37c0e4935c997cabb6aa |
||
|
|
44be1f1516 |
Better error messages for "unable to find view for viewstate"
Summary: Better error messages for "unable to find view for viewstate" Reviewed By: shergin Differential Revision: D16537698 fbshipit-source-id: a8ea681882207cd894e3703c6c0a04346fa4ce06 |
||
|
|
ebb3243907 |
Update refs on remount
Summary: This fixes a bug where a ref to a class would get nulled after the class is edited. Now it's appopriately updated. This is technically a partial sync on top of my last cherry-picked one. It only picks up this commit: https://github.com/facebook/react/commit/9914a19190296ca7e0fd65f7c4f6fe5cc42e29a4. The changes are DEV-only and only affect Fast Refresh. Reviewed By: motiz88 Differential Revision: D16543751 fbshipit-source-id: c1fc393e78d0e13070721037d16734c9ece38bc9 |
||
|
|
678e833e01 |
Fix creation of new ComponentDescriptorRegistry when switching surface
Summary:
# Problem:
I enabled Fabric for "Profile About", when I navigate to "Marketplace Home" from "Profile About", I get following warning "<Component> is not Fabric compatible yet". Even though the component has been migrated to Fabric and is getting registered. The component works if I navigate straight to "Marketplace Home".
{F172219008}
# How it was solved:
It turns out, there was a missing call that added newly created registry to `componentDescriptorRegistries_`.
Reviewed By: shergin
Differential Revision: D16542109
fbshipit-source-id: 22a315333cfff0895ce77e8439816f4e7bf34d35
|
||
|
|
77125a1ac3 |
Use Metro support for auto-collapsing internal stack frames (#25839)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/25839 Changes `ExceptionsManager` to respect the `collapse` field in each symbolicated stack frame returned from Metro. This is ultimately driven by a Metro config option (which will have a default set in https://github.com/react-native-community/cli/pull/596). This is part of a redesign of work done originally in https://github.com/facebook/react-native/pull/24662. Reviewed By: cpojer Differential Revision: D16500277 fbshipit-source-id: b0b035618cb000935a555796523637b5f0a688d3 |
||
|
|
6f4c4b59d1 |
Include only Java classes in zip archive of generated files
Summary: Changelog: [General] [Changed] - Include only Java classes in zip archive of generated files for JS codegen This diff adds one more Buck rule to copy only Java files to a temporary dir, so that the zip_rule will only package the Java classes and skip C++ files. It makes the generated code more organized and decreases the time to create the ZIP-archive. Reviewed By: rickhanlonii Differential Revision: D16540781 fbshipit-source-id: cbc99b5fe28b6af5375a88652cefb30e672ed527 |
||
|
|
59db059dbd |
upgrade to flow v0.104.0
Reviewed By: dsainati1 Differential Revision: D16523758 fbshipit-source-id: 8816a6b93415b9967888217dd6d0642830d5ed1d |
||
|
|
fffe2d0f67 |
Update react-devtools-core to 3.6.3 to fix React Inspector
Summary: It appears that Electron (or the version of Chromium it uses) has a bug that causes a `webview` process to crash if `URL.createObjectURL` is used. Before releasing `react-devtools-core` 3.5.0, we updated Webpack and the loaders we used. Apparently the version of `style-loader` we now use makes use of the `URL.createObjectURL` API for CSS source maps. This triggers the `webview` crash I mentioned above. The fix for this is to disable CSS source maps, in which case the loader just uses a `<style>` tag. This diff updates Nuclide to pull in this fixed version. Reviewed By: bestander Differential Revision: D16518772 fbshipit-source-id: a779b7d310f869793fa05988d138ce6a46840d8c |
||
|
|
4a969180df |
Add codegening constants structs
Summary: In this this diff I follow with codegening constants structs. Reviewed By: RSNara Differential Revision: D16496128 fbshipit-source-id: e4140d97b378985502911b8dcd1723f153dabf00 |
||
|
|
fe5b17977d |
Generate inlines and structs for methods (not constants)
Summary: Generate objcpp inlines and struct part not methods (not getConstants!) Reviewed By: RSNara Differential Revision: D16494709 fbshipit-source-id: 44ecf6be5031112bf47c44392e375709622ae83b |
||
|
|
c5ea18f738 |
Don't call sharedApplication in App Extension (#25769)
Summary: Fixes https://github.com/facebook/react-native/issues/25767 . ## Changelog [iOS] [Fixed] - Don't call sharedApplication in App Extension Pull Request resolved: https://github.com/facebook/react-native/pull/25769 Test Plan: RN works in App Extension. Reviewed By: cpojer Differential Revision: D16516104 Pulled By: sammy-SC fbshipit-source-id: 446fd1d88724b783b2afb2369783b9a85b5cc178 |
||
|
|
bb623e6983 |
Allow Animation EndResult callback to return Promise (#25793)
Summary: I am sending an asynchronous function as callback to the `.start` method of `Animation.parallel([...]).start(callback)`. Flow does not like this, as the `EndCallback` type is saying that these callbacks must return `void`. Since my callback returns `Promise<void>` this results in an error. Does it really matter what the callback returns? ## Changelog [General] [Changed] - Make Animation EndCallback type allow any return value Pull Request resolved: https://github.com/facebook/react-native/pull/25793 Test Plan: I have run `yarn flow`, which reported no errors. Reviewed By: cpojer Differential Revision: D16515465 Pulled By: osdnk fbshipit-source-id: 420d29d262b65471e6e1ad4b5a126bf728336260 |