-
Notifications
You must be signed in to change notification settings - Fork 24.4k
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
(Android) crash on TextInput onKeyPress when inputting an emoji via auto-complete #18405
Comments
Thanks for posting this! It looks like your issue may refer to an older version of React Native. Can you reproduce the issue on the latest release, v0.54.0? Thank you for your contributions. |
Yes, I can repro with 0.54.2. |
So the "Failed to create value from JSON: " exception is thrown from:
Debugging this code, this is called from:
The conversion to JSON produces the string:
(I'm not 100% sure if the �, which is supposed to be the potato emoji, is messed up because of the JSON conversion messing up or my debugging output.) It is the
so it looks like |
Digging into the git history, this C++ code has been around forever. So why is it only showing up now? I'm almost certain it's because of this commit included in 0.53.0: c9ff0bc . It implements the onKeyPress events for Android, and this line c9ff0bc#diff-6bb282dadefaebe4c849ce7b47fa47a0R44 triggers the C++ code above. Paging @joshyhargreaves who implemented the above commit. Do you know of any way to work around this bug, i.e. turn off the Android keypress events? |
Also, if I set
and comment out everything in that block but
|
@akalin-keybase thank you for reporting & providing a great error report! Hmm, wow this is interesting! I'll do some debugging and see what I can find. You're right right it is unclear as to why this is only happening now. Is this bug reproducible on android simulators from your findings? Yep so I can put together a quick PR that disables this codepath unless explicitly enabled, which would probably be for the best. It'd obviously be good to get to the bottom of why this is happening also. @hramos what do you think? |
Yeap, it's reproducible with the android simulator. Yeah, a PR to disable the codepath unless needed seems like a good idea, thanks! |
@akalin-keybase, I’m going to get to this today or tomorrow. |
@akalin-keybase @hramos I opened a PR to disable the I'm also going to have a look into the onKeyPress logic, it looks like the logic itself doesn't work particularly well with unicode characters as it assumes key's pressed can only have a width of 1. |
@joshyhargreaves @akalin-keybase I think we've hit this issue here although not with autocomplete, seems just using the emoji keyboard does the trick and causes a crash with the Can only replicate if the app is running on-device, and only so far with the stock android keyboard. Swiftkey and Samsung keyboard seem to be immune, as does any keyboard if the app is running in the Chrome devtools debugger. |
@joshyhargreaves thanks a lot for the commit, it reduced the crashes a lot after applying that. My TextInput is uncontrolled with just Hope someone will be able to fix it soon. |
@kevinkevw hmm, that is strange. |
Summary: <!-- Required: Write your motivation here. If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged. --> There are some bugs surrounding the use of unicode characters that are causing issues with `onKeyPress` on Android: see facebook#18405 (comment). We disable the creation and use of `ReactEditTextInputConnectionWrapper` unless the onKeyPress prop is specified, so that this code is 'opt-in' & not a general regression for every use of the TextInput. N.B. it seems to introduce a lot of unnecessary code complexity to allow for enabling/disabling the onKeyPress events after a InputConnection has been created in `onCreateInputConnection` when the keyboard focusses (a new input connection is created whenever a TextInput gains focus) so I opted not to for simplicity's sake. Build & debug RNTest app, verify ReactEditTextInputConnectionWrapper code not executed if onKeyPress function not specified. <!-- Required: Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos! --> [ANDROID] [BUGFIX] [TextInput] - Disable TextInput onKeyPress event from being fired unless callback specified. Closes facebook#18443 Differential Revision: D8149625 Pulled By: hramos fbshipit-source-id: cdf28141d71cdedd67a6ef350e3a3b955f97e340
we're not on 0.56 yet, unfortunately (we had to branch and patch a few other bugs ourselves) |
Summary: <!-- Required: Write your motivation here. If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged. --> There are some bugs surrounding the use of unicode characters that are causing issues with `onKeyPress` on Android: see facebook#18405 (comment). We disable the creation and use of `ReactEditTextInputConnectionWrapper` unless the onKeyPress prop is specified, so that this code is 'opt-in' & not a general regression for every use of the TextInput. N.B. it seems to introduce a lot of unnecessary code complexity to allow for enabling/disabling the onKeyPress events after a InputConnection has been created in `onCreateInputConnection` when the keyboard focusses (a new input connection is created whenever a TextInput gains focus) so I opted not to for simplicity's sake. Build & debug RNTest app, verify ReactEditTextInputConnectionWrapper code not executed if onKeyPress function not specified. <!-- Required: Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos! --> [ANDROID] [BUGFIX] [TextInput] - Disable TextInput onKeyPress event from being fired unless callback specified. Closes facebook#18443 Differential Revision: D8149625 Pulled By: hramos fbshipit-source-id: cdf28141d71cdedd67a6ef350e3a3b955f97e340
@akalin-keybase Do you have any solution for now? I have applied the commit that disabled the onKeyPress event but it still happens 😢 |
@kevinkevw, to sanity check this you never create the InputConnection at all. However I do highly suspect there is another cause. |
@joshyhargreaves How to check? I am not sure what InputConnection is. |
@kevinkevw, stupid question, but are you building react native from source for Android? |
@joshyhargreaves No, I build by react-native run-android. |
I got this error when delete emoji in TextInput, anyone have a solution to fix that bug |
Just upgraded to 0.56 and the problems seems to have been resolved. |
Summary: <!-- Required: Write your motivation here. If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged. --> There are some bugs surrounding the use of unicode characters that are causing issues with `onKeyPress` on Android: see facebook#18405 (comment). We disable the creation and use of `ReactEditTextInputConnectionWrapper` unless the onKeyPress prop is specified, so that this code is 'opt-in' & not a general regression for every use of the TextInput. N.B. it seems to introduce a lot of unnecessary code complexity to allow for enabling/disabling the onKeyPress events after a InputConnection has been created in `onCreateInputConnection` when the keyboard focusses (a new input connection is created whenever a TextInput gains focus) so I opted not to for simplicity's sake. Build & debug RNTest app, verify ReactEditTextInputConnectionWrapper code not executed if onKeyPress function not specified. <!-- Required: Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos! --> [ANDROID] [BUGFIX] [TextInput] - Disable TextInput onKeyPress event from being fired unless callback specified. Closes facebook#18443 Differential Revision: D8149625 Pulled By: hramos fbshipit-source-id: cdf28141d71cdedd67a6ef350e3a3b955f97e340
Any workarounds other than upgrade to 0.56 ?? |
@danielreuterwall did you tried on a Pixel device? I'm still seeing this crash on a Pixel phone, I Tested on Motorola and is working |
Upgrading to 0.56 is not an option for me at the moment. Is there a fix I can do myself? |
Any updates on this issue @joshjhargreaves @akalin-keybase ? I am still searching to find some workaround for this issue. I am using react-native 0.55.2. |
Summary: # Please include the following changelog as your Diff Summary: This sync includes the following changes: - **[a437f3ff3](https://github.com/facebook/react/commit/a437f3ff3 )**: Use RN fork in default branch of feature flags (#19522) //<Ricky>// - **[86314d5b4](https://github.com/facebook/react/commit/86314d5b4 )**: Turn off new component stacks for React Native (#19521) //<Ricky>// - **[5f1890f12](https://github.com/facebook/react/commit/5f1890f12 )**: Bugfix: Don't unmount siblings of deleted node (#19516) //<Andrew Clark>// - **[93a0c2830](https://github.com/facebook/react/commit/93a0c2830 )**: Add static version of Passive subtree tag (#19510) //<Andrew Clark>// - **[3d0895557](https://github.com/facebook/react/commit/3d0895557 )**: Disable onScroll bubbling statically except for WWW (#19503) //<Dan Abramov>// - **[332ecefac](https://github.com/facebook/react/commit/332ecefac )**: Revert "Statically enable enableFilterEmptyStringAttributesDOM (#19502)" (#19504) //<Dan Abramov>// - **[815ee89bf](https://github.com/facebook/react/commit/815ee89bf )**: Statically enable enableFilterEmptyStringAttributesDOM (#19502) //<Dan Abramov>// - **[ede917064](https://github.com/facebook/react/commit/ede917064 )**: Move passive logic out of layout phase (#19500) //<Andrew Clark>// - **[6ef997b53](https://github.com/facebook/react/commit/6ef997b53 )**: Check for passive effects on the root fiber (#19488) //<Andrew Clark>// - **[e1f96b82b](https://github.com/facebook/react/commit/e1f96b82b )**: Check PassiveStatic instead of Passive (#19489) //<Andrew Clark>// - **[eae90cdbe](https://github.com/facebook/react/commit/eae90cdbe )**: Effects list refactor continued: passive effects traversal (#19374) //<Brian Vaughn>// - **[74cd7e5f1](https://github.com/facebook/react/commit/74cd7e5f1 )**: Use feature flags for React Native in the test renderer (#19486) //<Ricky>// - **[7c8cc4358](https://github.com/facebook/react/commit/7c8cc4358 )**: Add postTask browser scheduler implementation (#19479) //<Ricky>// - **[5227a3786](https://github.com/facebook/react/commit/5227a3786 )**: Add "unstable_" prefix to experimental mutable source APIs (#19472) //<Brian Vaughn>// - **[52c514627](https://github.com/facebook/react/commit/52c514627 )**: Add SchedulerHostConfig fork for post task (#19470) //<Ricky>// - **[722bc046d](https://github.com/facebook/react/commit/722bc046d )**: Don't rely on `didTimeout` for SyncBatched (#19469) //<Andrew Clark>// - **[96ac799ea](https://github.com/facebook/react/commit/96ac799ea )**: Remove `callbackId` field from FiberRoot (#19458) //<Andrew Clark>// - **[c24b641b7](https://github.com/facebook/react/commit/c24b641b7 )**: Remove `timeout` option from `scheduleCallback` (#19457) //<Andrew Clark>// - **[06d104e8e](https://github.com/facebook/react/commit/06d104e8e )**: Don't emulate bubbling of the scroll event (#19464) //<Dan Abramov>// - **[b55f75d0a](https://github.com/facebook/react/commit/b55f75d0a )**: fix issue #19362 + test (#19412) //<Robert Ferentz>// - **[d93c8faad](https://github.com/facebook/react/commit/d93c8faad )**: Move Persistent Mode Optimization away from firstEffect (#19381) //<Sebastian Markbåge>// - **[909b612e2](https://github.com/facebook/react/commit/909b612e2 )**: Sync React Native types (#19437) //<Ricky>// - **[c9749d38e](https://github.com/facebook/react/commit/c9749d38e )**: Generate RN renderers for stable builds (#19421) //<Ricky>// - **[ab1f51700](https://github.com/facebook/react/commit/ab1f51700 )**: isFBBundle should be true if it's FB for www or FB for RN (#19420) //<Sebastian Markbåge>// - **[b23ea02be](https://github.com/facebook/react/commit/b23ea02be )**: Track event times per lane on the root (#19387) //<Andrew Clark>// - **[faa697f4f](https://github.com/facebook/react/commit/faa697f4f )**: Set current update lane priority for user blocking events (#19342) //<Ricky>// - **[51267c4ac](https://github.com/facebook/react/commit/51267c4ac )**: Sync scheduling profiler marks and debug tracing to new reconciler fork (#19375, #19376, #19396) //<Brian Vaughn>// - **[aec934af7](https://github.com/facebook/react/commit/aec934af7 )**: Remove form event delegation flag (#19395) //<Dan Abramov>// - **[9102719ba](https://github.com/facebook/react/commit/9102719ba )**: Tidy up React Scope API (#19352) //<Dominic Gannaway>// - **[a226b9b44](https://github.com/facebook/react/commit/a226b9b44 )**: Effects list refactor continued: did-bailout flag (#19322) //<Brian Vaughn>// - **[a89854bc9](https://github.com/facebook/react/commit/a89854bc9 )**: Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) //<Brian Vaughn>// - **[4961833db](https://github.com/facebook/react/commit/4961833db )**: Don't build shallow renderer UMD bundles //<Dan Abramov>// - **[392277f0a](https://github.com/facebook/react/commit/392277f0a )**: Revert "Scheduling profiler updates (#19334)" (#19366) //<Dominic Gannaway>// - **[6d7555b01](https://github.com/facebook/react/commit/6d7555b01 )**: Scheduling profiler updates (#19334) //<Brian Vaughn>// - **[d1f2143aa](https://github.com/facebook/react/commit/d1f2143aa )**: Use RetryLanes instead of event time (follow up) (#19335) //<Andrew Clark>// - **[fe19b4247](https://github.com/facebook/react/commit/fe19b4247 )**: eslint-plugin-react-hooks@4.0.8 //<Dan Abramov>// - **[84479046f](https://github.com/facebook/react/commit/84479046f )**: reference not add to dependencies if only its type is used as typeof arg (#19316) //<Bianca Del Carretto>// - **[26472c889](https://github.com/facebook/react/commit/26472c889 )**: Bubble onSubmit/onReset behind a feature flag (#19333) //<Dan Abramov>// - **[61dd00db2](https://github.com/facebook/react/commit/61dd00db2 )**: Extract some of the tidy up changes from 19278 (#19315) //<Dominic Gannaway>// - **[a2b4db05b](https://github.com/facebook/react/commit/a2b4db05b )**: eslint-plugin-react-hooks@4.0.7 //<Dan Abramov>// - **[47915fd6e](https://github.com/facebook/react/commit/47915fd6e )**: [ESLint] Fix a bug causing a too coarse dependency suggestion (#19313) //<Dan Abramov>// - **[970fa122d](https://github.com/facebook/react/commit/970fa122d )**: Use lanes to check if a render is a Suspense retry (#19307) //<Andrew Clark>// - **[14084be28](https://github.com/facebook/react/commit/14084be28 )**: Refactor algorithm for next Lanes to work on (#19302) //<Andrew Clark>// - **[965d08cff](https://github.com/facebook/react/commit/965d08cff )**: Add dedicated LanePriority for Suspense retries (#19287) //<Andrew Clark>// - **[766af5968](https://github.com/facebook/react/commit/766af5968 )**: Move Scope API ref resolution to mutation phase (#19264) //<Dominic Gannaway>// - **[77e872217](https://github.com/facebook/react/commit/77e872217 )**: Improve readability of isValidElementType (#19251) //<Behnam Mohammadi>// - **[d87220f21](https://github.com/facebook/react/commit/d87220f21 )**: Add console group methods to dev disabled groups (#19069) //<Giovanni Fumagalli>// - **[f5ea39c18](https://github.com/facebook/react/commit/f5ea39c18 )**: Modern Event System: make on*Capture events use capture phase (#19221) //<Dominic Gannaway>// - **[40cddfeeb](https://github.com/facebook/react/commit/40cddfeeb )**: Add user timing marks for scheduling profiler tool (#19223) //<E-Liang Tan>// - **[6fd432113](https://github.com/facebook/react/commit/6fd432113 )**: eslint-plugin-react-hooks@4.0.6 //<Dan Abramov>// - **[7c35cb20e](https://github.com/facebook/react/commit/7c35cb20e )**: [ESLint] Handle optional member chains (#19275) //<Dan Abramov>// - **[dccf541ec](https://github.com/facebook/react/commit/dccf541ec )**: Allow decoupleUpdatePriorityFromScheduler to be set (#19272) //<Ricky>// - **[7ca1d861e](https://github.com/facebook/react/commit/7ca1d861e )**: [ESLint] Consistently treat optional chaining as regular chaining (#19273) //<Dan Abramov>// - **[4eb9b1d2b](https://github.com/facebook/react/commit/4eb9b1d2b )**: Refactor createEventHandle signature (#19174) //<Dominic Gannaway>// - **[91a2e8173](https://github.com/facebook/react/commit/91a2e8173 )**: Decouple update priority tracking from Scheduler package (#19121) //<Ricky>// - **[0f84b0f02](https://github.com/facebook/react/commit/0f84b0f02 )**: Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260) //<Joe Lencioni>// - **[670c0376e](https://github.com/facebook/react/commit/670c0376e )**: Enable createEventHandle API for wWW test builds (#19262) //<Brian Vaughn>// - **[9fba65efa](https://github.com/facebook/react/commit/9fba65efa )**: Enable modern event system and delete dead code (#19230) //<Dan Abramov>// - **[e3f4eb727](https://github.com/facebook/react/commit/e3f4eb727 )**: Fork legacy-events folder into react-dom and react-native (#19228) //<Dan Abramov>// - **[b231445f9](https://github.com/facebook/react/commit/b231445f9 )**: Move responder tests and remove dead code (#19226) //<Dan Abramov>// - **[5707eeb2d](https://github.com/facebook/react/commit/5707eeb2d )**: Run ReactBrowserEventEmitter test on bundles (#19225) //<Dan Abramov>// - **[b2bac7311](https://github.com/facebook/react/commit/b2bac7311 )**: Remove React Flare Keyboard responder (#19222) //<Dominic Gannaway>// - **[f918b0eb4](https://github.com/facebook/react/commit/f918b0eb4 )**: Fix development mode hang when iframe is removed (#19220) //<Dan Abramov>// - **[8bff8987e](https://github.com/facebook/react/commit/8bff8987e )**: Don't bailout after Suspending in Legacy Mode (#19216) //<Dan Abramov>// - **[f4097c1ae](https://github.com/facebook/react/commit/f4097c1ae )**: Added warning to <Context.Provider> in case no value prop is provided (#19054) //<Shailendra Gupta>// - **[47ff31a77](https://github.com/facebook/react/commit/47ff31a77 )**: Revert "Add regression test for #18497 (#18538)" (#19215) //<Dan Abramov>// - **[fa32cf299](https://github.com/facebook/react/commit/fa32cf299 )**: Add regression tests where sync render causes later concurrent render to expire soon (#18608) //<jddxf>// - **[1887c5d94](https://github.com/facebook/react/commit/1887c5d94 )**: eslint-plugin-react-hooks@4.0.5 //<Dan Abramov>// - **[b0533fe33](https://github.com/facebook/react/commit/b0533fe33 )**: fix(eslint-plugin-react-hooks): Support optional chaining when accessing prototype method inside useCallback and useMemo #19061 (#19062) //<Fred Vollmer>// - **[e9c1445ba](https://github.com/facebook/react/commit/e9c1445ba )**: Add regression test for #18497 (#18538) //<Sophie Alpert>// - **[7d0e4150a](https://github.com/facebook/react/commit/7d0e4150a )**: Fix react-runtime `main` field (#19193) //<Christoph Nakazawa>// - **[ffe516f3b](https://github.com/facebook/react/commit/ffe516f3b )**: use NoTimestamp instead of -1 (#19182) //<Chen Gang>// - **[1425fcbb8](https://github.com/facebook/react/commit/1425fcbb8 )**: Re-enabled DebugTracing feature for old reconciler fork (#19161) //<Brian Vaughn>// - **[5b9865690](https://github.com/facebook/react/commit/5b9865690 )**: fix: use define property to overwrite console, close #19099 (#19123) //<Jack Works>// - **[6ba25b96d](https://github.com/facebook/react/commit/6ba25b96d )**: Bugfix: Legacy Mode + DevTools "force fallback" (#19164) //<Andrew Clark>// - **[d1d9054e0](https://github.com/facebook/react/commit/d1d9054e0 )**: Revert "Re-enabled DebugTracing feature for old reconciler fork (#19142)" (#19159) //<Luna Ruan>// - **[090c6ed75](https://github.com/facebook/react/commit/090c6ed75 )**: [eslint-plugin-react-hooks]: handling sparse array when no-inline callback (#19145) //<YeonJuan>// - **[cc7c1aece](https://github.com/facebook/react/commit/cc7c1aece )**: Re-enabled DebugTracing feature for old reconciler fork (#19142) //<Brian Vaughn>// - **[30b47103d](https://github.com/facebook/react/commit/30b47103d )**: Fix spelling errors and typos (#19138) //<Ricky>// - **[655affa30](https://github.com/facebook/react/commit/655affa30 )**: Clarifications //<Rick Hanlon>// - **[103ed08c4](https://github.com/facebook/react/commit/103ed08c4 )**: Remove shouldDeprioritizeSubtree from host config (#19124) //<Andrew Clark>// - **[8f05f2bd6](https://github.com/facebook/react/commit/8f05f2bd6 )**: Land Lanes implementation in old fork (#19108) //<Andrew Clark>// - **[7f28234f8](https://github.com/facebook/react/commit/7f28234f8 )**: Enable component stacks everywhere except RN (#19120) //<Sebastian Markbåge>// - **[e3ccdf154](https://github.com/facebook/react/commit/e3ccdf154 )**: Remove synamic modern event system flag for FB (#19059) //<Dominic Gannaway>// - **[4c7036e80](https://github.com/facebook/react/commit/4c7036e80 )**: Bugfix: Infinite loop in beforeblur event (#19053) //<Andrew Clark>// - **[1d85bb3ce](https://github.com/facebook/react/commit/1d85bb3ce )**: Build FB specific Isomorphic Bundles (#19049) //<Sebastian Markbåge>// - **[89edb0eae](https://github.com/facebook/react/commit/89edb0eae )**: Enable component stack locations in www (#19047) //<Sebastian Markbåge>// - **[cb1416817](https://github.com/facebook/react/commit/cb1416817 )**: Remove unnecessary throw catch (#19044) //<Sebastian Markbåge>// - **[c03b8661a](https://github.com/facebook/react/commit/c03b8661a )**: Upgrade Closure Compiler (#19041) //<Sebastian Markbåge>// - **[2e7cc949a](https://github.com/facebook/react/commit/2e7cc949a )**: Remove www builds of fetch (#19038) //<Sebastian Markbåge>// - **[76f157e3d](https://github.com/facebook/react/commit/76f157e3d )**: Add simple Node build (#19022) //<Sebastian Markbåge>// - **[60afa3c11](https://github.com/facebook/react/commit/60afa3c11 )**: Lint bundles using the bundle config instead of scanning for files (#19025) //<Sebastian Markbåge>// - **[518ce9c25](https://github.com/facebook/react/commit/518ce9c25 )**: Add Lazy Elements Behind a Flag (#19033) //<Sebastian Markbåge>// - **[4985bb0a8](https://github.com/facebook/react/commit/4985bb0a8 )**: Rename 17 to 18 in warnings (#19031) //<Sebastian Markbåge>// - **[86b4070dd](https://github.com/facebook/react/commit/86b4070dd )**: Cleaned up passive effects experimental flags (#19021) //<Brian Vaughn>// - **[607148673](https://github.com/facebook/react/commit/607148673 )**: Remove ReactComponentTreeHook from internals (#19032) //<Sebastian Markbåge>// - **[43e59f29d](https://github.com/facebook/react/commit/43e59f29d )**: Delete Entries without Build Output from package.json and the build directory (#19029) //<Sebastian Markbåge>// - **[0219925e0](https://github.com/facebook/react/commit/0219925e0 )**: Remove regenerator from noop (#19024) //<Sebastian Markbåge>// - **[c66ac10f4](https://github.com/facebook/react/commit/c66ac10f4 )**: Lint classic www build (#19023) //<Sebastian Markbåge>// - **[55cb0b7ee](https://github.com/facebook/react/commit/55cb0b7ee )**: Only prepare extra stack frames if needed (#19014) //<Sebastian Markbåge>// - **[9752d31f1](https://github.com/facebook/react/commit/9752d31f1 )**: Document `additionalHooks` option (#19005) //<Aaron Pettengill>// - **[b7ff88819](https://github.com/facebook/react/commit/b7ff88819 )**: eslint-plugin-react-hooks@4.0.4 //<Dan Abramov>// - **[18de3b6e7](https://github.com/facebook/react/commit/18de3b6e7 )**: Bug: Spawning hydration in response to Idle update (#19011) //<Andrew Clark>// - **[fb735423b](https://github.com/facebook/react/commit/fb735423b )**: Fix rollup validate script (#18900) //<Toru Kobayashi>// - **[8abc202c7](https://github.com/facebook/react/commit/8abc202c7 )**: [eslint-plugin-react-hooks] Prefer recommended eslint configuration (#18951) //<Julien Deniau>// - **[4821d609e](https://github.com/facebook/react/commit/4821d609e )**: fix(eslint-plugin-react-hooks): Added matching for nullish coalescing and optional chaining of dependencies, relates to #18985 (#19008) //<Yann アウネ Eves>// - **[67e130fc6](https://github.com/facebook/react/commit/67e130fc6 )**: eslint-plugin-react-hooks@4.0.3 //<Dan Abramov>// - **[bb2239dc9](https://github.com/facebook/react/commit/bb2239dc9 )**: Revert "Feature: Add support to `exhaustive-deps` rule for any hook ending with `Effect` (#18580)" (#19004) //<Dan Abramov>// - **[03e6b8ba2](https://github.com/facebook/react/commit/03e6b8ba2 )**: Make LegacyHidden match semantics of old fork (#18998) //<Andrew Clark>// - **[3ca1904b3](https://github.com/facebook/react/commit/3ca1904b3 )**: react-refresh@0.8.3 //<Dan Abramov>// - **[0aa4cc544](https://github.com/facebook/react/commit/0aa4cc544 )**: Resolve an edge case where ref.node can be falsy (#18984) //<yjimk>// - **[8f4dc3e5d](https://github.com/facebook/react/commit/8f4dc3e5d )**: Warn if MutableSource snapshot is a function (#18933) //<Brian Vaughn>// - **[142d4f1c0](https://github.com/facebook/react/commit/142d4f1c0 )**: useMutableSource hydration support (#18771) //<Brian Vaughn>// - **[aefb97e6b](https://github.com/facebook/react/commit/aefb97e6b )**: DevTools: Add root and renderer version to inspected props panel (#18963) //<Brian Vaughn>// - **[74394aa8c](https://github.com/facebook/react/commit/74394aa8c )**: Add unstable_isNewReconciler to dispatcher (#18975) //<Andrew Clark>// - **[730ae7afa](https://github.com/facebook/react/commit/730ae7afa )**: Clear fiber.sibling field when clearing nextEffect (#18970) //<Dominic Gannaway>// - **[4a3f779d6](https://github.com/facebook/react/commit/4a3f779d6 )**: Remove event pooling in the modern system (#18969) //<Dominic Gannaway>// - **[22f7663f1](https://github.com/facebook/react/commit/22f7663f1 )**: Profiler: Don't count timed out (hidden) subtrees in base duration (#18966) //<Brian Vaughn>// - **[64f50c667](https://github.com/facebook/react/commit/64f50c667 )**: Remove disableHiddenPropDeprioritization flag (#18964) //<Andrew Clark>// - **[a30a1c6ef](https://github.com/facebook/react/commit/a30a1c6ef )**: Transfer actualDuration only once for SuspenseList (#18959) //<Sebastian Markbåge>// - **[8b3b5c352](https://github.com/facebook/react/commit/8b3b5c352 )**: Bugfix: Missing mode check in resetChildLanes (#18961) //<Andrew Clark>// - **[95ea8ed47](https://github.com/facebook/react/commit/95ea8ed47 )**: LegacyHidden: mode that defers without hiding (#18958) //<Andrew Clark>// - **[c390ab364](https://github.com/facebook/react/commit/c390ab364 )**: Add test for displayName on React.memo components (#18925) //<Sebastian Silbermann>// - **[6ed5c2243](https://github.com/facebook/react/commit/6ed5c2243 )**: Add MIT license to use-subscription package (#18927) //<Gabriele Prestifilippo>// - **[121af3143](https://github.com/facebook/react/commit/121af3143 )**: Update inaccurate mapChildren comment (#18931) //<Ricky Vetter>// - **[21dc41c32](https://github.com/facebook/react/commit/21dc41c32 )**: Simplify logic for mutable workInProgressSources (#18920) //<Sophie Alpert>// - **[0fb747f36](https://github.com/facebook/react/commit/0fb747f36 )**: Add LegacyHidden to server renderer (#18919) //<Andrew Clark>// - **[b4a1a4980](https://github.com/facebook/react/commit/b4a1a4980 )**: Disable <div hidden /> API in old fork, too (#18917) //<Andrew Clark>// - **[9e5b2c94e](https://github.com/facebook/react/commit/9e5b2c94e )**: Add expando prop to disabledLog function (#18914) //<Brian Vaughn>// - **[fdb641629](https://github.com/facebook/react/commit/fdb641629 )**: Fix useMutableSource tearing bug (#18912) //<Andrew Clark>// - **[33589f742](https://github.com/facebook/react/commit/33589f742 )**: useMutableSource: "Entangle" instead of expiring (#18889) //<Andrew Clark>// - **[43063fd84](https://github.com/facebook/react/commit/43063fd84 )**: eslint-plugin-react-hooks@4.0.2 //<Dan Abramov>// - **[f6ff4c43d](https://github.com/facebook/react/commit/f6ff4c43d )**: Update changelog //<Dan Abramov>// - **[487c69384](https://github.com/facebook/react/commit/487c69384 )**: [eslint-plugin-react-hooks] useWithoutEffectSuffix fix (#18902) (#18907) //<Boris Sergeev>// - **[61f2a560e](https://github.com/facebook/react/commit/61f2a560e )**: Add experimental ReactDOM.createEventHandle (#18756) //<Dominic Gannaway>// - **[14e554b31](https://github.com/facebook/react/commit/14e554b31 )**: Add missing changelog item //<Dan Abramov>// - **[80c4dea0d](https://github.com/facebook/react/commit/80c4dea0d )**: Modern Event System: Add scaffolding for createEventHandle (#18898) //<Dominic Gannaway>// - **[9f396bdd5](https://github.com/facebook/react/commit/9f396bdd5 )**: eslint-plugin-react-hooks@4.0.1 //<Dan Abramov>// - **[c512aa008](https://github.com/facebook/react/commit/c512aa008 )**: [Blocks] Scaffolding react-fetch + first pass at node implementation (#18863) //<Richard Maisano>// - **[e936034ee](https://github.com/facebook/react/commit/e936034ee )**: Add item to ESLint Hooks plugin changelog //<Dan Abramov>// - **[c3ff21e01](https://github.com/facebook/react/commit/c3ff21e01 )**: feat(eslint-plugin-react-hooks): Support ESLint 7.x (#18878) //<Michaël De Boey>// - **[8b9c4d168](https://github.com/facebook/react/commit/8b9c4d168 )**: Expose LegacyHidden type and disable <div hidden /> API in new fork (#18891) //<Andrew Clark>// - **[ef0bf8e31](https://github.com/facebook/react/commit/ef0bf8e31 )**: Revert "Hard code enableComponentStacks in www (#18869)" (#18890) //<Dominic Gannaway>// - **[ddcc69c83](https://github.com/facebook/react/commit/ddcc69c83 )**: Added clear message for functional component starting with lowercase (#18881) //<Rohith Srivathsav>// - **[539527b64](https://github.com/facebook/react/commit/539527b64 )**: Don't cut off effects at end of list if hydrating (#18872) //<Sebastian Markbåge>// - **[fd696df47](https://github.com/facebook/react/commit/fd696df47 )**: Hard code enableComponentStacks in www (#18869) //<Sebastian Markbåge>// - **[6edaf6f76](https://github.com/facebook/react/commit/6edaf6f76 )**: Detect and prevent render starvation, per lane (#18864) //<Andrew Clark>// - **[df14b5bcc](https://github.com/facebook/react/commit/df14b5bcc )**: add new IDs for each each server renderer instance and prefixes to distinguish between each server render (#18576) //<Luna Ruan>// - **[fb3f0acad](https://github.com/facebook/react/commit/fb3f0acad )**: Disable Webpack setImmediate polyfill for DevTools (#18860) //<Brian Vaughn>// - **[edf6eac8a](https://github.com/facebook/react/commit/edf6eac8a )**: Don't cut off the tail of a SuspenseList if hydrating (#18854) //<Sebastian Markbåge>// - **[55f5cdee0](https://github.com/facebook/react/commit/55f5cdee0 )**: Disable setState before mount in legacy mode (#18851) //<Sebastian Markbåge>// - **[47ebc90b0](https://github.com/facebook/react/commit/47ebc90b0 )**: Put render phase update change behind a flag (#18850) //<Andrew Clark>// - **[96f3b7d1c](https://github.com/facebook/react/commit/96f3b7d1c )**: Warn if calling setState outside of render but before commit (#18838) //<Sebastian Markbåge>// - **[40e602946](https://github.com/facebook/react/commit/40e602946 )**: wrap SuspenseInstanceRetry callback so scheduler waits for it (#18805) //<Fernando Lores>// - **[3cde22a84](https://github.com/facebook/react/commit/3cde22a84 )**: Experimental test selector API (#18607) //<Brian Vaughn>// - **[7992ca10d](https://github.com/facebook/react/commit/7992ca10d )**: eslint-plugin-react-hooks: allow OptionalMemberExpression in deps (#18819) (#18820) //<Kevin Lewis>// - **[fe7163e73](https://github.com/facebook/react/commit/fe7163e73 )**: Add unstable prefix to experimental APIs (#18825) //<Andrew Clark>// - **[cd4a96035](https://github.com/facebook/react/commit/cd4a96035 )**: Remove old CM exports (#18710) //<Sebastian Markbåge>// - **[9751935ab](https://github.com/facebook/react/commit/9751935ab )**: Modern Event System: improve dispatching queue (#18799) //<Dominic Gannaway>// - **[3e13d7098](https://github.com/facebook/react/commit/3e13d7098 )**: [RN] Remove debugging invariant (#18813) //<Dan Abramov>// - **[d830cd998](https://github.com/facebook/react/commit/d830cd998 )**: [Blocks] Fix stale data on updates (#18810) //<Dan Abramov>// - **[64d4b8420](https://github.com/facebook/react/commit/64d4b8420 )**: Rename Flight to Transport (#18808) //<Sebastian Markbåge>// - **[93e078ddf](https://github.com/facebook/react/commit/93e078ddf )**: Initial Lanes implementation (#18796) //<Andrew Clark>// - **[3c7d52c3d](https://github.com/facebook/react/commit/3c7d52c3d )**: Give unresolved lazy() a name in component stack (#16104) //<Moti Zilberman>// - **[333deb707](https://github.com/facebook/react/commit/333deb707 )**: Remove hint to post feedback about exhaustive-deps rule (#18712) //<Benedikt Franke>// - **[aa88589d0](https://github.com/facebook/react/commit/aa88589d0 )**: Refine experimental Scopes API (#18778) //<Dominic Gannaway>// - **[d804f99b9](https://github.com/facebook/react/commit/d804f99b9 )**: eslint-plugin-react-hooks@4.0.0 //<Dan Abramov>// - **[4e93b9364](https://github.com/facebook/react/commit/4e93b9364 )**: Add changelog for eslint-plugin-react-hooks (#18801) //<Dan Abramov>// - **[5ac9ca72d](https://github.com/facebook/react/commit/5ac9ca72d )**: Feature: Add support to `exhaustive-deps` rule for any hook ending with `Effect` (#18580) //<Aaron Pettengill>// - **[eab94403d](https://github.com/facebook/react/commit/eab94403d )**: Build Flight runtime for WWW (revert part of earlier change) //<Dan Abramov>// - **[17dcc29cd](https://github.com/facebook/react/commit/17dcc29cd )**: Don't "schedule" discrete work if we're scheduling sync work (#18797) //<Sebastian Markbåge>// - **[9491f3947](https://github.com/facebook/react/commit/9491f3947 )**: react-refresh@0.8.2 //<Dan Abramov>// - **[43a1c7275](https://github.com/facebook/react/commit/43a1c7275 )**: Don't build react-data for WWW //<Dan Abramov>// - **[01914a767](https://github.com/facebook/react/commit/01914a767 )**: Update bundle configs to not build some packages (#18800) //<Dan Abramov>// - **[21670cf4b](https://github.com/facebook/react/commit/21670cf4b )**: [react-refresh/babel] Always insert registrations after var (#18794) //<Sophie Alpert>// - **[914b57be2](https://github.com/facebook/react/commit/914b57be2 )**: Move legacy hidden API to new internal Fiber type (#18782) //<Andrew Clark>// - **[ac533fde3](https://github.com/facebook/react/commit/ac533fde3 )**: Prevent stale legacy root from clearing a container (DRAFT) (#18792) //<Brian Vaughn>// - **[5b89d353e](https://github.com/facebook/react/commit/5b89d353e )**: Update react-refresh README //<Dan Abramov>// - **[3a9c37352](https://github.com/facebook/react/commit/3a9c37352 )**: [Blocks] Add preload to fetch (#18785) //<Dan Abramov>// - **[dd7f0deb9](https://github.com/facebook/react/commit/dd7f0deb9 )**: [Blocks] Use native fetch (#18784) //<Dan Abramov>// - **[515326753](https://github.com/facebook/react/commit/515326753 )**: [Blocks] Initial implementation of cache and data/fetch (#18774) //<Dan Abramov>// - **[ea2af878c](https://github.com/facebook/react/commit/ea2af878c )**: Root API should clear non-empty roots before mounting (#18730) //<Brian Vaughn>// - **[53ce0c345](https://github.com/facebook/react/commit/53ce0c345 )**: Allow flushSync to noop in life cycles but with a warning (#18759) //<Sebastian Markbåge>// - **[f342a2399](https://github.com/facebook/react/commit/f342a2399 )**: SuspenseList: Reschedule at same priority (#18738) //<Andrew Clark>// - **[cb7075399](https://github.com/facebook/react/commit/cb7075399 )**: Move hide/unhide logic to Offscreen component //<Andrew Clark>// - **[cb48f974c](https://github.com/facebook/react/commit/cb48f974c )**: Wrap primary tree in Offscreen fiber type //<Andrew Clark>// - **[ed01fdacc](https://github.com/facebook/react/commit/ed01fdacc )**: Add Offscreen component type //<Luna Ruan>// - **[1df756ba2](https://github.com/facebook/react/commit/1df756ba2 )**: Always wrap Suspense children in fragment (#18711) //<Andrew Clark>// - **[db6513914](https://github.com/facebook/react/commit/db6513914 )**: Make ExpirationTime an opaque type (#18732) //<Andrew Clark>// - **[4b02b6611](https://github.com/facebook/react/commit/4b02b6611 )**: [ESLint] Extend isHook to recognize those under PascalCase's namespace (#18722) //<Chang Yan>// - **[30cee2f4c](https://github.com/facebook/react/commit/30cee2f4c )**: Modern Event System: register onMouseEnter for portals (#18720) //<Dominic Gannaway>// - **[b58dec979](https://github.com/facebook/react/commit/b58dec979 )**: Remove unnecessary stack (#18707) //<Sebastian Markbåge>// - **[a2fb84beb](https://github.com/facebook/react/commit/a2fb84beb )**: Disable prepareStackTrace while we're generating stacks (#18708) //<Sebastian Markbåge>// - **[b0cb137bc](https://github.com/facebook/react/commit/b0cb137bc )**: Don't dedupe using the stack (#18693) //<Sebastian Markbåge>// - **[571f5ad2d](https://github.com/facebook/react/commit/571f5ad2d )**: Temporarily Remove DebugTracing from the New Reconciler (#18697) //<Sebastian Markbåge>// - **[2325375f4](https://github.com/facebook/react/commit/2325375f4 )**: Nit: add suffix _TIMEOUT consistently in scheduler (#18696) //<Sebastian Markbåge>// - **[36cab2720](https://github.com/facebook/react/commit/36cab2720 )**: DevTools: Improved "native" component stacks (#18656) //<Brian Vaughn>// - **[940f48b99](https://github.com/facebook/react/commit/940f48b99 )**: Avoid passing custom stacks to console.error (#18685) //<Sebastian Markbåge>// - **[ff431b7fc](https://github.com/facebook/react/commit/ff431b7fc )**: Remove ReactDOM.useEvent and associated types+tests (#18689) //<Dominic Gannaway>// - **[80d39d8b5](https://github.com/facebook/react/commit/80d39d8b5 )**: Remove null sibling (#18687) //<Dominic Gannaway>// - **[0960b7ba5](https://github.com/facebook/react/commit/0960b7ba5 )**: Upgrade fbjs-scripts (#18684) //<Sebastian Markbåge>// - **[a152827ef](https://github.com/facebook/react/commit/a152827ef )**: Refine the heuristics around beforeblur/afterblur (#18668) //<Dominic Gannaway>// - **[96203240d](https://github.com/facebook/react/commit/96203240d )**: ReactDOM: remove unstable-native-dependencies bundle (#18483) //<Nicolas Gallagher>// - **[263bc5d54](https://github.com/facebook/react/commit/263bc5d54 )**: Fix incorrect unmounted state update warning (#18617) //<Brian Vaughn>// - **[cfefc81ab](https://github.com/facebook/react/commit/cfefc81ab )**: Fix for #18657 (#18663) //<Andrew Clark>// - **[e7163a9c2](https://github.com/facebook/react/commit/e7163a9c2 )**: Revise isFiberInsideHiddenOrRemovedTree (#18662) //<Dominic Gannaway>// - **[a4b1e65af](https://github.com/facebook/react/commit/a4b1e65af )**: Remove redundant expiration time comparisons (#18620) //<Andrew Clark>// - **[0301f3e24](https://github.com/facebook/react/commit/0301f3e24 )**: Statically disable factory components for WWW (#18641) //<Dan Abramov>// - **[c12c2c4c8](https://github.com/facebook/react/commit/c12c2c4c8 )**: Run error replay test again new reconciler (#18628) //<Andrew Clark>// - **[7b4403cec](https://github.com/facebook/react/commit/7b4403cec )**: Fix requiring timers module with non standard require (#18632) //<Boris Serdiuk>// - **[71964c034](https://github.com/facebook/react/commit/71964c034 )**: Fix CI (#18626) //<Brian Vaughn>// - **[22dc2e42b](https://github.com/facebook/react/commit/22dc2e42b )**: Add experimental DebugTracing logger for internal use (#18531) //<Brian Vaughn>// - **[b68017484](https://github.com/facebook/react/commit/b68017484 )**: Delete mutableSourceFirstPendingUpdateTime (#18613) //<Andrew Clark>// - **[d53988a9d](https://github.com/facebook/react/commit/d53988a9d )**: ReactDOM.useEvent: add useEvent interaction hook (#18604) //<Dominic Gannaway>// - **[bf55ea743](https://github.com/facebook/react/commit/bf55ea743 )**: Move beforeblur phase to prepareForCommit (#18609) //<Dominic Gannaway>// - **[843b50cbe](https://github.com/facebook/react/commit/843b50cbe )**: Remove `.internal` from more test suites (#18597) //<Andrew Clark>// - **[b928fc030](https://github.com/facebook/react/commit/b928fc030 )**: Delete flushSuspenseFallbacksInTests flag (#18596) //<Andrew Clark>// - **[bec759906](https://github.com/facebook/react/commit/bec759906 )**: Migrate conditional tests to gate pragma (#18585) //<Andrew Clark>// - **[65237a237](https://github.com/facebook/react/commit/65237a237 )**: Codemod it.experimental to gate pragma (#18582) //<Andrew Clark>// - **[72d00ab62](https://github.com/facebook/react/commit/72d00ab62 )**: Fix Component Stacks for IE and Native Classes in Safari (#18575) //<Sebastian Markbåge>// - **[98d410f50](https://github.com/facebook/react/commit/98d410f50 )**: Build Component Stacks from Native Stack Frames (#18561) //<Sebastian Markbåge>// - **[50bdd75a6](https://github.com/facebook/react/commit/50bdd75a6 )**: Bubble errors if processing the error itself errors (#18567) //<Sebastian Markbåge>// - **[348ed0e93](https://github.com/facebook/react/commit/348ed0e93 )**: Don't return from perform/completeUnitOfWork (#18566) //<Sebastian Markbåge>// - **[b04c7fa28](https://github.com/facebook/react/commit/b04c7fa28 )**: Decouple expiration times and transition timeouts (#17920) //<Andrew Clark>// - **[dc630d337](https://github.com/facebook/react/commit/dc630d337 )**: Fork ReactFiberExpirationTime //<Andrew Clark>// - **[e5d06e34b](https://github.com/facebook/react/commit/e5d06e34b )**: Revert "Clear more Fiber fields in detachFiber (#18556)" (#18562) //<Dan Abramov>// - **[cbab25bb5](https://github.com/facebook/react/commit/cbab25bb5 )**: Exclude forwardRef and memo from stack frames (#18559) //<Sebastian Markbåge>// - **[d48dbb824](https://github.com/facebook/react/commit/d48dbb824 )**: Clear more Fiber fields in detachFiber (#18556) //<Dominic Gannaway>// - **[0566b706e](https://github.com/facebook/react/commit/0566b706e )**: Fix fiber memory leak with runAllPassiveEffectDestroysBeforeCreates (#18554) //<Dominic Gannaway>// - **[ca1a703d2](https://github.com/facebook/react/commit/ca1a703d2 )**: Make enableLegacyFBSupport flag dynamic for www (#18551) //<Dominic Gannaway>// - **[4c6470cb3](https://github.com/facebook/react/commit/4c6470cb3 )**: Point ReactDOMForked to the new implementation //<Andrew Clark>// - **[17f582e04](https://github.com/facebook/react/commit/17f582e04 )**: Add forked copies of reconciler modules //<Andrew Clark>// - **[376d5c1b5](https://github.com/facebook/react/commit/376d5c1b5 )**: Split cross-package types from implementation //<Andrew Clark>// - **[d686f3f16](https://github.com/facebook/react/commit/d686f3f16 )**: Add `.old` prefix to reconciler modules //<Andrew Clark>// - **[147bdef11](https://github.com/facebook/react/commit/147bdef11 )**: Port more tests to the Scheduler.unstable_yieldValue pattern and drop internal.js (#18549) //<Sebastian Markbåge>// - **[b014e2d5e](https://github.com/facebook/react/commit/b014e2d5e )**: Don't use closures in DevTools injection (#18278) //<Sebastian Markbåge>// - **[5474a83e2](https://github.com/facebook/react/commit/5474a83e2 )**: Disable console.logs in the second render pass of DEV mode double render (#18547) //<Sebastian Markbåge>// - **[b225d4f26](https://github.com/facebook/react/commit/b225d4f26 )**: Revert "Revert "Refactor commitPlacement to recursively insert nodes (#17996)" (#18517)" (#18540) //<Dan Abramov>// - **[241103a6f](https://github.com/facebook/react/commit/241103a6f )**: Fix bailout broken in lazy components due to default props resolving (#18539) //<jddxf>// - **[2dddd1e00](https://github.com/facebook/react/commit/2dddd1e00 )**: Bugfix: Render phase update causes remaining updates in same component to be dropped (#18537) //<Andrew Clark>// - **[2def7b3ca](https://github.com/facebook/react/commit/2def7b3ca )**: More robust fix for #18515 (#18535) //<Andrew Clark>// - **[948fad357](https://github.com/facebook/react/commit/948fad357 )**: Improve detachFiber (#18536) //<Dominic Gannaway>// - **[ddc4b65cf](https://github.com/facebook/react/commit/ddc4b65cf )**: Clear finished discrete updates during commit phase (#18515) //<jddxf>// - **[dc49ea108](https://github.com/facebook/react/commit/dc49ea108 )**: Filter certain DOM attributes (e.g. src) if value is empty string (#18513) //<Brian Vaughn>// - **[e69ca310e](https://github.com/facebook/react/commit/e69ca310e )**: Revert "Refactor commitPlacement to recursively insert nodes (#17996)" (#18517) //<Dan Abramov>// - **[3278d2421](https://github.com/facebook/react/commit/3278d2421 )**: Add useOpaqueIdentifier Hook (#17322) //<Luna Ruan>// - **[416942019](https://github.com/facebook/react/commit/416942019 )**: Refactor Component Stack Traces (#18495) //<Sebastian Markbåge>// - **[a3875663f](https://github.com/facebook/react/commit/a3875663f )**: React Event System: cleanup plugins + break out update batching logic (#18503) //<Dominic Gannaway>// - **[fe2cb5255](https://github.com/facebook/react/commit/fe2cb5255 )**: [eslint] Consider `useRef() as ...` as constant (#18496) //<Sophie Alpert>// - **[2ff27ec11](https://github.com/facebook/react/commit/2ff27ec11 )**: [eslint] strip tailing property in assignments (#16784) //<Zen>// - **[5022fdfd5](https://github.com/facebook/react/commit/5022fdfd5 )**: Refactor Error Dialog Logging (#18487) //<Sebastian Markbåge>// - **[e2dd30898](https://github.com/facebook/react/commit/e2dd30898 )**: [Flight] Lazily parse models and allow any value to suspend (#18476) //<Sebastian Markbåge>// - **[59fd09cb6](https://github.com/facebook/react/commit/59fd09cb6 )**: [Flight] Add webpack plugin build (#18485) //<Sebastian Markbåge>// - **[a876808f0](https://github.com/facebook/react/commit/a876808f0 )**: remove jsx plugin from react (#18484) //<Luna Ruan>// - **[f312a3fc3](https://github.com/facebook/react/commit/f312a3fc3 )**: useMutableSource: bugfix for new getSnapshot with mutation (#18297) //<Brian Vaughn>// - **[a8f2165e8](https://github.com/facebook/react/commit/a8f2165e8 )**: Update to Jest 25 (#18480) //<Dan Abramov>// - **[3c16baf84](https://github.com/facebook/react/commit/3c16baf84 )**: Remove /dist/ UMD builds (#18473) //<Sebastian Markbåge>// - **[4123d729e](https://github.com/facebook/react/commit/4123d729e )**: Revert "Revert: Enable new passive effect behavior for FB builds (#18467)" (#18468) //<Brian Vaughn>// - **[8815e4cc7](https://github.com/facebook/react/commit/8815e4cc7 )**: Cleanup getListener and EventSystemFlags (#18469) //<Dominic Gannaway>// - **[5e464546a](https://github.com/facebook/react/commit/5e464546a )**: ReactDOM.useEvent: fix scope propagation issue (#18464) //<Dominic Gannaway>// - **[d5e4b3ae1](https://github.com/facebook/react/commit/d5e4b3ae1 )**: Modern Event System: refine flags and handling of enableLegacyFBSupport (#18466) //<Dominic Gannaway>// - **[3966081cf](https://github.com/facebook/react/commit/3966081cf )**: Revert: Enable new passive effect behavior for FB builds (#18467) //<Dominic Gannaway>// - **[7dfdff42a](https://github.com/facebook/react/commit/7dfdff42a )**: Run more flags in VARIANT tests (#18461) //<Dan Abramov>// - **[31734540d](https://github.com/facebook/react/commit/31734540d )**: Remove a flag for style collision warning (#18462) //<Dan Abramov>// - **[663c13d71](https://github.com/facebook/react/commit/663c13d71 )**: Refactor Enter/Leave listener accumulation (#18405) //<Dominic Gannaway>// - **[58afba066](https://github.com/facebook/react/commit/58afba066 )**: Fix: Don't read primaryChild.childExpirationTime (#18457) //<Andrew Clark>// - **[2ea7c6079](https://github.com/facebook/react/commit/2ea7c6079 )**: Fixed race condition in release script (#18456) //<Brian Vaughn>// - **[3f4684489](https://github.com/facebook/react/commit/3f4684489 )**: [eslint-plugin-react-hooks] Added meta property (including docs) (#16607) //<Gabriel McAdams>// - **[2bf60d9f9](https://github.com/facebook/react/commit/2bf60d9f9 )**: Fix ESLint rule crash (#18455) //<Dan Abramov>// - **[3e94bce76](https://github.com/facebook/react/commit/3e94bce76 )**: Enable prefer-const lint rules (#18451) //<Sebastian Markbåge>// - **[e6ea3d387](https://github.com/facebook/react/commit/e6ea3d387 )**: Use Closure Compiler to compile to ES5 instead of Babel (#18449) //<Sebastian Markbåge>// - **[7516bdfce](https://github.com/facebook/react/commit/7516bdfce )**: feat(createContext): Include displayName in warning (#18386) //<Sebastian Silbermann>// - **[5ee0efe83](https://github.com/facebook/react/commit/5ee0efe83 )**: Remove state update warning for passive effect cleanup functions (#18453) //<Brian Vaughn>// - **[d8d2b6e89](https://github.com/facebook/react/commit/d8d2b6e89 )**: Disable module components dynamically for WWW (#18446) //<Dan Abramov>// - **[e2c6702fc](https://github.com/facebook/react/commit/e2c6702fc )**: Remove ConcurrentMode and AsyncMode symbols (#18450) //<Sebastian Markbåge>// - **[dc3c6c956](https://github.com/facebook/react/commit/dc3c6c956 )**: ReactDOM.useEvent: revert and add guard for null stateNode (#18441) //<Dominic Gannaway>// - **[0f334553c](https://github.com/facebook/react/commit/0f334553c )**: Reset stateNode in resetWorkInProgress (#18448) //<Sebastian Markbåge>// - **[153b5c305](https://github.com/facebook/react/commit/153b5c305 )**: Cleanup previous shims directories before re-copying (#18447) //<Brian Vaughn>// - **[4de3a6032](https://github.com/facebook/react/commit/4de3a6032 )**: Remove disableMapsAsChildren flag (#18445) //<Brian Vaughn>// - **[f4cc97027](https://github.com/facebook/react/commit/f4cc97027 )**: Enable new passive effect behavior for FB builds (#18444) //<Brian Vaughn>// - **[9065e02d6](https://github.com/facebook/react/commit/9065e02d6 )**: Fix a warning typo (#18443) //<Dan Abramov>// - **[1960131f1](https://github.com/facebook/react/commit/1960131f1 )**: Add opt-in support for dangerous autofix (#18437) //<Dan Abramov>// - **[90e90ac8e](https://github.com/facebook/react/commit/90e90ac8e )**: Revert useEvent PRs (#18438) //<Andrew Clark>// - **[da54641a1](https://github.com/facebook/react/commit/da54641a1 )**: [ESLint] Check deps when callback body is outside the Hook call, too (#18435) //<Dan Abramov>// - **[bf30e370a](https://github.com/facebook/react/commit/bf30e370a )**: Remove User Timings (#18417) //<Dan Abramov>// - **[dd7e5e4f5](https://github.com/facebook/react/commit/dd7e5e4f5 )**: Add getInspectorDataForViewAtPoint (take two) (#18388) //<Ricky>// - **[d7382b6c4](https://github.com/facebook/react/commit/d7382b6c4 )**: Bugfix: Do not unhide a suspended tree without finishing the suspended update (#18411) //<Andrew Clark>// - **[1f8c40451](https://github.com/facebook/react/commit/1f8c40451 )**: Make interaction tracing on by default in all WWW builds (#18419) //<Dan Abramov>// - **[ba31ad40a](https://github.com/facebook/react/commit/ba31ad40a )**: feat(StrictMode): Double-invoke render for every component (#18430) //<Sebastian Silbermann>// - **[689d27586](https://github.com/facebook/react/commit/689d27586 )**: Reset lastEffect when resuming SuspenseList (#18412) //<Sebastian Markbåge>// - **[be4c8b19c](https://github.com/facebook/react/commit/be4c8b19c )**: Don't show destroy function state update warning when updating ancestors (#18409) //<Brian Vaughn>// - **[35a2f7497](https://github.com/facebook/react/commit/35a2f7497 )**: Delete leftover assignment from #18384 //<Andrew Clark>// - **[9d67847f7](https://github.com/facebook/react/commit/9d67847f7 )**: [Bugfix] Dropped updates inside a suspended tree (#18384) //<Andrew Clark>// - **[5bd1bc29b](https://github.com/facebook/react/commit/5bd1bc29b )**: eslint-plugin-react-hooks@3.0.0 //<Dan Abramov>// - **[e0ab1a429](https://github.com/facebook/react/commit/e0ab1a429 )**: ReactDOM.useEvent: enable on internal www and add inspection test (#18395) //<Dominic Gannaway>// - **[a16b34974](https://github.com/facebook/react/commit/a16b34974 )**: ReactDOM.useEvent: Add support for experimental scopes API (#18375) //<Dominic Gannaway>// - **[dbb060d56](https://github.com/facebook/react/commit/dbb060d56 )**: Pass BundlerConfig through to Relay Integration (#18393) //<Sebastian Markbåge>// - **[ce6fe50b0](https://github.com/facebook/react/commit/ce6fe50b0 )**: Add server-runtime to create Server Blocks (#18392) //<Sebastian Markbåge>// - **[64ed221c3](https://github.com/facebook/react/commit/64ed221c3 )**: Formalize the Wakeable and Thenable types (#18391) //<Sebastian Markbåge>// - **[a6924d77b](https://github.com/facebook/react/commit/a6924d77b )**: Change .model getter to .readRoot method (#18382) //<Sebastian Markbåge>// - **[6498f62ed](https://github.com/facebook/react/commit/6498f62ed )**: Fix a mistake in ReactChildren refactor (#18380) //<Dan Abramov>// - **[2ba43edc2](https://github.com/facebook/react/commit/2ba43edc2 )**: Rename internal fields (#18377) //<Dan Abramov>// - **[a317bd033](https://github.com/facebook/react/commit/a317bd033 )**: Flip the arguments of Blocks and make the query optional (#18374) //<Sebastian Markbåge>// - **[fc7835c65](https://github.com/facebook/react/commit/fc7835c65 )**: Revert "Upgrade to jest 25 (#17896)" (#18376) //<Andrew Clark>// - **[a56309fb8](https://github.com/facebook/react/commit/a56309fb8 )**: [Flight] Integrate Blocks into Flight (#18371) //<Sebastian Markbåge>// - **[fc96a52be](https://github.com/facebook/react/commit/fc96a52be )**: Refactor React.Children to reduce indirection (#18332) //<Dan Abramov>// - **[fd61f7ea5](https://github.com/facebook/react/commit/fd61f7ea5 )**: Refactor Lazy Components to use teh Suspense (and wrap Blocks in Lazy) (#18362) //<Sebastian Markbåge>// - **[31a9e391f](https://github.com/facebook/react/commit/31a9e391f )**: Remove unnecessary lines for `hasBadMapPolyfill` issue for rollup (#16231) //<Mohammad Aziz>// - **[c0cd1be90](https://github.com/facebook/react/commit/c0cd1be90 )**: [Flight] Move bundler configs to use Suspense instead of returning thenable (#18367) //<Sebastian Markbåge>// - **[b779dd51e](https://github.com/facebook/react/commit/b779dd51e )**: Stop syncing ReactTypes to RN (#18366) //<Sebastian Markbåge>// - **[c5d2fc712](https://github.com/facebook/react/commit/c5d2fc712 )**: Move some files out of /shared and rename to upper case (#18363) //<Sebastian Markbåge>// - **[a600408b2](https://github.com/facebook/react/commit/a600408b2 )**: ReactDOM.useEvent: add `EventTarget` support (#18355) //<Dominic Gannaway>// - **[dbd85a08d](https://github.com/facebook/react/commit/dbd85a08d )**: ReactDOM.useEvent: support custom types (#18351) //<Dominic Gannaway>// - **[7c1478680](https://github.com/facebook/react/commit/7c1478680 )**: fix string ref cannot be auto converted warning for React.jsxDEV (#18354) //<Luna Ruan>// - **[fc91508c1](https://github.com/facebook/react/commit/fc91508c1 )**: Follow ups to bundler configs (#18352) //<Sebastian Markbåge>// - **[ffefb4e77](https://github.com/facebook/react/commit/ffefb4e77 )**: ModernEventSystem: refine Flow types (#18349) //<Dominic Gannaway>// - **[6818a2aa0](https://github.com/facebook/react/commit/6818a2aa0 )**: Revert accidental changes to package.json (#18348) //<Andrew Clark>// - **[ad445b127](https://github.com/facebook/react/commit/ad445b127 )**: Update package.jsons for 16.13.1 patch relase //<Andrew Clark>// - **[8311cb5d2](https://github.com/facebook/react/commit/8311cb5d2 )**: Modern Event System: refactor legacy FB support logic (#18336) //<Dominic Gannaway>// - **[d3368beee](https://github.com/facebook/react/commit/d3368beee )**: [eslint-plugin-react-hooks] Disallow hooks in class components (#18341) //<Ian Obermiller>// - **[8206b4b86](https://github.com/facebook/react/commit/8206b4b86 )**: Wire up bundler configs (#18334) //<Sebastian Markbåge>// - **[5152c4a9f](https://github.com/facebook/react/commit/5152c4a9f )**: Fixed inconcistency with surrounding punctuation (#18339) //<ItsByteMe>// - **[94505b961](https://github.com/facebook/react/commit/94505b961 )**: Don't use EventListener Fork in Modern WWW Builds (#18333) //<Sebastian Markbåge>// - **[aae83a4b9](https://github.com/facebook/react/commit/aae83a4b9 )**: Fix UMD Builds (ReactSharedInternals) //<Luna Ruan>// - **[fe1f79b95](https://github.com/facebook/react/commit/fe1f79b95 )**: Don't fire the render phase update warning for class lifecycles (#18330) //<Dan Abramov>// - **[22cab1cbd](https://github.com/facebook/react/commit/22cab1cbd )**: test(getComponentName): Increase test coverage (#18149) //<Sebastian Silbermann>// - **[90f8fe6f5](https://github.com/facebook/react/commit/90f8fe6f5 )**: add jsx-runtime and jsx-dev-runtime (#18299) //<Luna Ruan>// - **[26666427d](https://github.com/facebook/react/commit/26666427d )**: Don't support older isomorphic React with newer renderers (#18329) //<Dan Abramov>// - **[3a0076e0e](https://github.com/facebook/react/commit/3a0076e0e )**: useEvent: Small tweaks and changes (#18328) //<Dominic Gannaway>// - **[924091853](https://github.com/facebook/react/commit/924091853 )**: Bump react-shallow-renderer to 16.13.1 (#18187) //<Minh Nguyen>// - **[c804f9aeb](https://github.com/facebook/react/commit/c804f9aeb )**: ReactDOM.useEvent: wire to event system to the hook (#18304) //<Dominic Gannaway>// - **[297f7588c](https://github.com/facebook/react/commit/297f7588c )**: Moved passive effects flag to be beside execution context (#18322) //<Brian Vaughn>// - **[95df39b6b](https://github.com/facebook/react/commit/95df39b6b )**: improve error message for cross-functional component updates (#18316) //<Jovi De Croock>// - **[c0ed0a246](https://github.com/facebook/react/commit/c0ed0a246 )**: Replace passive effect context with boolean (#18309) //<Brian Vaughn>// - **[730389b9d](https://github.com/facebook/react/commit/730389b9d )**: Warn against state updates from useEffect destroy functions (#18307) //<Brian Vaughn>// - **[73ff8b909](https://github.com/facebook/react/commit/73ff8b909 )**: Run ReactElementJSX-test against bundles (#18301) //<Dan Abramov>// - **[2a7cd5895](https://github.com/facebook/react/commit/2a7cd5895 )**: ReactDOM.useEvent: Add DOM host event listener logic (#18292) //<Dominic Gannaway>// - **[d3ec42020](https://github.com/facebook/react/commit/d3ec42020 )**: Address feedback for accumulateTwoPhaseListeners (#18289) //<Dominic Gannaway>// - **[cd48a0654](https://github.com/facebook/react/commit/cd48a0654 )**: Set up infra for react-reconciler fork (#18285) //<Andrew Clark>// - **[615df434b](https://github.com/facebook/react/commit/615df434b )**: Remove manual feature flag overrides (#18291) //<Andrew Clark>// - **[99d271228](https://github.com/facebook/react/commit/99d271228 )**: ReactDOM.useEvent: more scaffolding changes (#18282) //<Dominic Gannaway>// - **[8b155d261](https://github.com/facebook/react/commit/8b155d261 )**: Flow type ReactDOMComponentTree (#18280) //<Dominic Gannaway>// - **[322cdcd3a](https://github.com/facebook/react/commit/322cdcd3a )**: useMutableSource hook (#18000) //<Brian Vaughn>// - **[30a998deb](https://github.com/facebook/react/commit/30a998deb )**: ModernEventSystem: refactor accumulateTwoPhaseListeners (#18274) //<Dominic Gannaway>// - **[8fe066fda](https://github.com/facebook/react/commit/8fe066fda )**: Bugfix: "Captured" updates on legacy queue (#18265) //<Andrew Clark>// Changelog: [General][Changed] - React Native sync for revisions b5c6dd2...c9749d3 Reviewed By: gaearon Differential Revision: D22640659 fbshipit-source-id: c3c146b87fa5663954bd94adbe689303aabbcd3c
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
This issue was closed because it has been stalled for 7 days with no activity. |
On 0.53.0 and later, including 0.54.2, if I input an emoji into a TextInput via auto-complete, the app crashes.
I've tracked down the root cause; I'll put more details in a follow-up comment.
Environment
Expected Behavior
No crash!
Actual Behavior
Crash stack:
Steps to Reproduce
Fortunately, this repros with the example project from #18262 .
The text was updated successfully, but these errors were encountered: