Uh oh!
There was an error while loading. Please reload this page.
[WIP] Convert TextInput to class component - #26339
Conversation
JoshuaGross
commented
Sep 5, 2019
Is it possible somehow to restrict the props spread into |
empyrical
commented
Sep 6, 2019
I think that just applying the needed props is probably the best way to go too! iOS (both the legacy and non-legacy rendering functions) will end up needing this treatment as well. |
JoshuaGross
commented
Sep 10, 2019
Just to clarify, @empyrical, are you saying that you will update the PR? Just checking in. |
empyrical
commented
Sep 10, 2019
Yep! I just haven't had the time yet. Sorry, should have been clearer |
empyrical
commented
Sep 15, 2019
There's some small Flow conflicts currently with the event types in While being readonly in I notice that the native component has lines with What should be the best way to handle this? Temporarily make |
Any update on this @empyrical? I'd love to get this in. We are starting to need that forwarded ref and I currently need to work around this not having forwardRef by having a |
empyrical
commented
Sep 25, 2019
Hey! I think i might have time tomorrow to work on this again. A lot of time is being spent cleaning up flow errors, but functionality-wise in RNTester everything works great! |
cpojer
commented
Sep 26, 2019
Is there any chance we could add at least Jest tests for this component to verify the behavior of the JS is the same as before? |
elicwhite
commented
Sep 26, 2019
I talked with @cpojer in person. I definitely would love to see tests for TextInput but I don't want to block this change on those tests being written. I think tests for TextInput is a larger problem we need to tackle but this refactor to TextInput is needed for our Fabric work. @JoshuaGross and I will take responsibility for landing and following this through. |
facebook-github-bot
left a comment
There was a problem hiding this comment.
@TheSavior has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
facebook-github-bot
left a comment
There was a problem hiding this comment.
@TheSavior has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
empyrical
commented
Dec 5, 2019
Closing. Ended up in a commit but wasn't autoclosed 👍 |
Summary: This sync includes the following changes: - **[f828bad](react/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](react/react#26321)) //<Rubén Norte>// - **[1317681](react/react@131768166 )**: Support Context as renderable node ([#25641](react/react#25641)) //<Andrew Clark>// - **[d4f58c3](react/react@d4f58c3b8 )**: Support Promise as a renderable node ([#25634](react/react#25634)) //<Andrew Clark>// - **[6334614](react/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](react/react#26371)) //<Andrew Clark>// - **[432ffc9](react/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](react/react#26369)) //<Tianyu Yao>// - **[69fd78f](react/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](react/react#26367)) //<Andrew Clark>// - **[93c10df](react/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](react/react#26366)) //<Andrew Clark>// - **[be353d2](react/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](react/react#26365)) //<Sebastian Markbåge>// - **[ef8bdbe](react/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](react/react#26360)) //<Sebastian Markbåge>// - **[a8875ea](react/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](react/react#26358)) //<Andrew Clark>// - **[d1ad984](react/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](react/react#26349)) //<Sebastian Silbermann>// - **[39d4b93](react/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](react/react#26357)) //<Andrew Clark>// - **[3706edb](react/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](react/react#26353)) //<Josh Story>// - **[2b003a5](react/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](react/react#26351)) //<Sebastian Markbåge>// - **[62cd5af](react/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](react/react#26350)) //<Andrew Clark>// - **[0373782](react/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](react/react#26347)) //<Andrew Clark>// - **[d8e49f2](react/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](react/react#26348)) //<Sebastian Markbåge>// - **[8364377](react/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](react/react#26345)) //<Andrew Clark>// - **[44d3807](react/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](react/react#26344)) //<Andrew Clark>// - **[d814473](react/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](react/react#26339)) //<Andrew Clark>// - **[702fc98](react/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](react/react#26338)) //<Andrew Clark>// - **[9fb2469](react/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](react/react#26341)) //<Rubén Norte>// - **[161f6ae](react/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](react/react#26336)) //<Andrew Clark>// - **[58605f7](react/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](react/react#26335)) //<Andrew Clark>// - **[703c675](react/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](react/react#26334)) //<Andrew Clark>// - **[b380c24](react/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](react/react#26333)) //<Andrew Clark>// - **[8f812e7](react/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](react/react#26323)) //<Rubén Norte>// - **[978fae4](react/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](react/react#26154)) //<Josh Story>// - **[8a9f82e](react/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](react/react#26256)) //<Josh Story>// - **[3cad3a5](react/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](react/react#26331)) //<Jan Kassens>// - **[ba353a5](react/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](react/react#26329)) //<Jan Kassens>// - **[6e1756a](react/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](react/react#26328)) //<Andrew Clark>// - **[1528c5c](react/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](react/react#26312)) //<Andrew Clark>// - **[4bbac04](react/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](react/react#26326)) //<Jan Kassens>// - **[eb616a1](react/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](react/react#26319)) //<Rubén Norte>// - **[49f7410](react/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](react/react#26317)) //<Andrew Clark>// - **[106ea1c](react/react@106ea1c58 )**: Support Iterables in Flight ([#26313](react/react#26313)) //<Sebastian Markbåge>// - **[f905da2](react/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](react/react#26293)) //<Hendrik Liebau>// - **[e0241b6](react/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](react/react#26300)) //<Sebastian Markbåge>// - **[25685d8](react/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](react/react#26309)) //<Andrew Clark>// - **[64dde70](react/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](react/react#26308)) //<Andrew Clark>// - **[3cb5afb](react/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](react/react#26307)) //<Andrew Clark>// - **[e98695d](react/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](react/react#26305)) //<Andrew Clark>// - **[9a52cc8](react/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](react/react#26304)) //<Andrew Clark>// - **[03462cf](react/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](react/react#26303)) //<mofeiZ>// - **[faacefb](react/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](react/react#26302)) //<Andrew Clark>// - **[06460b6](react/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](react/react#26290)) //<Rubén Norte>// - **[ce8a72f](react/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](react/react#26296)) //<Andrew Clark>// - **[1f1f8eb](react/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](react/react#26280)) //<Josh Story>// - **[5c633a4](react/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](react/react#26294)) //<Andrew Clark>// - **[b72ed69](react/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](react/react#26283)) //<Rubén Norte>// - **[25a8b97](react/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](react/react#26288)) //<Andrew Clark>// - **[e524467](react/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](react/react#26285)) //<Andrew Clark>// - **[d49e0e0](react/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](react/react#26282)) //<Rubén Norte>// - **[4111002](react/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](react/react#26275)) //<Andrew Clark>// - **[67a61d5](react/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](react/react#26263)) //<Sebastian Markbåge>// - **[40755c0](react/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](react/react#26257)) //<Sebastian Markbåge>// - **[b2ae9dd](react/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](react/react#26236)) //<Jan Kassens>// - **[6ff1733](react/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](react/react#26239)) //<Josh Story>// - **[1173a17](react/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](react/react#26237)) //<Josh Story>// - **[a8f971b](react/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](react/react#26232)) //<Sophie Alpert>// - **[96cdeaf](react/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](react/react#26228)) //<Sophie Alpert>// - **[c04b180](react/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](react/react#26219)) //<Andrew Clark>// - **[60144a0](react/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](react/react#26187)) //<Sebastian Markbåge>// - **[70b0bbd](react/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](react/react#26169)) //<mofeiZ>// - **[c7967b1](react/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](react/react#26208)) //<Sebastian Silbermann>// - **[bb1e3d0](react/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](react/react#26207)) //<Sebastian Silbermann>// - **[62e6c46](react/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](react/react#26206)) //<Sebastian Markbåge>// - **[80cf4a0](react/react@80cf4a099 )**: Update Closure Compiler ([#26205](react/react#26205)) //<Sebastian Markbåge>// - **[6b6d061](react/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](react/react#24916)) //<Glenn 'devalias' Grant>// - **[bc38a3d](react/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](react/react#26199)) //<Ming Ye>// - **[c9d9f52](react/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](react/react#26194)) //<Andrew Clark>// - **[189f70e](react/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](react/react#26172)) //<Sebastian Markbåge>// - **[fbf3bc3](react/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](react/react#25601)) //<Jonny Burger>// Changelog: [General][Changed] - React Native sync for revisions fccf3a9...f828bad jest_e2e[run_all_tests] Reviewed By: robhogan, rshest Differential Revision: D44024996 fbshipit-source-id: 8ac9754c5ffe12bd5d9c3499515c0925bd411f70
Summary: This sync includes the following changes: - **[47cf4e5](react/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](react/react#26394)) //<Rubén Norte>// - **[cfc1274](react/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](react/react#26390)) //<Sebastian Markbåge>// - **[a57f40d](react/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](react/react#26389)) //<Sebastian Markbåge>// - **[d310d65](react/react@d310d654a )**: Avoid meta programming to initialize functions in module scope ([#26388](react/react#26388)) //<Sebastian Markbåge>// - **[21aee59](react/react@21aee59e4 )**: Delete unused DOM files ([#26387](react/react#26387)) //<Sebastian Markbåge>// - **[6bd53a5](react/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](react/react#26383)) //<Sebastian Markbåge>// - **[2788d0d](react/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](react/react#26379)) //<Sebastian Markbåge>// - **[f828bad](react/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](react/react#26321)) //<Rubén Norte>// - **[1317681](react/react@131768166 )**: Support Context as renderable node ([#25641](react/react#25641)) //<Andrew Clark>// - **[d4f58c3](react/react@d4f58c3b8 )**: Support Promise as a renderable node ([#25634](react/react#25634)) //<Andrew Clark>// - **[6334614](react/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](react/react#26371)) //<Andrew Clark>// - **[432ffc9](react/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](react/react#26369)) //<Tianyu Yao>// - **[69fd78f](react/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](react/react#26367)) //<Andrew Clark>// - **[93c10df](react/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](react/react#26366)) //<Andrew Clark>// - **[be353d2](react/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](react/react#26365)) //<Sebastian Markbåge>// - **[ef8bdbe](react/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](react/react#26360)) //<Sebastian Markbåge>// - **[a8875ea](react/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](react/react#26358)) //<Andrew Clark>// - **[d1ad984](react/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](react/react#26349)) //<Sebastian Silbermann>// - **[39d4b93](react/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](react/react#26357)) //<Andrew Clark>// - **[3706edb](react/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](react/react#26353)) //<Josh Story>// - **[2b003a5](react/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](react/react#26351)) //<Sebastian Markbåge>// - **[62cd5af](react/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](react/react#26350)) //<Andrew Clark>// - **[0373782](react/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](react/react#26347)) //<Andrew Clark>// - **[d8e49f2](react/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](react/react#26348)) //<Sebastian Markbåge>// - **[8364377](react/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](react/react#26345)) //<Andrew Clark>// - **[44d3807](react/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](react/react#26344)) //<Andrew Clark>// - **[d814473](react/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](react/react#26339)) //<Andrew Clark>// - **[702fc98](react/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](react/react#26338)) //<Andrew Clark>// - **[9fb2469](react/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](react/react#26341)) //<Rubén Norte>// - **[161f6ae](react/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](react/react#26336)) //<Andrew Clark>// - **[58605f7](react/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](react/react#26335)) //<Andrew Clark>// - **[703c675](react/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](react/react#26334)) //<Andrew Clark>// - **[b380c24](react/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](react/react#26333)) //<Andrew Clark>// - **[8f812e7](react/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](react/react#26323)) //<Rubén Norte>// - **[978fae4](react/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](react/react#26154)) //<Josh Story>// - **[8a9f82e](react/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](react/react#26256)) //<Josh Story>// - **[3cad3a5](react/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](react/react#26331)) //<Jan Kassens>// - **[ba353a5](react/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](react/react#26329)) //<Jan Kassens>// - **[6e1756a](react/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](react/react#26328)) //<Andrew Clark>// - **[1528c5c](react/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](react/react#26312)) //<Andrew Clark>// - **[4bbac04](react/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](react/react#26326)) //<Jan Kassens>// - **[eb616a1](react/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](react/react#26319)) //<Rubén Norte>// - **[49f7410](react/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](react/react#26317)) //<Andrew Clark>// - **[106ea1c](react/react@106ea1c58 )**: Support Iterables in Flight ([#26313](react/react#26313)) //<Sebastian Markbåge>// - **[f905da2](react/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](react/react#26293)) //<Hendrik Liebau>// - **[e0241b6](react/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](react/react#26300)) //<Sebastian Markbåge>// - **[25685d8](react/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](react/react#26309)) //<Andrew Clark>// - **[64dde70](react/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](react/react#26308)) //<Andrew Clark>// - **[3cb5afb](react/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](react/react#26307)) //<Andrew Clark>// - **[e98695d](react/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](react/react#26305)) //<Andrew Clark>// - **[9a52cc8](react/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](react/react#26304)) //<Andrew Clark>// - **[03462cf](react/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](react/react#26303)) //<mofeiZ>// - **[faacefb](react/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](react/react#26302)) //<Andrew Clark>// - **[06460b6](react/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](react/react#26290)) //<Rubén Norte>// - **[ce8a72f](react/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](react/react#26296)) //<Andrew Clark>// - **[1f1f8eb](react/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](react/react#26280)) //<Josh Story>// - **[5c633a4](react/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](react/react#26294)) //<Andrew Clark>// - **[b72ed69](react/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](react/react#26283)) //<Rubén Norte>// - **[25a8b97](react/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](react/react#26288)) //<Andrew Clark>// - **[e524467](react/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](react/react#26285)) //<Andrew Clark>// - **[d49e0e0](react/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](react/react#26282)) //<Rubén Norte>// - **[4111002](react/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](react/react#26275)) //<Andrew Clark>// - **[67a61d5](react/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](react/react#26263)) //<Sebastian Markbåge>// - **[40755c0](react/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](react/react#26257)) //<Sebastian Markbåge>// - **[b2ae9dd](react/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](react/react#26236)) //<Jan Kassens>// - **[6ff1733](react/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](react/react#26239)) //<Josh Story>// - **[1173a17](react/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](react/react#26237)) //<Josh Story>// - **[a8f971b](react/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](react/react#26232)) //<Sophie Alpert>// - **[96cdeaf](react/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](react/react#26228)) //<Sophie Alpert>// - **[c04b180](react/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](react/react#26219)) //<Andrew Clark>// - **[60144a0](react/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](react/react#26187)) //<Sebastian Markbåge>// - **[70b0bbd](react/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](react/react#26169)) //<mofeiZ>// - **[c7967b1](react/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](react/react#26208)) //<Sebastian Silbermann>// - **[bb1e3d0](react/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](react/react#26207)) //<Sebastian Silbermann>// - **[62e6c46](react/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](react/react#26206)) //<Sebastian Markbåge>// - **[80cf4a0](react/react@80cf4a099 )**: Update Closure Compiler ([#26205](react/react#26205)) //<Sebastian Markbåge>// - **[6b6d061](react/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](react/react#24916)) //<Glenn 'devalias' Grant>// - **[bc38a3d](react/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](react/react#26199)) //<Ming Ye>// - **[c9d9f52](react/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](react/react#26194)) //<Andrew Clark>// - **[189f70e](react/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](react/react#26172)) //<Sebastian Markbåge>// - **[fbf3bc3](react/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](react/react#25601)) //<Jonny Burger>// Changelog: [General][Changed] - React Native sync for revisions fccf3a9...47cf4e5 jest_e2e[run_all_tests] Reviewed By: sammy-SC Differential Revision: D44090004 fbshipit-source-id: 6ac2d1d22a078d07ce011481063e78843bded28e
Summary: This sync includes the following changes: - **[3554c88](react/react@3554c8852 )**: Clean interface for public instances between React and React Native ([#26416](react/react#26416)) //<Rubén Norte>// - **[db281b3](react/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([#26398](react/react#26398)) //<Andrew Clark>// - **[5530855](react/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([#26410](react/react#26410)) //<Jan Kassens>// - **[163d86e](react/react@163d86e19 )**: Updated comment message ([#26158](react/react#26158)) //<Ibrahim Amin>// - **[108aed0](react/react@108aed083 )**: Fix use of stale props in Fabric events ([#26408](react/react#26408)) //<Rubén Norte>// - **[8fa41ff](react/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([#26391](react/react#26391)) //<Sebastian Markbåge>// - **[05777ff](react/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([#26243](react/react#26243)) //<Sophie Alpert>// - **[99aa082](react/react@99aa082be )**: Remove unstable_flushControlled ([#26397](react/react#26397)) //<Jan Kassens>// - **[47cf4e5](react/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](react/react#26394)) //<Rubén Norte>// - **[cfc1274](react/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](react/react#26390)) //<Sebastian Markbåge>// - **[a57f40d](react/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](react/react#26389)) //<Sebastian Markbåge>// - **[d310d65](react/react@d310d654a )**: Avoid meta programming to initialize functions in module scope ([#26388](react/react#26388)) //<Sebastian Markbåge>// - **[21aee59](react/react@21aee59e4 )**: Delete unused DOM files ([#26387](react/react#26387)) //<Sebastian Markbåge>// - **[6bd53a5](react/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](react/react#26383)) //<Sebastian Markbåge>// - **[2788d0d](react/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](react/react#26379)) //<Sebastian Markbåge>// - **[f828bad](react/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](react/react#26321)) //<Rubén Norte>// - **[1317681](react/react@131768166 )**: Support Context as renderable node ([#25641](react/react#25641)) //<Andrew Clark>// - **[d4f58c3](react/react@d4f58c3b8 )**: Support Promise as a renderable node ([#25634](react/react#25634)) //<Andrew Clark>// - **[6334614](react/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](react/react#26371)) //<Andrew Clark>// - **[432ffc9](react/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](react/react#26369)) //<Tianyu Yao>// - **[69fd78f](react/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](react/react#26367)) //<Andrew Clark>// - **[93c10df](react/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](react/react#26366)) //<Andrew Clark>// - **[be353d2](react/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](react/react#26365)) //<Sebastian Markbåge>// - **[ef8bdbe](react/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](react/react#26360)) //<Sebastian Markbåge>// - **[a8875ea](react/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](react/react#26358)) //<Andrew Clark>// - **[d1ad984](react/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](react/react#26349)) //<Sebastian Silbermann>// - **[39d4b93](react/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](react/react#26357)) //<Andrew Clark>// - **[3706edb](react/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](react/react#26353)) //<Josh Story>// - **[2b003a5](react/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](react/react#26351)) //<Sebastian Markbåge>// - **[62cd5af](react/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](react/react#26350)) //<Andrew Clark>// - **[0373782](react/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](react/react#26347)) //<Andrew Clark>// - **[d8e49f2](react/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](react/react#26348)) //<Sebastian Markbåge>// - **[8364377](react/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](react/react#26345)) //<Andrew Clark>// - **[44d3807](react/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](react/react#26344)) //<Andrew Clark>// - **[d814473](react/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](react/react#26339)) //<Andrew Clark>// - **[702fc98](react/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](react/react#26338)) //<Andrew Clark>// - **[9fb2469](react/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](react/react#26341)) //<Rubén Norte>// - **[161f6ae](react/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](react/react#26336)) //<Andrew Clark>// - **[58605f7](react/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](react/react#26335)) //<Andrew Clark>// - **[703c675](react/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](react/react#26334)) //<Andrew Clark>// - **[b380c24](react/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](react/react#26333)) //<Andrew Clark>// - **[8f812e7](react/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](react/react#26323)) //<Rubén Norte>// - **[978fae4](react/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](react/react#26154)) //<Josh Story>// - **[8a9f82e](react/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](react/react#26256)) //<Josh Story>// - **[3cad3a5](react/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](react/react#26331)) //<Jan Kassens>// - **[ba353a5](react/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](react/react#26329)) //<Jan Kassens>// - **[6e1756a](react/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](react/react#26328)) //<Andrew Clark>// - **[1528c5c](react/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](react/react#26312)) //<Andrew Clark>// - **[4bbac04](react/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](react/react#26326)) //<Jan Kassens>// - **[eb616a1](react/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](react/react#26319)) //<Rubén Norte>// - **[49f7410](react/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](react/react#26317)) //<Andrew Clark>// - **[106ea1c](react/react@106ea1c58 )**: Support Iterables in Flight ([#26313](react/react#26313)) //<Sebastian Markbåge>// - **[f905da2](react/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](react/react#26293)) //<Hendrik Liebau>// - **[e0241b6](react/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](react/react#26300)) //<Sebastian Markbåge>// - **[25685d8](react/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](react/react#26309)) //<Andrew Clark>// - **[64dde70](react/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](react/react#26308)) //<Andrew Clark>// - **[3cb5afb](react/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](react/react#26307)) //<Andrew Clark>// - **[e98695d](react/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](react/react#26305)) //<Andrew Clark>// - **[9a52cc8](react/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](react/react#26304)) //<Andrew Clark>// - **[03462cf](react/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](react/react#26303)) //<mofeiZ>// - **[faacefb](react/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](react/react#26302)) //<Andrew Clark>// - **[06460b6](react/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](react/react#26290)) //<Rubén Norte>// - **[ce8a72f](react/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](react/react#26296)) //<Andrew Clark>// - **[1f1f8eb](react/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](react/react#26280)) //<Josh Story>// - **[5c633a4](react/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](react/react#26294)) //<Andrew Clark>// - **[b72ed69](react/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](react/react#26283)) //<Rubén Norte>// - **[25a8b97](react/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](react/react#26288)) //<Andrew Clark>// - **[e524467](react/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](react/react#26285)) //<Andrew Clark>// - **[d49e0e0](react/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](react/react#26282)) //<Rubén Norte>// - **[4111002](react/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](react/react#26275)) //<Andrew Clark>// - **[67a61d5](react/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](react/react#26263)) //<Sebastian Markbåge>// - **[40755c0](react/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](react/react#26257)) //<Sebastian Markbåge>// - **[b2ae9dd](react/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](react/react#26236)) //<Jan Kassens>// - **[6ff1733](react/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](react/react#26239)) //<Josh Story>// - **[1173a17](react/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](react/react#26237)) //<Josh Story>// - **[a8f971b](react/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](react/react#26232)) //<Sophie Alpert>// - **[96cdeaf](react/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](react/react#26228)) //<Sophie Alpert>// - **[c04b180](react/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](react/react#26219)) //<Andrew Clark>// - **[60144a0](react/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](react/react#26187)) //<Sebastian Markbåge>// - **[70b0bbd](react/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](react/react#26169)) //<mofeiZ>// - **[c7967b1](react/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](react/react#26208)) //<Sebastian Silbermann>// - **[bb1e3d0](react/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](react/react#26207)) //<Sebastian Silbermann>// - **[62e6c46](react/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](react/react#26206)) //<Sebastian Markbåge>// - **[80cf4a0](react/react@80cf4a099 )**: Update Closure Compiler ([#26205](react/react#26205)) //<Sebastian Markbåge>// - **[6b6d061](react/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](react/react#24916)) //<Glenn 'devalias' Grant>// - **[bc38a3d](react/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](react/react#26199)) //<Ming Ye>// - **[c9d9f52](react/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](react/react#26194)) //<Andrew Clark>// - **[189f70e](react/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](react/react#26172)) //<Sebastian Markbåge>// - **[fbf3bc3](react/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](react/react#25601)) //<Jonny Burger>// Changelog: [General][Changed] - React Native sync for revisions fccf3a9...3554c88 jest_e2e[run_all_tests] bypass-github-export-checks @public Fixes tests for current React version. Reviewed By: sammy-SC Differential Revision: D44216371 fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
Summary
This is attempt 2 at porting TextInput to an ES6 class. Last attempt needed to be reverted because of an internal error at FB - one that I unfortunately was not able to recreate locally in Debug or Release builds. I am hoping that things may have changed enough on FB's end that this is no longer an issue - but should keep an eye out for this when merging.
This is a WIP for two Flow-related reasons that I need input on.
The first is a confusing Flow error I encounter with the forwardRef - I am probably missing something, but I am not sure why it's not able to find the value for the template parameter
Configeven when I explicitly provide it topropsSecondly, now that props being passed down are properly seen by Flow, the usage of
AndroidTextInputNativeComponentintroduced in this commit have a great deal of Flow errors, because TextInput'spropsis...spreadonto it, and there are a great deal of props in TextInput not present inAndroidTextInputNativeComponent.Should a
$FlowFixMebe applied here for the time being? Not quite sure what should be done to reconcile this.Changelog
[General] [Changed] - Converted TextInput to ES6 class-based component
Test Plan
I have tried this version of
<TextInput />out in RNTester (Debug and Release builds) and no regressions have been noted.