Skip to content
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

[WIP] Keep state for separate render regions inside of VirtualizedList #1

Open
wants to merge 368 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Mar 17, 2021

  1. Remove maxToRenderPerBatch defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove maxToRenderPerBatch from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969582
    
    fbshipit-source-id: 64a07aae11f0403b01c01896b4f83565da6ecf43
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    69030a4 View commit details
    Browse the repository at this point in the history
  2. Remove onEndReachedThreshold defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove onEndReachedThreshold from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969584
    
    fbshipit-source-id: 03968c5831587f9ed60dc52c55c55c0980f20cbd
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    e3c3ef0 View commit details
    Browse the repository at this point in the history
  3. Remove scrollEventThrottle defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove scrollEventThrottle from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969580
    
    fbshipit-source-id: 504e11493113c01d70e77b90f96c6506c179c060
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    3c5fa3b View commit details
    Browse the repository at this point in the history
  4. Remove windowSize defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove windowSize from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969589
    
    fbshipit-source-id: da6215ee3876c8f186d59f91ef6fd94396366119
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    b310145 View commit details
    Browse the repository at this point in the history
  5. Remove updateCellsBatchingPeriod defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove updateCellsBatchingPeriod from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969581
    
    fbshipit-source-id: b1d1d18d575d9a6af2e68fe564d221849094f26b
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    76b6a66 View commit details
    Browse the repository at this point in the history
  6. Remove keyExtractor defaultProps

    Summary:
    Changelog:
    [Internal][Changed] -Remove keyExtractor from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    Reviewed By: nadiia
    
    Differential Revision: D26969588
    
    fbshipit-source-id: b00922a339cbe471fcbf560ab4abdd9e48eda1fc
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    1cbedb9 View commit details
    Browse the repository at this point in the history
  7. Remove defaultProps

    Summary:
    #Changelog:
    [General][Changed] - Remove `data` as a prop for VirtualizedSectionList. In the reactnative.dev docs it mentions that `sections` is the equivalent for `*SectionList`: https://reactnative.dev/docs/sectionlist#sections
    
    Reviewed By: nadiia
    
    Differential Revision: D26992800
    
    fbshipit-source-id: afcd027fca0cc8b4d7418e0c5543382bc8e2f56c
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    f1cf2c3 View commit details
    Browse the repository at this point in the history
  8. Update typed export and fix test

    Summary:
    Changelog:
    [General][Changed] - Change export type of VirtualizedSectionList and wrap component updates in `act` in test.
    
    Reviewed By: nadiia, kacieb
    
    Differential Revision: D26575615
    
    fbshipit-source-id: 60923604b40c343ed4244ec4fd33107158888c8e
    Luna Wei authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    4b3c8e7 View commit details
    Browse the repository at this point in the history
  9. Add support for GIFs

    Summary:
    Changelog: [internal]
    
    Add support or GIFs in Fabric. This reuses Paper's `RCTUIImageViewAnimated`.
    
    Reviewed By: fkgozali
    
    Differential Revision: D27115321
    
    fbshipit-source-id: c512e395b5c71701b25abf745be74b51b21df5b2
    sammy-SC authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    145110b View commit details
    Browse the repository at this point in the history
  10. React Sync for revisions c3e20f1... c9f6d0a

    Summary:
    This sync includes the following changes:
    - **[b9c4a01f7](facebook/react@b9c4a01f7 )**: Allow the streaming config to decide how to precompute or compute chunks ([facebook#21008](facebook/react#21008)) //<Sebastian Markbåge>//
    - **[c06d245fc](facebook/react@c06d245fc )**: Update devtools-extensions build script to reflect changes in local b… ([facebook#21004](facebook/react#21004)) //<Hector Rincon>//
    - **[14e4fd1ff](facebook/react@14e4fd1ff )**: [Fizz] Move DOM/Native format configs to their respective packages ([facebook#20994](facebook/react#20994)) //<Sebastian Markbåge>//
    - **[f2b6bf7c8](facebook/react@f2b6bf7c8 )**: [Fizz] Destroy the stream with an error if the root throws ([facebook#20992](facebook/react#20992)) //<Sebastian Markbåge>//
    - **[10cc40018](facebook/react@10cc40018 )**: Basic Fizz Architecture ([facebook#20970](facebook/react#20970)) //<Sebastian Markbåge>//
    - **[b7e631066](facebook/react@b7e631066 )**: Stop tracking roots with pending discrete updates ([facebook#20978](facebook/react#20978)) //<Andrew Clark>//
    - **[860f673](facebook/react@860f673a7 )**: Remove Blocking Mode (again) ([facebook#20974](facebook/react#20974)) //<Ricky>//
    - **[acde65469](facebook/react@acde65469 )**: Unify InputDiscreteLane with SyncLane ([facebook#20968](facebook/react#20968)) //<Ricky>//
    - **[6556e2a87](facebook/react@6556e2a87 )**: Cleaned up unused PassiveUnmountPendingDev DEV flag ([facebook#20973](facebook/react#20973)) //<Brian Vaughn>//
    - **[60182d64c](facebook/react@60182d64c )**: Cleanup tests using runWithPriority. ([facebook#20958](facebook/react#20958)) //<Ricky>//
    - **[e4d4b7074](facebook/react@e4d4b7074 )**: Land enableNativeEventPriorityInference ([facebook#20955](facebook/react#20955)) //<Ricky>//
    - **[73e900b0e](facebook/react@73e900b0e )**: Land enableDiscreteEventMicroTasks ([facebook#20954](facebook/react#20954)) //<Ricky>//
    - **[41e62e771](facebook/react@41e62e771 )**: Remove runWithPriority internally //<Rick Hanlon>//
    - **[431e76e2d](facebook/react@431e76e2d )**: Switch callsites over to update lane priority //<Rick Hanlon>//
    - **[e89d74ee6](facebook/react@e89d74ee6 )**: Remove decoupleUpdatePriorityFromScheduler //<Rick Hanlon>//
    - **[ca15606d8](facebook/react@ca15606d8 )**: chore(build):  Ensure experimental builds exists on windows ([facebook#20933](facebook/react#20933)) //<Sebastian Silbermann>//
    - **[d74559746](facebook/react@d74559746 )**: Use update lane priority to set pending updates on roots ([facebook#20918](facebook/react#20918)) //<Ricky>//
    - **[f04bcb813](facebook/react@f04bcb813 )**: [Bugfix] Reset `subtreeFlags` in `resetWorkInProgress` ([facebook#20948](facebook/react#20948)) //<Andrew Clark>//
    - **[c7b449798](facebook/react@c7b449798 )**: [Experiment] Lazily propagate context changes ([facebook#20890](facebook/react#20890)) //<Andrew Clark>//
    - **[258b375a4](facebook/react@258b375a4 )**: Move context comparison to consumer //<Andrew Clark>//
    - **[7df65725b](facebook/react@7df65725b )**: Split getComponentName into getComponentNameFromFiber and getComponentNameFromType ([facebook#20940](facebook/react#20940)) //<Brian Vaughn>//
    - **[ee4326357](facebook/react@ee4326357 )**: Revert "Remove blocking mode and blocking root ([facebook#20888](facebook/react#20888))" ([facebook#20916](facebook/react#20916)) //<Andrew Clark>//
    - **[de0ee76db](facebook/react@de0ee76db )**: Add unstable_strictModeLevel to test renderer ([facebook#20914](facebook/react#20914)) //<Andrew Clark>//
    - **[d857f9e4d](facebook/react@d857f9e4d )**: Land enableSetImmediate feature flag ([facebook#20906](facebook/react#20906)) //<Dan Abramov>//
    - **[553440bd1](facebook/react@553440bd1 )**: Remove blocking mode and blocking root ([facebook#20888](facebook/react#20888)) //<Ricky>//
    - **[38f392ced](facebook/react@38f392ced )**: typo fix for the word 'Psuedo' ([facebook#20894](facebook/react#20894)) //<Bowen>//
    - **[0cf9fc10b](facebook/react@0cf9fc10b )**: Fix React Native flow types ([facebook#20889](facebook/react#20889)) //<Ricky>//
    - **[c581cdd48](facebook/react@c581cdd48 )**: Schedule sync updates in microtask ([facebook#20872](facebook/react#20872)) //<Ricky>//
    - **[90bde6505](facebook/react@90bde6505 )**: Add SuspenseList to react-is ([facebook#20874](facebook/react#20874)) //<Brian Vaughn>//
    - **[8336f19aa](facebook/react@8336f19aa )**: Update React Native types ([facebook#20883](facebook/react#20883)) //<Rubén Norte>//
    - **[9209c30ff](facebook/react@9209c30ff )**: Add StrictMode level prop and createRoot unstable_strictModeLevel option ([facebook#20849](facebook/react#20849)) //<Brian Vaughn>//
    - **[e5f6b91d2](facebook/react@e5f6b91d2 )**: Add Lane labels to scheduling profiler marks ([facebook#20808](facebook/react#20808)) //<Brian Vaughn>//
    - **[c62986cfd](facebook/react@c62986cfd )**: Add additional messaging for RulesOfHooks lint error ([facebook#20692](facebook/react#20692)) //<Anthony Garritano>//
    - **[78d2f2d30](facebook/react@78d2f2d30 )**: Fabric-compatible implementation of `JSReponder` feature ([facebook#20768](facebook/react#20768)) //<Valentin Shergin>//
    - **[4d28eca97](facebook/react@4d28eca97 )**: Land enableNonInterruptingNormalPri ([facebook#20859](facebook/react#20859)) //<Ricky>//
    - **[8af27aeed](facebook/react@8af27aeed )**: Remove scheduler sampling profiler shared array buffer ([facebook#20840](facebook/react#20840)) //<Brian Vaughn>//
    - **[af3d52611](facebook/react@af3d52611 )**: Disable (unstable) scheduler sampling profiler for OSS builds ([facebook#20832](facebook/react#20832)) //<Brian Vaughn>//
    - **[8fa0ccca0](facebook/react@8fa0ccca0 )**: fix: use SharedArrayBuffer only when cross-origin isolation is enabled ([facebook#20831](facebook/react#20831)) //<Toru Kobayashi>//
    - **[099164792](facebook/react@099164792 )**: Use setImmediate when available over MessageChannel ([facebook#20834](facebook/react#20834)) //<Dan Abramov>//
    - **[e2fd460cc](facebook/react@e2fd460cc )**: Bailout in sync task if work is not sync ([facebook#20813](facebook/react#20813)) //<Andrew Clark>//
    - **[1a7472624](facebook/react@1a7472624 )**: Add `supportsMicrotasks` to the host config ([facebook#20809](facebook/react#20809)) //<Andrew Clark>//
    - **[696e736be](facebook/react@696e736be )**: Warn if static flag is accidentally cleared ([facebook#20807](facebook/react#20807)) //<Andrew Clark>//
    - **[483358c38](facebook/react@483358c38 )**: Omit TransitionHydrationLane from TransitionLanes ([facebook#20802](facebook/react#20802)) //<Andrew Clark>//
    - **[78ec97d34](facebook/react@78ec97d34 )**: Fix typo ([facebook#20466](facebook/react#20466)) //<inokawa>//
    - **[6cdc35972](facebook/react@6cdc35972 )**: fix comments of markUpdateLaneFromFiberToRoot ([facebook#20546](facebook/react#20546)) //<neroneroffy>//
    - **[47dd9f441](facebook/react@47dd9f441 )**: Remove fakeCallbackNode ([facebook#20799](facebook/react#20799)) //<Andrew Clark>//
    - **[114ab5295](facebook/react@114ab5295 )**: Make remaining empty lanes Transition lanes ([facebook#20793](facebook/react#20793)) //<Andrew Clark>//
    - **[d3d2451a0](facebook/react@d3d2451a0 )**: Use a single lane per priority level ([facebook#20791](facebook/react#20791)) //<Andrew Clark>//
    - **[eee874ce6](facebook/react@eee874ce6 )**: Cross-fork lint: Support named export declaration ([facebook#20784](facebook/react#20784)) //<Andrew Clark>//
    - **[3b870b1e0](facebook/react@3b870b1e0 )**: Lane enableTransitionEntanglement flag ([facebook#20775](facebook/react#20775)) //<Andrew Clark>//
    - **[d1845ad0f](facebook/react@d1845ad0f )**: Default updates should not interrupt transitions ([facebook#20771](facebook/react#20771)) //<Andrew Clark>//
    - **[3499c343a](facebook/react@3499c343a )**: Apply facebook#20778 to new fork, too ([facebook#20782](facebook/react#20782)) //<Andrew Clark>//
    - **[3d10eca24](facebook/react@3d10eca24 )**: Move scheduler priority check into ReactDOM ([facebook#20778](facebook/react#20778)) //<Dan Abramov>//
    - **[97fce318a](facebook/react@97fce318a )**: Experiment: Infer the current event priority from the native event ([facebook#20748](facebook/react#20748)) //<Dan Abramov>//
    - **[6c526c515](facebook/react@6c526c515 )**: Don't shift interleaved updates to separate lane ([facebook#20681](facebook/react#20681)) //<Andrew Clark>//
    - **[35f7441d3](facebook/react@35f7441d3 )**: Use Lanes instead of priority event constants ([facebook#20762](facebook/react#20762)) //<Dan Abramov>//
    - **[a014c915c](facebook/react@a014c915c )**: Parallel transitions: Assign different lanes to consecutive transitions ([facebook#20672](facebook/react#20672)) //<Andrew Clark>//
    - **[77754ae61](facebook/react@77754ae61 )**: Decouple event priority list from event name list ([facebook#20760](facebook/react#20760)) //<Dan Abramov>//
    - **[b5bac1821](facebook/react@b5bac1821 )**: Align event group constant naming with lane naming ([facebook#20744](facebook/react#20744)) //<Dan Abramov>//
    - **[4ecf11977](facebook/react@4ecf11977 )**: Remove the Fundamental internals ([facebook#20745](facebook/react#20745)) //<Dan Abramov>//
    - **[eeb1325b0](facebook/react@eeb1325b0 )**: Fix UMD bundles by removing usage of global ([facebook#20743](facebook/react#20743)) //<Dan Abramov>//
    - **[0935a1db3](facebook/react@0935a1db3 )**: Delete consolidateBundleSizes script ([facebook#20724](facebook/react#20724)) //<Andrew Clark>//
    - **[7cb9fd7ef](facebook/react@7cb9fd7ef )**: Land interleaved updates change in main fork ([facebook#20710](facebook/react#20710)) //<Andrew Clark>//
    - **[dc27b5aaa](facebook/react@dc27b5aaa )**: useMutableSource: Use StrictMode double render to detect render phase mutation ([facebook#20698](facebook/react#20698)) //<Andrew Clark>//
    - **[bb1b7951d](facebook/react@bb1b7951d )**: fix: don't run effects if a render phase update results in unchanged deps ([facebook#20676](facebook/react#20676)) //<Sebastian Silbermann>//
    - **[766a7a28a](facebook/react@766a7a28a )**: Improve React error message when mutable sources are mutated during render ([facebook#20665](facebook/react#20665)) //<Brian Vaughn>//
    - **[a922f1c71](facebook/react@a922f1c71 )**: Fix cache refresh bug that broke DevTools ([facebook#20687](facebook/react#20687)) //<Andrew Clark>//
    - **[e51bd6c1f](facebook/react@e51bd6c1f )**: Queue discrete events in microtask ([facebook#20669](facebook/react#20669)) //<Ricky>//
    - **[aa736a0fa](facebook/react@aa736a0fa )**: Add queue microtask to host configs ([facebook#20668](facebook/react#20668)) //<Ricky>//
    - **[deeeaf1d2](facebook/react@deeeaf1d2 )**: Entangle overlapping transitions per queue ([facebook#20670](facebook/react#20670)) //<Andrew Clark>//
    - **[e316f7855](facebook/react@e316f7855 )**: RN: Implement `sendAccessibilityEvent` in RN Renderer that proxies between Fabric/non-Fabric ([facebook#20554](facebook/react#20554)) //<Joshua Gross>//
    - **[9c32622cf](facebook/react@9c32622cf )**: Improve tests that use discrete events ([facebook#20667](facebook/react#20667)) //<Ricky>//
    - **[d13f5b953](facebook/react@d13f5b953 )**: Experiment: Unsuspend all lanes on update ([facebook#20660](facebook/react#20660)) //<Andrew Clark>//
    - **[a511dc709](facebook/react@a511dc709 )**: Error for deferred value and transition in Server Components ([facebook#20657](facebook/react#20657)) //<Sebastian Markbåge>//
    - **[fb3f63f1a](facebook/react@fb3f63f1a )**: Remove lazy invokation of segments ([facebook#20656](facebook/react#20656)) //<Sebastian Markbåge>//
    - **[895ae67fd](facebook/react@895ae67fd )**: Improve error boundary handling for unmounted subtrees ([facebook#20645](facebook/react#20645)) //<Brian Vaughn>//
    - **[f15f8f64b](facebook/react@f15f8f64b )**: Store interleaved updates on separate queue until end of render ([facebook#20615](facebook/react#20615)) //<Andrew Clark>//
    - **[0fd6805c6](facebook/react@0fd6805c6 )**: Land rest of effects refactor in main fork ([facebook#20644](facebook/react#20644)) //<Andrew Clark>//
    - **[a6b5256a2](facebook/react@a6b5256a2 )**: Refactored recursive strict effects method to be iterative ([facebook#20642](facebook/react#20642)) //<Brian Vaughn>//
    - **[3957853ae](facebook/react@3957853ae )**: Re-add "strict effects mode" for legacy roots only ([facebook#20639](facebook/react#20639)) //<Brian Vaughn>//
    - **[fceb75e89](facebook/react@fceb75e89 )**: Delete remaining references to effect list ([facebook#20625](facebook/react#20625)) //<Andrew Clark>//
    - **[741dcbdbe](facebook/react@741dcbdbe )**: Schedule passive phase whenever there's a deletion ([facebook#20624](facebook/react#20624)) //<Andrew Clark>//
    - **[11a983fc7](facebook/react@11a983fc7 )**: Remove references to Deletion flag ([facebook#20623](facebook/react#20623)) //<Andrew Clark>//
    - **[2e948e0d9](facebook/react@2e948e0d9 )**: Avoid .valueOf to close facebook#20594 ([facebook#20617](facebook/react#20617)) //<Dima Tisnek>//
    - **[2a646f73e](facebook/react@2a646f73e )**: Convert snapshot phase to depth-first traversal ([facebook#20622](facebook/react#20622)) //<Andrew Clark>//
    - **[fb3e158a6](facebook/react@fb3e158a6 )**: Convert ReactSuspenseWithNoopRenderer tests to use built-in cache ([facebook#20601](facebook/react#20601)) //<Andrew Clark>//
    - **[e0fd9e67f](facebook/react@e0fd9e67f )**: Use update lane priority in work loop ([facebook#20621](facebook/react#20621)) //<Ricky>//
    - **[58e830448](facebook/react@58e830448 )**: Remove custom error message from hook access error ([facebook#20604](facebook/react#20604)) //<Andrew Clark>//
    - **[9043626f0](facebook/react@9043626f0 )**: Cache tests: Make it easier to test many caches ([facebook#20600](facebook/react#20600)) //<Andrew Clark>//
    - **[af0bb68e8](facebook/react@af0bb68e8 )**: Land facebook#20595 and facebook#20596 in main fork ([facebook#20602](facebook/react#20602)) //<Andrew Clark>//
    - **[2b6985114](facebook/react@2b6985114 )**: build-combined: Fix failures  when renaming across devices ([facebook#20620](facebook/react#20620)) //<Sebastian Silbermann>//
    - **[af16f755d](facebook/react@af16f755d )**: Update DevTools to use getCacheForType API ([facebook#20548](facebook/react#20548)) //<Brian Vaughn>//
    - **[95feb0e70](facebook/react@95feb0e70 )**: Convert mutation phase to depth-first traversal ([facebook#20596](facebook/react#20596)) //<Andrew Clark>//
    - **[6132919bf](facebook/react@6132919bf )**: Convert layout phase to depth-first traversal ([facebook#20595](facebook/react#20595)) //<Andrew Clark>//
    - **[42e04b46d](facebook/react@42e04b46d )**: Fix: Detach deleted fiber's alternate, too ([facebook#20587](facebook/react#20587)) //<Andrew Clark>//
    - **[a656ace8d](facebook/react@a656ace8d )**: Deletion effects should fire parent -> child ([facebook#20584](facebook/react#20584)) //<Andrew Clark>//
    - **[e6ed2bcf4](facebook/react@e6ed2bcf4 )**: Update package.json versions as part of build step ([facebook#20579](facebook/react#20579)) //<Andrew Clark>//
    - **[eb0fb3823](facebook/react@eb0fb3823 )**: Build stable and experimental with same command ([facebook#20573](facebook/react#20573)) //<Andrew Clark>//
    - **[e8eff119e](facebook/react@e8eff119e )**: Fix ESLint crash on empty react effect hook ([facebook#20385](facebook/react#20385)) //<Christian Ruigrok>//
    - **[27659559e](facebook/react@27659559e )**: Add useRefresh hook to react-debug-tools ([facebook#20460](facebook/react#20460)) //<Brian Vaughn>//
    - **[99554dc36](facebook/react@99554dc36 )**: Add Flight packages to experimental allowlist ([facebook#20486](facebook/react#20486)) //<Andrew Clark>//
    - **[efc57e5cb](facebook/react@efc57e5cb )**: Add built-in Suspense cache with support for invalidation (refreshing) ([facebook#20456](facebook/react#20456)) //<Andrew Clark>//
    - **[00a5b08e2](facebook/react@00a5b08e2 )**: Remove PassiveStatic optimization //<Andrew Clark>//
    - **[a6329b105](facebook/react@a6329b105 )**: Don't clear static flags in resetWorkInProgress //<Andrew Clark>//
    - **[1cf59f34b](facebook/react@1cf59f34b )**: Convert passive unmount phase to tree traversal //<Andrew Clark>//
    - **[ab29695a0](facebook/react@ab29695a0 )**: Defer more field detachments to passive phase //<Andrew Clark>//
    - **[d37d7a4bb](facebook/react@d37d7a4bb )**: Convert passive mount phase to tree traversal //<Andrew Clark>//
    - **[19e15a398](facebook/react@19e15a398 )**: Add PassiveStatic to trees with passive effects //<Andrew Clark>//
    - **[ff17fc176](facebook/react@ff17fc176 )**: Don't clear other flags when adding Deletion //<Andrew Clark>//
    - **[5687864eb](facebook/react@5687864eb )**: Add back disableSchedulerTimeoutInWorkLoop flag ([facebook#20482](facebook/react#20482)) //<Ricky>//
    - **[9f338e5d7](facebook/react@9f338e5d7 )**: clone json obj in react native flight client host config parser ([facebook#20474](facebook/react#20474)) //<Luna Ruan>//
    - **[4e62fd271](facebook/react@4e62fd271 )**: clone json obj in relay flight client host config parser ([facebook#20465](facebook/react#20465)) //<Luna Ruan>//
    - **[070372cde](facebook/react@070372cde )**: [Flight] Fix webpack watch mode issue ([facebook#20457](facebook/react#20457)) //<Dan Abramov>//
    - **[0f80dd148](facebook/react@0f80dd148 )**: [Flight] Support concatenated modules in Webpack plugin ([facebook#20449](facebook/react#20449)) //<Dan Abramov>//
    - **[daf38ecdf](facebook/react@daf38ecdf )**: [Flight] Use lazy reference for existing modules ([facebook#20445](facebook/react#20445)) //<Dan Abramov>//
    - **[3f9205c33](facebook/react@3f9205c33 )**: Regression test: SuspenseList causes lost unmount ([facebook#20433](facebook/react#20433)) //<Andrew Clark>//
    - **[cdfde3ae1](facebook/react@cdfde3ae1 )**: Always rethrow original error when we replay errors ([facebook#20425](facebook/react#20425)) //<Sebastian Markbåge>//
    - **[b15d6e93e](facebook/react@b15d6e93e )**: [Flight] Make PG and FS server-only ([facebook#20424](facebook/react#20424)) //<Dan Abramov>//
    - **[40ff2395e](facebook/react@40ff2395e )**: [Flight] Prevent non-Server imports of aliased Server entrypoints ([facebook#20422](facebook/react#20422)) //<Dan Abramov>//
    - **[94aa365e3](facebook/react@94aa365e3 )**: [Flight] Fix webpack plugin to use chunk groups ([facebook#20421](facebook/react#20421)) //<Dan Abramov>//
    - **[842ee367e](facebook/react@842ee367e )**: [Flight] Rename the shared entry point ([facebook#20420](facebook/react#20420)) //<Dan Abramov>//
    - **[dbf40ef75](facebook/react@dbf40ef75 )**: Put .server.js at the end of bundle filenames ([facebook#20419](facebook/react#20419)) //<Dan Abramov>//
    - **[03126dd08](facebook/react@03126dd08 )**: [Flight] Add read-only fs methods ([facebook#20412](facebook/react#20412)) //<Dan Abramov>//
    - **[b51a686a9](facebook/react@b51a686a9 )**: Turn on double effects for www test renderer ([facebook#20416](facebook/react#20416)) //<Brian Vaughn>//
    - **[56a632adb](facebook/react@56a632adb )**: Double Invoke Effects in __DEV__ (in old reconciler fork) ([facebook#20415](facebook/react#20415)) //<Brian Vaughn>//
    - **[1a2422337](facebook/react@1a2422337 )**: fixed typo ([facebook#20351](facebook/react#20351)) //<togami2864>//
    - **[a233c9e2a](facebook/react@a233c9e2a )**: Rename internal cache helpers ([facebook#20410](facebook/react#20410)) //<Dan Abramov>//
    - **[6a4b12b81](facebook/react@6a4b12b81 )**: [Flight] Add rudimentary FS binding ([facebook#20409](facebook/react#20409)) //<Dan Abramov>//
    - **[7659949d6](facebook/react@7659949d6 )**: Clear `deletions` in `detachFiber` ([facebook#20401](facebook/react#20401)) //<Andrew Clark>//
    - **[b9680aef7](facebook/react@b9680aef7 )**: Cache react-fetch results in the Node version ([facebook#20407](facebook/react#20407)) //<Dan Abramov>//
    - **[cdae31ab8](facebook/react@cdae31ab8 )**: Fix typo ([facebook#20279](facebook/react#20279)) //<inokawa>//
    - **[51a7cfe21](facebook/react@51a7cfe21 )**: Fix typo ([facebook#20300](facebook/react#20300)) //<Hollow Man>//
    - **[373b297c5](facebook/react@373b297c5 )**: fix: Fix typo in react-reconciler docs ([facebook#20284](facebook/react#20284)) //<Sam Zhou>//
    - **[1b5ca9906](facebook/react@1b5ca9906 )**: Fix module ID deduplication ([facebook#20406](facebook/react#20406)) //<Dan Abramov>//
    - **[5fd9db732](facebook/react@5fd9db732 )**: [Flight] Rename react-transport-... packages to react-server-... ([facebook#20403](facebook/react#20403)) //<Sebastian Markbåge>//
    - **[ce40f1dc2](facebook/react@ce40f1dc2 )**: Use assets API + writeToDisk instead of directly writing to disk ([facebook#20402](facebook/react#20402)) //<Sebastian Markbåge>//
    - **[b66ae09b6](facebook/react@b66ae09b6 )**: Track subtreeFlags et al with bubbleProperties //<Andrew Clark>//
    - **[de75315d7](facebook/react@de75315d7 )**: Track deletions using an array on the parent //<Andrew Clark>//
    - **[1377e465d](facebook/react@1377e465d )**: Add Placement bit without removing others ([facebook#20398](facebook/react#20398)) //<Andrew Clark>//
    - **[18d7574ae](facebook/react@18d7574ae )**: Remove `catch` from Scheduler build ([facebook#20396](facebook/react#20396)) //<Andrew Clark>//
    - **[30dfb8602](facebook/react@30dfb8602 )**: [Flight] Basic scan of the file system to find Client modules ([facebook#20383](facebook/react#20383)) //<Sebastian Markbåge>//
    - **[9b8060041](facebook/react@9b8060041 )**: Error when the number of parameters to a query changes ([facebook#20379](facebook/react#20379)) //<Dan Abramov>//
    - **[60e4a76](facebook/react@60e4a76fa )**: [Flight] Add rudimentary PG binding ([facebook#20372](facebook/react#20372)) //<Dan Abramov>//
    - **[88ef95712](facebook/react@88ef95712 )**: Fork ReactFiberLane ([facebook#20371](facebook/react#20371)) //<Andrew Clark>//
    - **[41c5d00fc](facebook/react@41c5d00fc )**: [Flight] Minimal webpack plugin ([facebook#20228](facebook/react#20228)) //<Dan Abramov>//
    - **[e23673b51](facebook/react@e23673b51 )**: [Flight] Add getCacheForType() to the dispatcher ([facebook#20315](facebook/react#20315)) //<Dan Abramov>//
    - **[555eeae33](facebook/react@555eeae33 )**: Add disableNativeComponentFrames flag ([facebook#20364](facebook/react#20364)) //<Philipp Spiess>//
    - **[148ffe3cf](facebook/react@148ffe3cf )**: Failing test for Client reconciliation ([facebook#20318](facebook/react#20318)) //<Dan Abramov>//
    - **[a2a025537](facebook/react@a2a025537 )**: Fixed invalid DevTools work tags ([facebook#20362](facebook/react#20362)) //<Brian Vaughn>//
    - **[5711811da](facebook/react@5711811da )**: Reconcile element types of lazy component yielding the same type ([facebook#20357](facebook/react#20357)) //<Sebastian Markbåge>//
    - **[3f73dcee3](facebook/react@3f73dcee3 )**: Support named exports from client references ([facebook#20312](facebook/react#20312)) //<Sebastian Markbåge>//
    - **[565148d75](facebook/react@565148d75 )**: Disallow *.server.js imports from any other files ([facebook#20309](facebook/react#20309)) //<Sebastian Markbåge>//
    - **[e6a0f2763](facebook/react@e6a0f2763 )**: Profiler: Improve nested-update checks ([facebook#20299](facebook/react#20299)) //<Brian Vaughn>//
    - **[d93b58a5e](facebook/react@d93b58a5e )**: Add flight specific entry point for react package ([facebook#20304](facebook/react#20304)) //<Sebastian Markbåge>//
    - **[a81c02ac1](facebook/react@a81c02ac1 )**: Profiler onNestedUpdateScheduled accepts id as first param ([facebook#20293](facebook/react#20293)) //<Brian Vaughn>//
    - **[ac2cff4b1](facebook/react@ac2cff4b1 )**: Warn if commit phase error thrown in detached tree ([facebook#20286](facebook/react#20286)) //<Andrew Clark>//
    - **[0f83a64ed](facebook/react@0f83a64ed )**: Regression test: Missing unmount after re-order ([facebook#20285](facebook/react#20285)) //<Andrew Clark>//
    - **[ebf158965](facebook/react@ebf158965 )**: Add best-effort documentation for third-party renderers ([facebook#20278](facebook/react#20278)) //<Dan Abramov>//
    - **[82e99e1b0](facebook/react@82e99e1b0 )**: Add Node ESM Loader and Register Entrypoints ([facebook#20274](facebook/react#20274)) //<Sebastian Markbåge>//
    - **[bf7b7aeb1](facebook/react@bf7b7aeb1 )**: findDOMNode: Remove return pointer mutation ([facebook#20272](facebook/react#20272)) //<Andrew Clark>//
    - **[369c3db62](facebook/react@369c3db62 )**: Add separate ChildDeletion flag ([facebook#20264](facebook/react#20264)) //<Andrew Clark>//
    - **[765e89b90](facebook/react@765e89b90 )**: Reset new fork to old fork  ([facebook#20254](facebook/react#20254)) //<Andrew Clark>//
    - **[7548dd573](facebook/react@7548dd573 )**: Properly reset Profiler nested-update flag ([facebook#20253](facebook/react#20253)) //<Brian Vaughn>//
    - **[b44e4b13a](facebook/react@b44e4b13a )**: Check for deletions in `hadNoMutationsEffects` ([facebook#20252](facebook/react#20252)) //<Andrew Clark>//
    - **[3ebf05183](facebook/react@3ebf05183 )**: Add new effect fields to old fork, and vice versa ([facebook#20246](facebook/react#20246)) //<Andrew Clark>//
    - **[2fbcc9806](facebook/react@2fbcc9806 )**: Remove cycle between ReactFiberHooks and ReactInternalTypes ([facebook#20242](facebook/react#20242)) //<Paul Doyle>//
    - **[504222dcd](facebook/react@504222dcd )**: Add Node ESM build option ([facebook#20243](facebook/react#20243)) //<Sebastian Markbåge>//
    - **[1b96ee444](facebook/react@1b96ee444 )**: Remove noinline directives from new commit phase ([facebook#20241](facebook/react#20241)) //<Andrew Clark>//
    - **[760d9ab57](facebook/react@760d9ab57 )**: Scheduling profiler tweaks ([facebook#20215](facebook/react#20215)) //<Brian Vaughn>//
    - **[9403c3b53](facebook/react@9403c3b53 )**: Add Profiler callback when nested updates are scheduled ([facebook#20211](facebook/react#20211)) //<Brian Vaughn>//
    - **[62efd9618](facebook/react@62efd9618 )**: use-subscription@1.5.1 //<Dan Abramov>//
    - **[e7006d67d](facebook/react@e7006d67d )**: Widen peer dependency range of use-subscription ([facebook#20225](facebook/react#20225)) //<Billy Janitsch>//
    - **[15df051c9](facebook/react@15df051c9 )**: Add warning if return pointer is inconsistent ([facebook#20219](facebook/react#20219)) //<Andrew Clark>//
    - **[9aca239f1](facebook/react@9aca239f1 )**: Improved dev experience when DevTools hook is disabled ([facebook#20208](facebook/react#20208)) //<Alphabet Codes>//
    - **[12627f93b](facebook/react@12627f93b )**: Perform hasOwnProperty check in Relay Flight ([facebook#20220](facebook/react#20220)) //<Sebastian Markbåge>//
    - **[163199d8c](facebook/react@163199d8c )**: Dedupe module id generation ([facebook#20172](facebook/react#20172)) //<Sebastian Markbåge>//
    - **[76a6dbcb9](facebook/react@76a6dbcb9 )**: [Flight] Encode Symbols as special rows that can be referenced by models … ([facebook#20171](facebook/react#20171)) //<Sebastian Markbåge>//
    - **[35e53b465](facebook/react@35e53b465 )**: [Flight] Simplify Relay row protocol ([facebook#20168](facebook/react#20168)) //<Sebastian Markbåge>//
    - **[16e6dadba](facebook/react@16e6dadba )**: Encode throwing server components as lazy throwing references ([facebook#20217](facebook/react#20217)) //<Sebastian Markbåge>//
    - **[c896cf961](facebook/react@c896cf961 )**: Set return pointer when reusing current tree ([facebook#20212](facebook/react#20212)) //<Andrew Clark>//
    - **[089866015](facebook/react@089866015 )**: Add version of scheduler that only swaps MessageChannel for postTask ([facebook#20206](facebook/react#20206)) //<Ricky>//
    - **[393c452e3](facebook/react@393c452e3 )**: Add "nested-update" phase to Profiler API ([facebook#20163](facebook/react#20163)) //<Brian Vaughn>//
    - **[13a62feab](facebook/react@13a62feab )**: Fix path for SchedulerFeatureFlags ([facebook#20200](facebook/react#20200)) //<Ricky>//
    - **[7a73d6a0f](facebook/react@7a73d6a0f )**: (Temporarily) revert unmounting error boundaries changes ([facebook#20147](facebook/react#20147)) //<Brian Vaughn>//
    - **[c29710a57](facebook/react@c29710a57 )**: fix: useImperativeMethods to useImperativeHandle ([facebook#20194](facebook/react#20194)) //<Jack Works>//
    - **[f8979e0e2](facebook/react@f8979e0e2 )**: Revert 'Fabric-compatible implementation of  feature' and have Fabric noop when setJSResponder is called for now ([facebook#21009](facebook/react#21009)) //<Joshua Gross>//
    - **[c9f6d0a3a](facebook/react@c9f6d0a3a )**: Sync `ReactNativeTypes` from React Native ([facebook#21015](facebook/react#21015)) //<Timothy Yung>//
    
    Changelog:
    [General][Changed] - React Native sync for revisions c3e20f1...c9f6d0a
    
    jest_e2e[run_all_tests]
    
    Reviewed By: PeteTheHeat
    
    Differential Revision: D27051885
    
    fbshipit-source-id: 5b232f6093f5f2527f3b321bc8b5487934e92d70
    JoshuaGross authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    85f9b7a View commit details
    Browse the repository at this point in the history
  11. Update paper interop lists

    Summary:
    Picker was migrated off of the paper compatibility layer last year (see T75217510 and stack ending in D23663596 (facebook@8f45db3))
    
    WebView was deleted from RN repo a few months back.
    
    This diffs removes both of these native components from tooling surrounding the Fabric-Paper compat layer.
    
    Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27099989
    
    fbshipit-source-id: b6ce994fd28c4765db802cc80e8e66aec4e7a47f
    Peter Argany authored and facebook-github-bot committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    4079c04 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2021

  1. Workaround for bridge.isInspectable

    Summary:
    `RCTDevSettings` uses the API `bridge.isInspectable` to understand if the runtime can be debugged. In bridgeless mode, let's use `RuntimeExecutor` to check the same property.
    
    Changelog: [Internal]
    
    Reviewed By: p-sun
    
    Differential Revision: D27095935
    
    fbshipit-source-id: 93785774b175bd7da17269e1590b5d92eba2b0cf
    Peter Argany authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    dbf5fa2 View commit details
    Browse the repository at this point in the history
  2. Fix accessibilityElement accessibility frame

    Summary:
    Changelog: [internal]
    
    `accessibilityElement.accessibilityFrame` returns CGRect in screen's coordinate space. Screen coordinate space changes whenever user scrolls. Therefore they have to be computed whenever on demand rather than precomputed.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27118793
    
    fbshipit-source-id: c48a2b9fc3f25b6ae797104371a2627193f4f79a
    sammy-SC authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    729c6d2 View commit details
    Browse the repository at this point in the history
  3. Back out "Update typed export and fix test", Back out "[VirtualizedSe…

    …ctionList] Remove defaultProps", Back out "[VirtualizedList] Remove keyExtractor defaultProps"
    
    Summary:
    Changelog:
    Partial revert the stack
    
    Reviewed By: makovkastar
    
    Differential Revision: D27156625
    
    fbshipit-source-id: b158c9102047bb64ce708b200a8e5786f5a0c176
    jimmy623 authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    f293d41 View commit details
    Browse the repository at this point in the history
  4. Switch AdsManagerRefreshableScrollView to use ElementConfig instead o…

    …f ElementProps
    
    Summary:
    Changelog:
    [Changed] Removed rest operator from ScrollViewStickyHeader props
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27100507
    
    fbshipit-source-id: 7d90ebeaf757bcaed0b125a4a8abf44f07adf98f
    kacieb authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    d40f2a2 View commit details
    Browse the repository at this point in the history
  5. Add LTR and RTL Horizontal ScrollViews for E2E Tests

    Summary:
    This diff splits up the LTR and RTL examples in RNTester for Horizontal ScrollView into two examples for ease of E2E testing.
    
    Changelog:
    [Changed] Split RTL and LTR Horizontal ScrollView tests in RNTester into two tests
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27139885
    
    fbshipit-source-id: aae8aa06f4827507d1bc26a6b173d39cc92e20fe
    kacieb authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    54f754b View commit details
    Browse the repository at this point in the history
  6. Add sampling heap profiler APIs to JSI

    Summary:
    The sampling heap profiler will need to be enable-able by the
    inspector, and the previous snapshot/profiling APIs are all
    defined on `jsi::instrumentation`.
    
    Follow their lead and define the new sampling heap profiler APIs on
    `jsi::instrumentation` as well, and implement it for Hermes.
    
    Changelog: [Internal]
    
    Reviewed By: neildhar
    
    Differential Revision: D26835152
    
    fbshipit-source-id: 4625be3214297489e04a4ceea8a22622d14299c4
    Riley Dulin authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    a9bae13 View commit details
    Browse the repository at this point in the history
  7. Add support for the sampling memory profiler to the Chrome inspector

    Summary:
    In the Chrome inspector, add support for `HeapProfiler.startSampling`
    and `HeapProfiler.stopSampling`. These two protocols turn the sampling
    heap profiler on and off, and write the results on the socket.
    
    Then Chrome's visualizer pieces the information together to produce a flame graph
    of memory usage.
    
    Added a unit test to make sure sampling can be turned on and off, and there are some
    samples returned.
    
    Changelog: [Internal]
    
    Reviewed By: avp
    
    Differential Revision: D26835148
    
    fbshipit-source-id: d1be3cee791e42da5d9e117c3b8259b6622b98f4
    Riley Dulin authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    bcc79bd View commit details
    Browse the repository at this point in the history
  8. Example update to flex 1 and and make visibilityConfig as prop

    Summary:
    Changelog:
    [General][Changed] - Updated SectionList example in RNTester
    
    Lists need an explicit height set, otherwise their intrinsic height is the height of the root view. This causes rendering issues as shown in the test plan.
    
    Additionally, refactored to allow visibilityConfig to be passed as prop for future tests.
    
    Reviewed By: kacieb
    
    Differential Revision: D27098086
    
    fbshipit-source-id: b19155de79d00dddc287a1e2f9cdb240f2f31e27
    Luna Wei authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    8f2c51b View commit details
    Browse the repository at this point in the history
  9. Viewability examples

    Summary:
    # Changelog:
    [Internal][Added] - Provide more props to SectionList examples
    
    Reviewed By: kacieb
    
    Differential Revision: D27100891
    
    fbshipit-source-id: 10e83ca16badf18e8218557aff1ee8a7a86e8c54
    Luna Wei authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    c357cb4 View commit details
    Browse the repository at this point in the history
  10. Adapt SectionListExamples

    Summary:
    # Changelog:
    [General][Added] - Added more RNTester examples for FlatList as similar to SectionListExamples.
    
    Reviewed By: kacieb
    
    Differential Revision: D27104601
    
    fbshipit-source-id: 0a2cb24382d42956bacf455fd0a699adb61c7c83
    Luna Wei authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    bbf571c View commit details
    Browse the repository at this point in the history
  11. Fix typo in sendAccessibilityEvent in AccessibilityExample.js

    Summary:
    Changelog:
    [Fixed] Fix typo in sendAccessibilityEvent in AccessibilityExample.js
    
    Reviewed By: mdvacca
    
    Differential Revision: D27160274
    
    fbshipit-source-id: eee0a6cefa559b29ed73890abff3a44dacb19b62
    kacieb authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    feebfe1 View commit details
    Browse the repository at this point in the history
  12. Add test with Multiple Sticky Headers for ScrollView

    Summary:
    Changelog:
    [Added] Add a test with multiple sticky headers for ScrollView
    
    Reviewed By: nadiia
    
    Differential Revision: D27131325
    
    fbshipit-source-id: 8793a246ee5433aa2f97d3f05cdb5c86412f8168
    kacieb authored and facebook-github-bot committed Mar 18, 2021
    Configuration menu
    Copy the full SHA
    cfb5b5e View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2021

  1. Fix leak checker crash in bridgeless mode

    Summary:
    Fast follow to D26727461 (facebook@34d189a), in bridgeless mode, `_contextContainer` doesn't have bridge, so avoid setting up `garbageCollectionTrigger`.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27173725
    
    fbshipit-source-id: 5530c43638c17fb03e065c11667786efe9f3ef11
    Peter Argany authored and facebook-github-bot committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    ac7ba3e View commit details
    Browse the repository at this point in the history
  2. Pressability: don't report touch telemetry events when the event does…

    …n't have timestamp associated
    
    Summary:
    On iOS, not all touch events have timestamp associated. Don't report telemetry events for those events.
    
    Separately, we can try to ensure that all iOS events have timestamps associated but it's low-pri.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27179814
    
    fbshipit-source-id: ea2745df560bc4e9e6744bdf8f54269223adb209
    JoshuaGross authored and facebook-github-bot committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    a0dcc4c View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2021

  1. C4244 possible precision loss warning fix

    Summary:
    Fixing `warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data`
    
    Changelog: [Internal]
    
    Reviewed By: SidharthGuglani
    
    Differential Revision: D27132355
    
    fbshipit-source-id: 55ff35be368ef4f6093865eb88c17e753250d179
    altaibayar authored and facebook-github-bot committed Mar 20, 2021
    Configuration menu
    Copy the full SHA
    629611d View commit details
    Browse the repository at this point in the history
  2. Deploy Flow v0.147.0

    Summary: Changelog: [Internal]
    
    Reviewed By: panagosg7
    
    Differential Revision: D27209027
    
    fbshipit-source-id: 16b5f2dbf273606653d1800486f3e7f779205bc3
    mroch authored and facebook-github-bot committed Mar 20, 2021
    Configuration menu
    Copy the full SHA
    3f57120 View commit details
    Browse the repository at this point in the history
  3. Extend AccessibilityInfo.sendAccessibilityEvent to support 'click' ev…

    …ent for Android
    
    Summary:
    This diff extends AccessibilityInfo.sendAccessibilityEvent to support 'click' event on RN Android
    
    changelog: [internal] internal
    
    Reviewed By: kacieb
    
    Differential Revision: D27060395
    
    fbshipit-source-id: 5bf7479d72efb66c3a388fc3ea11990e285ca054
    mdvacca authored and facebook-github-bot committed Mar 20, 2021
    Configuration menu
    Copy the full SHA
    eacc940 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. Deprecate markerCancel

    Summary:
    We have migrated most markerCancel calls to markerDrop. This diff removes the last bit (QPLBase API and bindings)
    
    Changelog: [Internal]
    
    Differential Revision: D26945891
    
    fbshipit-source-id: 09b727809b316286930ced8533f9c79007350687
    swillard13 authored and facebook-github-bot committed Mar 22, 2021
    Configuration menu
    Copy the full SHA
    3671712 View commit details
    Browse the repository at this point in the history
  2. Primitives.h -> Primitive.h

    Summary:
    Refactor Primitives.h -> Primitive.h
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D26498384
    
    fbshipit-source-id: 5140a88aa6ced3dff5b0e08082e580588ae5ba02
    mdvacca authored and facebook-github-bot committed Mar 22, 2021
    Configuration menu
    Copy the full SHA
    f3fc425 View commit details
    Browse the repository at this point in the history
  3. Primitive.h -> primitives.h

    Summary:
    Refactor Primitives.h -> primitives.h
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27210461
    
    fbshipit-source-id: 6b540e20c9123df6b10909564530acfe10845082
    mdvacca authored and facebook-github-bot committed Mar 22, 2021
    Configuration menu
    Copy the full SHA
    866bf5f View commit details
    Browse the repository at this point in the history
  4. feat: set disabled accessibilityState when TouchableHighlight is disa…

    …bled (facebook#31135)
    
    Summary:
    facebook#30950
    
    automatically set `disabled` to accessibilityState when TouchableHighlight is disabled
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [General] [Changed] - Set disabled accessibilityState when TouchableHighlight is disabled
    
    Pull Request resolved: facebook#31135
    
    Test Plan: Tested on physical android device that pressing disabled TouchableHighlight announces "dim" when talkback is on
    
    Reviewed By: yungsters, nadiia
    
    Differential Revision: D27157207
    
    Pulled By: kacieb
    
    fbshipit-source-id: b8e24aad699c43cf02401b3ba39726a06b751995
    Naturalclar authored and facebook-github-bot committed Mar 22, 2021
    Configuration menu
    Copy the full SHA
    f69e096 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2021

  1. Add @DoNotStrip to every Pojo and every Pojo method

    Summary:
    This should ensure that nothing is stripped at compile-time.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D26094738
    
    fbshipit-source-id: 8dd62c289deafdcceb3de4b09c12132aaceafa94
    RSNara authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    74682c5 View commit details
    Browse the repository at this point in the history
  2. Change State references to TextLayoutManager to a weak_ptr (Paragraph…

    …State)
    
    Summary:
    TextLayoutManager indirectly holds ShadowNodes, which could hold onto TextLayoutManager via a shared_ptr; so we probably have some reference cycles here.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27238439
    
    fbshipit-source-id: b0b65cc451891e75bafddb7a08aa34ddf86d6a35
    JoshuaGross authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    aca0f41 View commit details
    Browse the repository at this point in the history
  3. Change State references to TextLayoutManager to a weak_ptr (AndroidTe…

    …xtInputState)
    
    Summary:
    TextLayoutManager indirectly holds ShadowNodes, which could hold onto TextLayoutManager via a shared_ptr; so we probably have some reference cycles here.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27238438
    
    fbshipit-source-id: 033101fa1b20d3a3b20ec4bae63f938493ed5147
    JoshuaGross authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    8cc737e View commit details
    Browse the repository at this point in the history
  4. Clean up - remove unused variables

    Summary:
    Changelog:
    [Android][Changed] - Remove unused variables
    
    Reviewed By: PeteTheHeat, mdvacca
    
    Differential Revision: D27188251
    
    fbshipit-source-id: 0914b402ed1582d7d300e9eccea06f73805107df
    luluwu2032 authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    dbc2d84 View commit details
    Browse the repository at this point in the history
  5. codemod objects to interfaces where they appear as supertypes of classes

    Summary:
    Flow is changing the behavior of object types to no longer be valid supertypes of classes. This replaces object types when they appear as supertypes of classes to be interfaces to avoid errors when this change rolls out.
    
    Changelog: [Internal]
    
    Reviewed By: pieterv
    
    Differential Revision: D27193522
    
    fbshipit-source-id: c3e3fca8a4cacd90770a95b773ff2c659774b9a6
    Daniel Sainati authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    05418f8 View commit details
    Browse the repository at this point in the history
  6. Remove code supporting legacy paper interop from Picker view manager

    Summary:
    Picker was migrated to Fabric in stack ending in D23663596 (facebook@8f45db3). Therefore, Picker's paper view manager is never used in Fabric through LegacyInteropLayer. This diff deletes a codepath that was created to accommodate this interop layer.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27245596
    
    fbshipit-source-id: e574e4aedcfef0ae639cb2aa446e27d6db5e9b94
    Peter Argany authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    daaa1b2 View commit details
    Browse the repository at this point in the history
  7. React Native sync for revisions c9f6d0a...6d3ecb7

    Summary:
    This sync includes the following changes:
    - **[6d3ecb70d](facebook/react@6d3ecb70d )**: Remove unstable_changedBits ([facebook#20953](facebook/react#20953)) //<Andrew Clark>//
    - **[754e30728](facebook/react@754e30728 )**: Delete immediateQueueCallbackNode ([facebook#20980](facebook/react#20980)) //<Andrew Clark>//
    - **[be5a2e231](facebook/react@be5a2e231 )**: Land enableSyncMicrotasks ([facebook#20979](facebook/react#20979)) //<Andrew Clark>//
    - **[f6bc9c824](facebook/react@f6bc9c824 )**: [Fizz] Expose maxBoundarySize as an option ([facebook#21029](facebook/react#21029)) //<Sebastian Markbåge>//
    - **[154b85213](facebook/react@154b85213 )**: [Fizz] Expose a method to explicitly start writing to a Node stream ([facebook#21028](facebook/react#21028)) //<Sebastian Markbåge>//
    - **[cf485e6f6](facebook/react@cf485e6f6 )**: [Fizz] Expose a method to abort a pending request ([facebook#21027](facebook/react#21027)) //<Sebastian Markbåge>//
    - **[3fb11eed9](facebook/react@3fb11eed9 )**: React Native: Touch Instrumentation Interface ([facebook#21024](facebook/react#21024)) //<Timothy Yung>//
    - **[825c3021f](facebook/react@825c3021f )**: Don't delete trailing mismatches during hydration at the root ([facebook#21021](facebook/react#21021)) //<Sebastian Markbåge>//
    - **[1d1e49cfa](facebook/react@1d1e49cfa )**: [Fizz] Assign an ID to the first DOM element in a fallback or insert a dummy (and testing infra) ([facebook#21020](facebook/react#21020)) //<Sebastian Markbåge>//
    - **[466b26c92](facebook/react@466b26c92 )**: Store commit durations on HostRoot for DevTools access ([facebook#20983](facebook/react#20983)) //<Brian Vaughn>//
    - **[89acfa639](facebook/react@89acfa639 )**: Fix native event batching in concurrent mode ([facebook#21010](facebook/react#21010)) //<Ricky>//
    - **[0203b6567](facebook/react@0203b6567 )**: chore: update react-reconciler README ([facebook#21016](facebook/react#21016)) //<susiwen8>//
    
    Changelog:
    [General][Changed] - React Native sync for revisions c9f6d0a...6d3ecb7
    
    jest_e2e[run_all_tests]
    
    Reviewed By: JoshuaGross, kacieb
    
    Differential Revision: D27231625
    
    fbshipit-source-id: 89c0c0662e69044ae8890486a693013bee6005dd
    rickhanlonii authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    563b42b View commit details
    Browse the repository at this point in the history
  8. Fabric: Aligning UIManager::startSurface and `UIManager::stopSurfac…

    …e` signatures
    
    Summary:
    In the previous diff, we moved the destruction of a ShadowTree object from `UIManager::stopSurface` method. And the next logical step is to align `UIManager::startSurface` method with the symmetrical approach. Now `stopSurface` accepts a unique pointer to a ShadowTree and `stopSurface` returns it back to the caller; this way we can avoid returning a raw pointer from `startSurface`.
    
    Changelog: [Internal] Fabric-specific internal change.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27010533
    
    fbshipit-source-id: b9211fb7e67763cc190d6b8c86cb866d20c6693d
    shergin authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    3dd9251 View commit details
    Browse the repository at this point in the history
  9. Clean up xplat/js/react-native-github/ReactAndroid/src/main/java/com/…

    …facebook/react/uimanager/FabricViewStateManager.java
    
    Summary: Changelog: [Internal]
    
    Differential Revision: D26841746
    
    fbshipit-source-id: 293367ebfb90442085f7c6d5cd139621dd845229
    generatedunixname89002005287564 authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    37a03ce View commit details
    Browse the repository at this point in the history
  10. LayoutAnimation: don't call non-Fabric configurNext if Fabric is inst…

    …alled
    
    Summary:
    If Fabric is "installed"/enabled in the JS VM, only send LayoutAnimations configureNext to Fabric.
    
    This will have no impact unless your app is running Fabric and non-Fabric side-by-side.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27274016
    
    fbshipit-source-id: 5d709e23968c2b65cc79d5611170fb70a9578953
    JoshuaGross authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    334da89 View commit details
    Browse the repository at this point in the history
  11. Clean up Paragraph Cxx/iOS code after D27238439

    Summary:
    In my haste to get out D27238439 (facebook@aca0f41), parts of it are sloppy. Nothing critical and no known bugs, but we should clean up the commented code, and add back these asserts.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27266288
    
    fbshipit-source-id: f242c26401dfc8851cb1ee0ef8911d19d9c1d9ae
    JoshuaGross authored and facebook-github-bot committed Mar 23, 2021
    Configuration menu
    Copy the full SHA
    70608ee View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2021

  1. Don't use setLayoutAnimationEnabledExperimental in RNTester AnimatedG…

    …ratuitousApp
    
    Summary:
    Context: in non-Fabric (classic) RN, LayoutAnimations is disabled by default on Android; and this is needed to enable LayoutAnimations globally for Android.
    
    Reasoning: in Fabric this noops, because LayoutAnimations are unconditionally enabled in Android+Fabric; and to support StaticViewConfig and Bridgeless RN, we need to remove direct UIManager calls.
    
    Potential impact: On Android and for non-Fabric users only, some transitions will not be animated. Given that LayoutAnimations in non-Fabric RN on Android are not stable and have lots of known un-fixable crashes, this will probably increase stability for non-Fabric Android users. For iOS or Fabric users there's no impact.
    
    Changelog: [Changed][Android] LayoutAnimations in AnimatedGratuitousApp disabled for non-Fabric Android devices
    
    Reviewed By: mdvacca
    
    Differential Revision: D27273392
    
    fbshipit-source-id: 786d5d2f2b05591ca747aab134fb3f321500fece
    JoshuaGross authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    ee539cb View commit details
    Browse the repository at this point in the history
  2. Move out RotatingImages example

    Summary:
    Changelog:
    [Internal][Changed] - Move RNTester Animated example, RotatingImages to a separate module
    
    Reviewed By: nadiia, kacieb
    
    Differential Revision: D27245468
    
    fbshipit-source-id: df4c5cb0b1f5b6cea7a4c5457d8c419e1f39c475
    Luna Wei authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    22107c6 View commit details
    Browse the repository at this point in the history
  3. Move out FadeInView

    Summary:
    Changelog:
    [Internal][Changed] - Move FadeInView example to separate module in RNTester and refactor to use functional component
    
    Reviewed By: nadiia
    
    Differential Revision: D27245473
    
    fbshipit-source-id: bd9aacc17203dadcee134eee1bae54a5daa16cde
    Luna Wei authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    98f565c View commit details
    Browse the repository at this point in the history
  4. Move out rest of examples

    Summary:
    Changelog:
    [Internal][Changed] - RNTester: Move rest of Animated examples to separate modules
    
    Reviewed By: nadiia
    
    Differential Revision: D27245469
    
    fbshipit-source-id: e533bde396cc9f3cb0453eaf1639ad69dbd117e8
    Luna Wei authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    4cc3aa8 View commit details
    Browse the repository at this point in the history
  5. Migrate UIManager.getViewManagerConfig -> UIManager.hasViewManagerCon…

    …fig in ViewAppearanceFlagView
    
    Summary:
    This diff and stack migratest Migrate UIManager.getViewManagerConfig -> UIManager.hasViewManagerConfig
    This is necessary to avoid initializing UIManagerModule to detect if a component is registered into the native platform
    
    changelog: [internal] internal
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27276526
    
    fbshipit-source-id: f3cc0218506ea2066a0d85f956b15a0e40f2e072
    mdvacca authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    3e7d51f View commit details
    Browse the repository at this point in the history
  6. Migrate UIManager.getViewManagerConfig -> UIManager.hasViewManagerCon…

    …fig in SnapshotViewIOS
    
    Summary:
    This diff and stack migratest Migrate UIManager.getViewManagerConfig -> UIManager.hasViewManagerConfig
    This is necessary to avoid initializing UIManagerModule to detect if a component is registered into the native platform
    
    changelog: [internal] internal
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27276525
    
    fbshipit-source-id: a9b6ad05e6d3e47df9efad75e42411a441f7a779
    mdvacca authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    a15a46c View commit details
    Browse the repository at this point in the history
  7. Implement and integrate Mapbuffer

    Summary:
    This diff contains the code from the 35 diff stack  - D27210587
    
    This diff implement and integrates Mapbuffer into Fabric text measure system
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27241836
    
    fbshipit-source-id: f40a780df0723f27da440f709a8676cfcca63953
    mdvacca authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    91b3f5d View commit details
    Browse the repository at this point in the history
  8. Introducing Timeline: A time-travel debugging tool (cross-platform part)

    Summary:
    This is a core part of the Timeline feature (aka Time Travel Debugger). With these new primitives, any external library can initiate "saving" all the previous interface changes (commits) and unwind to any previous one (in order to introspect and validate visual side-effects).
    
    The next diff in the stack will implement UI for this feature integrated into Debug menu on iOS.
    
    Changelog: [Internal] Fabric-specific internal change.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D25926660
    
    fbshipit-source-id: 2e5f6892351d3053db8f64c1cf6ff445b0867ad7
    shergin authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    3368765 View commit details
    Browse the repository at this point in the history
  9. Refactor mount logic into MountItemDispatcher

    Summary:
    Changelog: [Internal]
    
    FabricUIManager contains a lot of logic related to mounting items and manipulating dispatch queues, which can be safely extracted outside. Apart from decreased logical complexity, this change enables easier modification of the queuing behavior later in this stack.
    
    Majority of the changes is caused by moving existing logic to a different class, no change in behavior expected.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27271116
    
    fbshipit-source-id: 86fe45b19bb839f96fde8ba607f72006f6401cc7
    Andrei Shikov authored and facebook-github-bot committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    35b575f View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2021

  1. change class variable syntax in MapBuffer class

    Summary:
    This diff changes the syntax of class variables in MapBuffer class to make it consistent with standards
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross, sammy-SC
    
    Differential Revision: D27303497
    
    fbshipit-source-id: 7581ce248559726c301ae96312fcb597a061ad5f
    mdvacca authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    0599de5 View commit details
    Browse the repository at this point in the history
  2. change class variable syntax in MapBufferBuilder class

    Summary:
    This diff changes the syntax of class variables in MapBufferBuilder class to make it consistent with standards
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27303495
    
    fbshipit-source-id: b62067a07c5b2df1ae79b0134343d30ec819a55f
    mdvacca authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    7704f65 View commit details
    Browse the repository at this point in the history
  3. Remove exceptions from MapBuffer class

    Summary:
    In Fabric we don't throw exception. This diff removes exception from MapBuffer class
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross, sammy-SC
    
    Differential Revision: D27303496
    
    fbshipit-source-id: 3f8c3bd2b41121672ef05153459b20cdc2efcda3
    mdvacca authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    0b5fbf3 View commit details
    Browse the repository at this point in the history
  4. Remove exceptions from MapBufferBuilder class

    Summary:
    In Fabric we don't throw exception. This diff removes exception from MapBufferBuilder class
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross, sammy-SC
    
    Differential Revision: D27303493
    
    fbshipit-source-id: 8303bb4be786e2ea175b6741ec536c0f54615001
    mdvacca authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    3bbb0a4 View commit details
    Browse the repository at this point in the history
  5. Clean up redundant experimental flowconfig options

    Summary:
    Both new_signatures and abstract_locations are now enabled by default, so we don't need the configuration. Both options are going to be removed soon as well.
    
    Changelog: [Internal]
    
    Reviewed By: gkz
    
    Differential Revision: D27319298
    
    fbshipit-source-id: 30e6dcd2d30a45f630388998957c8db39895a8f7
    samwgoldman authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    532f5f3 View commit details
    Browse the repository at this point in the history
  6. fbjni version to 0.2.2 (facebook#31191)

    Summary:
    android fbjni dependency bump to 0.2.2
    
    The motivation is to address pytorch/pytorch#34682 that pytorch_android and react-native use different versions of fbjni with the same name libfbjni.so
    
    In case of loading 0.0.2 version it is missing functions in binary
    
    Fbjni is not changing much, that's why this will solve that problem for a long time (Until fbjni changed and versions will not be aligned)
    
    ## Changelog
    
    [Android][Added] fbjni version bump to 0.0.3
    
    Pull Request resolved: facebook#31191
    
    Test Plan: Automated (relying on the test suite) and manual testing.
    
    Reviewed By: passy
    
    Differential Revision: D27330370
    
    Pulled By: IvanKobzarev
    
    fbshipit-source-id: 2ea07d80d23f8dbc80e946a8818c1ecb8eb746e8
    IvanKobzarev authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    24f9f75 View commit details
    Browse the repository at this point in the history
  7. Fix ScrollViewStickyHeader to push up header above it

    Summary:
    When there are multiple sticky headers, ScrollViewStickyHeader should push up the header above it when it gets to the top.
    
    This behavior was accidentally changed in D21948830 (facebook@fa5d3fb) when this component was fixed to work in Fabric.
    
    This diff added a new variable `_shouldRecreateTranslateY`, which determines whether the `translateY` value should be recreated on render. `_shouldRecreateTranslateY` was not being set to true during `setNextHeaderY`, so the next header's Y value was never accounted for at render.
    
    Changelog:
    [General][Fixed] Fix ScrollViewStickyHeader to push up header above it
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27277829
    
    fbshipit-source-id: 83c9aacd454be178649bf8d060d1a5c750f4060f
    kacieb authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    d754bde View commit details
    Browse the repository at this point in the history
  8. Use unstable_hasStaticViewConfig to detect if a component is register…

    …ed in the native app
    
    Summary:
    This diff is a revert of the stack D27276533. the native fix will be included as part of another diff
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross, ShikaSD
    
    Differential Revision: D27332513
    
    fbshipit-source-id: 203051ea8fec3f508d79c329c9b61399fbbc3d1b
    mdvacca authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    07d527f View commit details
    Browse the repository at this point in the history
  9. Reland stack for removing defaultProps from VL and remove breaking Fl…

    …owFixMe
    
    Summary:
    Changelog:
    [Internal][Changed] - Remove keyExtractor from defaultProps as part of larger effort to remove defaultProps from VirtualizedList
    
    [General][Changed] - Remove data as a prop for VirtualizedSectionList. In the reactnative.dev docs it mentions that sections is the equivalent for *SectionList: https://reactnative.dev/docs/sectionlist#sections
    
    [General][Changed] - Change export type of VirtualizedSectionList and wrap component updates in act in test.
    
    [Internal] - Remove FlowFixMe from VirtualizedSectionList
    
    Reviewed By: kacieb
    
    Differential Revision: D27271493
    
    fbshipit-source-id: f83bdcce9c71c140c8a8fb6f0ecd9bb520fcb85b
    Luna Wei authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    5475f29 View commit details
    Browse the repository at this point in the history
  10. Refactor renderItem logic and gate changes

    Summary:
    # Changelog:
    [Internal][Added] - Use injected VirtualizedSectionList if set
    
    Reviewed By: kacieb
    
    Differential Revision: D27004445
    
    fbshipit-source-id: 9c07ee80c893817c1fe3171a4ee271f5839568c9
    Luna Wei authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    fda1ace View commit details
    Browse the repository at this point in the history
  11. Log info when TurboModule cannot be found

    Summary:
    There are a surprisingly large number of nil modules in both bridge and bridgeless. So far, features may silently fail if a module is nil.
    
    We can't log with with console.error or console.warn because many tests will break even though modules aren't used in the test.
    
    Differential Revision: D27285601
    
    fbshipit-source-id: 1467100f2a4c48e97de5dd6e846c26981c14f099
    p-sun authored and facebook-github-bot committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    bfe3cd0 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2021

  1. ProGuard: Do not strip anything from FabricUIManager

    Summary:
    Instead of annotating individual methods with DoNotStrip, we actually want to ensure that nothing in this class gets stripped out.
    
    This also upgrades the yoga/proguard-annotations package for Gradle builds.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27335181
    
    fbshipit-source-id: 5b696c26faf4d1b32a3fd885e42a996aff23f0be
    JoshuaGross authored and facebook-github-bot committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    e1b6cd3 View commit details
    Browse the repository at this point in the history
  2. Use DoNotStripAny in ComponentNameResolver classes

    Summary:
    This diff adds the DoNotStripAny annotation for the ComponentNameResolver classes
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27336874
    
    fbshipit-source-id: d3bc404b12cc94fe8b4df61ff851e4fd9bcb5141
    mdvacca authored and facebook-github-bot committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    386a724 View commit details
    Browse the repository at this point in the history
  3. Create YogaProps Interface

    Summary:
    Create YogaProps Interface; this interface represents the inputs to YogaNode for layout calculation.
    
    Changelog: [Internal] Create YogaProps Interface; this interface represents the inputs to YogaNode for layout calculation.
    
    Reviewed By: mihaelao
    
    Differential Revision: D27229274
    
    fbshipit-source-id: 5205caf2384661369d7a2d7e7f3e49ff831a1c92
    adityasharat authored and facebook-github-bot committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    e27ca7f View commit details
    Browse the repository at this point in the history
  4. fix: Let's be more specific about "not implemented" (facebook#31237)

    Summary:
    After installed a third party library I just got "Error: not implemented" without any other informations in the stack trace. Adding a more specific sentence within the error's message can be useful to understand what is going on.
    
    ## Changelog
    
    [General] [CHANGED] - Added context to URL's error messages when the feature is not implemented
    
    Pull Request resolved: facebook#31237
    
    Differential Revision: D27367109
    
    Pulled By: PeteTheHeat
    
    fbshipit-source-id: 87e8b3beef661e028d89098729bd242a57bb9a47
    Crash-- authored and facebook-github-bot committed Mar 26, 2021
    Configuration menu
    Copy the full SHA
    452240b View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2021

  1. Clarify TurboModule cannot be found log

    Reviewed By: JoshuaGross
    
    Differential Revision: D27376177
    
    fbshipit-source-id: 3e1a91ca7c11963874c029237bc2f45839fbbf6d
    p-sun authored and facebook-github-bot committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    3c4363d View commit details
    Browse the repository at this point in the history
  2. Remove Unable to get TurboModule for DialogManagerAndroid warning for…

    … iOS
    
    Summary:
    The import of DialogManagerAndroid in [Alert.js](https://fburl.com/diffusion/n57e4l50) causes "Unable to get iOS TurboModule for DialogManagerAndroid" log.
    
    Don't call ` TurboModuleRegistry.get` on DialogManagerAndroid when the Platform is iOS.
    
    Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27376204
    
    fbshipit-source-id: 948da5c162100ffe196d5e0a54dc8b85659239ae
    p-sun authored and facebook-github-bot committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    9ebdf74 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2021

  1. remove unused VR-only props (facebook#31230)

    Summary:
    It looks like `ScrollView` still contains the remnant props for VR platform, which afaik has be discontinued a while ago (please correct me, if I'm wrong).
    
    This PR removes `scrollBarThumbImage` prop marked as VR platform only prop from `ScrollView`.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [VR] [Removed] - remove VR platform specific `scrollBarThumbImage` prop from `ScrollView`
    
    Pull Request resolved: facebook#31230
    
    Test Plan: CI
    
    Reviewed By: javache
    
    Differential Revision: D27367267
    
    Pulled By: PeteTheHeat
    
    fbshipit-source-id: b76fdb0e03c443aaf87308162bf75f8683220918
    Simek authored and facebook-github-bot committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    95f7c79 View commit details
    Browse the repository at this point in the history
  2. Fabric: Decoupling Telemetry aggregation classes into a separate module

    Summary:
    We need to do this to break a dependency cycle that would happen if we try to have `view` depend on `mounting` just to add some telemetry to `view`.
    
    Changelog: [Internal] Fabric-specific internal change.
    
    Reviewed By: mdvacca
    
    Differential Revision: D26827446
    
    fbshipit-source-id: 4c415ebf5be3a02c18c80ea8a4a77068cae0f0fe
    sammy-SC authored and facebook-github-bot committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    79090c4 View commit details
    Browse the repository at this point in the history
  3. Use default value instead of abort when parsing color

    Summary:
    changelog: [internal]
    
    Fabric is missing implementation of PlatformColor APIs. If it is used, it causes a crash.
    
    Until it is implemented, let's remove abort statement and continue with transparent color.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27395917
    
    fbshipit-source-id: 50d541c5cacc10a7652f7f1ddc97e086a4ba8f03
    sammy-SC authored and facebook-github-bot committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    3b8fbc3 View commit details
    Browse the repository at this point in the history
  4. Convert ScrollViewStickyHeader to functional component and gate the c…

    …hange
    
    Summary:
    Changelog:
    [Internal][Added] - Use injected ScrollViewStickyHeader if set
    
    Reviewed By: lunaleaps
    
    Differential Revision: D26931404
    
    fbshipit-source-id: 6f6f1b501b610a05999898be3e2ce08aeb4dab1b
    kacieb authored and facebook-github-bot committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    eacabe1 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. Simplify logic

    Summary:
    Changelog:
    [Internal] - Simplify logic by not creating an unnecessary object
    
    Reviewed By: kacieb
    
    Differential Revision: D27371155
    
    fbshipit-source-id: c34db151f57f9f6e46cc1984a5a9ef24f81adecd
    Luna Wei authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    7248291 View commit details
    Browse the repository at this point in the history
  2. Add Switch Test Component and more testIDs

    Summary:
    Changelog:
    [Internal] - Add more testIDs to SwitchExample
    
    Reviewed By: kacieb
    
    Differential Revision: D27371058
    
    fbshipit-source-id: d2d90923c2c07cd86fd9aa965339dadf43f8fb5f
    Luna Wei authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    d1f09f7 View commit details
    Browse the repository at this point in the history
  3. StubViewTree: log more information before UPDATE assertion failure

    Summary:
    Log more diagnostics about this assertion failure.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27407775
    
    fbshipit-source-id: 7f00215b8b2c0ad7378c5671f3b503daf56b9fd2
    JoshuaGross authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    2aee39c View commit details
    Browse the repository at this point in the history
  4. Label LayoutAnimations enums with numbers for debugging

    Summary:
    Just makes it easier to log and inspect these values.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27407778
    
    fbshipit-source-id: 68e93d100b56bc9065f0ff1370260412d729312d
    JoshuaGross authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    72d45de View commit details
    Browse the repository at this point in the history
  5. Refactor YogaNode.Inputs freeze API

    Summary:
    `InternalNode` will eventually not have a pointer to its parent. This diff removes one of the usages of the `InternalNode#getParent()` API. `InternalNode` will also not host the `YogaNode` eventually; so this diff also removes one of the usages of the `InternalNode#getYogaNode()` api.
    
    Now the `Inputs#freeze` api will pass the parent's `YogaNode` and the `YogaNode` of the node (this) being measured.
    
    Changelog: [Internal] Passes The YogaNode and parent YogaNode in the Inputs.freeze API
    
    Reviewed By: SidharthGuglani
    
    Differential Revision: D27240229
    
    fbshipit-source-id: efc4ec3249a963c3181111f9b989d8ed9e17feb4
    adityasharat authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    24bfa46 View commit details
    Browse the repository at this point in the history
  6. Add method to retrieve authorization status

    Summary:
    Changelog:
    [iOS][Added] - Adds an ability to retrieve the notifications authorization status from JavaScript side.
    
    Differential Revision: D27426952
    
    fbshipit-source-id: 84a1eae1ff8c8f9f7601c7479745002c21178850
    Lucas Santos authored and facebook-github-bot committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    b86e52a View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2021

  1. Rename "hasActiveCatalystInstance" to "hasActiveReactInstance" for cl…

    …arification
    
    Summary:
    Sometimes ```hasActiveCatalystInstance()``` is used to check if it's safe to access the CatalystInstance, which will still crash in Venice.
    
    Previously we mitigate this by changing ```reactContext.hasActiveCatalystInstance()``` to ```reactContext.hasActiveCatalystInstance() || reactContext.isBridgeless()```.
    
    To solve this for all and good the plan is:
    1, Rename ```hasActiveCatalystInstance()``` to ```hasActiveReactInstance()``` so it won't sounds like CatalystInstance-only.
    2, Implement hasActiveReactInstance() for Venice. D27343867
    3, Remove previous mitigation. D27343952
    
    This diff is the first step, by xbgs there are **58** non-generated callsites of  ```hasActiveCatalystInstance()``` in code base which are all renamed in this diff.
    
    Changelog:
    [Android][Changed] - Rename "hasActiveCatalystInstance" to "hasActiveReactInstance"
    
    Reviewed By: mdvacca
    
    Differential Revision: D27335055
    
    fbshipit-source-id: 5b8ff5e09b79a492e910bb8f197e70fa1360bcef
    luluwu2032 authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    dfa8eb0 View commit details
    Browse the repository at this point in the history
  2. Remove redundant isBridgeless() checking

    Summary:
    3rd step of following 3 steps:
    
    1, Rename hasActiveCatalystInstance() to hasActiveReactInstance() so it won't sounds like CatalystInstance-only. D27335055 (facebook@dfa8eb0)
    2, Implement hasActiveReactInstance() for Venice. D27343867
    3, Remove previous mitigation. D27343952
    
    Changelog:
    [Category][Type] - Remove isBridgeless() mitigation
    
    Reviewed By: mdvacca
    
    Differential Revision: D27343952
    
    fbshipit-source-id: 158175e58d0f4248623d369793e919e43e8ad972
    luluwu2032 authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    10830f4 View commit details
    Browse the repository at this point in the history
  3. Prevent ShadowNodeFamily from being subclassed

    Summary:
    Changelog: [internal]
    
    ShadowNodeFamily shouldn't be subclassed. `final` keyword prevents it.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27463121
    
    fbshipit-source-id: 0273225246a98acfe095c5d261a266efad51b838
    sammy-SC authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    faec9cd View commit details
    Browse the repository at this point in the history
  4. Mark subclasses of ShadowNode final when appropriate

    Summary:
    Changelog: [internal]
    
    These ShadowNode subclasses should not be further subclassed. compiler can produce smaller and faster code.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27463255
    
    fbshipit-source-id: cb10cc61a3d80731476ac0c51af7f9a47e3f9ab7
    sammy-SC authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    1e690ac View commit details
    Browse the repository at this point in the history
  5. Update React.podspec to require cocoapods >= 1.10.1 (facebook#31134)

    Summary:
    According to facebook#30922 (comment)
    Cocoapods 1.10.1 is required to compile iOS deps (OpenSSL).
    
    Fixes facebook#30922 (comment)
    
    Changelog:
    [iOS][Changed] - Update React.podspec to require cocoapods >= 1.10.1
    
    Pull Request resolved: facebook#31134
    
    Reviewed By: fkgozali
    
    Differential Revision: D27447225
    
    Pulled By: hramos
    
    fbshipit-source-id: 3429250597e3eff58272dc880dbc3e7c38dcb70e
    sunnylqm authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    b50b7e3 View commit details
    Browse the repository at this point in the history
  6. Add return value to JavaScript calls in UIManagerBinding

    Summary:
    Changelog: [internal]
    
    Add support for a return value when calling JavaScript functions in UIManagerBinding.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27470817
    
    fbshipit-source-id: 38de92dd913af61d879f1cc5962d417f51da73b0
    sammy-SC authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    a038179 View commit details
    Browse the repository at this point in the history
  7. Avoid crashing in Fabric/Paper interop without bridge [1/n]

    Summary:
    Fabric/Paper interop expects bridge to be contained in `contextContainer`, and crashes if it's not there.
    
    This diff avoids a crash, and instead fails silently. Future diffs in stack will enable `RCTComponentData` and `RCTLegacyViewManagerInteropCoordinator` to function without the bridge.
    
    Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27374809
    
    fbshipit-source-id: 2c9e03a1eaf5bcaa57887b203221111015cf4de5
    Peter Argany authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    3f8d508 View commit details
    Browse the repository at this point in the history
  8. Create a bridgelessViewManager [2/n]

    Summary:
    Problem: In Paper rendering system, view managers are native modules that are created and retained by the bridge. Whenever rendering layer needs to create a view, it asks the bridge for the view manager. In bridgeless mode, these view managers are never created.
    
    Solution: In bridgeless mode, let `RCTComponentData` create and retain a view manager. Having a 1:1 relationship of `RCTComponentData`:`ViewManager` is desirable, since their lifecycles should be similar. This implementation also maintains the lazy-instantiation behavior for bridgeless view managers.
    
    Changelog: [Internal]
    
    Reviewed By: RSNara
    
    Differential Revision: D27375991
    
    fbshipit-source-id: e76d966ba4b98972a49df1bc520b904fb2f4b3b5
    Peter Argany authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    491ca1d View commit details
    Browse the repository at this point in the history
  9. Handle commands in RCTLegacyViewManagerInteropCoordinator [3/n]

    Summary:
    Problem: `RCTLegacyViewManagerInteropCoordinator.mm` handles view commands by looking up `RCTModuleData` from the bridge, and then dispatching that method. In bridgeless mode, `RCTModuleData` doesn't exist.
    
    Solution: Instead of relying on `RCTModuleData` (which does a ton of things), manually create a `_moduleMethods` array to store the methods that view manager exposes. This manual creation code was copied from how `RCTModuleData` performs lookup.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27377257
    
    fbshipit-source-id: c3e820808e6aca03bae6486d5510156b39462215
    Peter Argany authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    10acccc View commit details
    Browse the repository at this point in the history
  10. Introducing RCTWeakViewHolder [4/n]

    Summary:
    Problem: In paper, there is a handy API called `[uiManager viewForReactTag:]`. Fabric does not have this mapping. The Fabric interop layer still relies on this Paper mapping.
    
    Solution: As a workaround, re-create this mapping in the Fabric interop layer. Therefore, whenever Fabric interop layer asks a paper view manager to create a view, store a weak reference to the view in a `NSMapTable`. NSMapTable allows us to customize the strong/weak relationship. I've added a comment explaining that `RCTWeakViewHolder` only needs to be used for this special circumstance.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27438899
    
    fbshipit-source-id: 94663ef06479a8c863ce58b0f36d42109fa1c4f3
    Peter Argany authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    4efdf26 View commit details
    Browse the repository at this point in the history
  11. Pass RCTEventDispatcher to RCTComponentData [6/n]

    Summary:
    Problem: `RCTComponentData` accesses event dispatcher via `_bridge.eventDispatcher` which won't work in bridgeless mode
    
    Solution: Pass  `_eventDispatcher` through init
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27447532
    
    fbshipit-source-id: 7e39b4f6a57d789df493590538248abb204036a3
    Peter Argany authored and facebook-github-bot committed Mar 31, 2021
    Configuration menu
    Copy the full SHA
    679f38f View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2021

  1. feat: add displayName to touchables (facebook#29531)

    Summary:
    Since TouchableHighlight and TouchableOpacity are being exported using `forwardRef`, it's messing up jest's snapshots and some matchers.
    This commit 4b935ae fixed this for components being mocked on [setup.js](https://github.com/facebook/react-native/blob/master/jest/setup.js). However, these Touchables aren't being mocked.
    
    It resolves facebook#27721
    
    ## Changelog
    
    [General] [Added] - Add displayName to TouchableHighlight and TouchableOpacity
    
    Pull Request resolved: facebook#29531
    
    Test Plan: Check the new snapshots.
    
    Reviewed By: kacieb
    
    Differential Revision: D27485269
    
    Pulled By: yungsters
    
    fbshipit-source-id: ba2082a4ae9f97ebe93ba92971d58c9195bdf26d
    brunohkbx authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    c4e40b8 View commit details
    Browse the repository at this point in the history
  2. Delete unused FlowFixMes in xplat/js/react-native-github

    Summary:
    Changelog:
    [Internal] - Remove unused FlowFixMes
    
    Reviewed By: kacieb
    
    Differential Revision: D27445690
    
    fbshipit-source-id: c1fbf4495ae020b30a458c2ef4870547fd5d5c6e
    Luna Wei authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    321de15 View commit details
    Browse the repository at this point in the history
  3. Update FlowFixMes to use error codes in react-native-github

    Summary:
    Changelog:
    [Internal] - Add error codes to existing FlowFixMe's
    
    Reviewed By: kacieb
    
    Differential Revision: D27445689
    
    fbshipit-source-id: 2b19692e1cb822ab6785efcc5f93ee33e7dce1e5
    Luna Wei authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    bac2c2c View commit details
    Browse the repository at this point in the history
  4. Refactor LA: keyFrames have N "final items" to execute

    Summary:
    One of the struggles with the LA engine is to make sure that LA doesn't break the StubViewTree. In particular, we have strict requirements that the "oldShadowView" with every mutation matches exactly what is in the shadow tree, so it appears that there is a linear progression of ShadowNodes for every mutation instruction.
    
    This is a struggle to do with the current setup, requires some wacky code, and doesn't work properly. Instead of spreading REMOVE/DELETE (especially) or INSERT/UPDATE instructions across multiple keyframes, we now allow keyframes to have multiple "final" instructions to execute,
    which makes it much easier to keep state consistent.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407769
    
    fbshipit-source-id: 3a709503dc30be69efc345690cb1920eb9591e9a
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    706a223 View commit details
    Browse the repository at this point in the history
  5. EZ refactor

    Summary:
    pull out tag so it's easier to read
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407770
    
    fbshipit-source-id: e7d2a3ce8e4ac55b6446cddc8c39e73a18fa7170
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    f915ca9 View commit details
    Browse the repository at this point in the history
  6. Do not check consistency of updated Virtual views

    Summary:
    This impacts Android only. It's not high-impact to check the consistency of these views and they can become "inconsistent" easily in a way that is not interesting or useful to us,
    since we handle "virtual" views differently on the platform.
    
    The need for these hacks should go away in the future if/when we account for virtual views in the differ, and stop sending redundant instructions entirely.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407779
    
    fbshipit-source-id: 01a7ea5106ed5d94b908de03a6a710cc6275018d
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    4ae1a9b View commit details
    Browse the repository at this point in the history
  7. EZ: Make StubViewTree "Delete" logs consistent with other logs

    Summary:
    See title.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407771
    
    fbshipit-source-id: 456cdeb65ab02d6e0ea61aa5e7cce288466e2cf5
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    63c0be5 View commit details
    Browse the repository at this point in the history
  8. If a parent node is DELETEd or CREATEd, immediately end animation

    Summary:
    Detect conflicts not just when a node is updated, but when its parent is DELETEd or CREATEd.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407781
    
    fbshipit-source-id: 719d9a8822bf691d9059073a30d8b5ccb50eece1
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    22c9b7d View commit details
    Browse the repository at this point in the history
  9. For certain types of conflicts we do *not* want to generate a final U…

    …PDATE mutation
    
    Summary:
    In general, when an animation is interrupted or completed, we want to forcibly "flush" an update that will make the StubViewTree/mounting layer consistent with the ShadowTree.
    
    However, in cases where a conflict creates a second animation and stops the first, we simply updated the "viewPrev" of the second animation and smoothly transition to it.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407774
    
    fbshipit-source-id: 928363867d8994c9d69c53154a07bda94f954afa
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    9ea0020 View commit details
    Browse the repository at this point in the history
  10. Update 'viewPrev' as well as 'viewStart' when transitioning from one …

    …animation to another
    
    Summary:
    When reconstructing a second animation based on a conflict with a first, we want to ensure we set 'viewPrev' of the second animation properly.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407777
    
    fbshipit-source-id: 8fcc72c4c5fadaab4287824a944ad21230f2f97d
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    ae264b9 View commit details
    Browse the repository at this point in the history
  11. Update StubViewTree logging for debugging on Android

    Summary:
    When playing around with issues in debug mode but without having a debugger attached, these logs are helpful.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407772
    
    fbshipit-source-id: 2083901094d3bd2b0b6c6799baffcf5a60cf57ae
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    ec51737 View commit details
    Browse the repository at this point in the history
  12. Recursively clean up conflicting animations

    Summary:
    Call getAndEraseConflictingAnimations recursively, to clean up any conflicting animations.
    
    With a specific sequence of mutation instructions, it is possible that an animation on a tree is set up, and the entire tree needs to be cleaned up if a parent is deleted, say.
    
    This can happen especially if rapidly mutating trees in such a way that invokes view flattening and unflattening (which is not recommended, but is certainly possible).
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407776
    
    fbshipit-source-id: 5125250f051c58870692f8fdc43ed23da5058a7f
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    92b8075 View commit details
    Browse the repository at this point in the history
  13. Add additional debug logging in LayoutAnimationDriver

    Summary:
    Log final when synthetic final mutations are generated at the end of an animation.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407768
    
    fbshipit-source-id: 0e9aface54bcca73dfa5ea263a8474db7c47c078
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    61d59ff View commit details
    Browse the repository at this point in the history
  14. Only run assert-only path in debug mode

    Summary:
    This probably won't compile outside of debug mode, because variables are unused outside of asserts. Don't do any of this outside of debug mode.
    
    This path is also a pessimisation, we shouldn't need to run it unless we're running in ultra-conservative debug mode.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407767
    
    fbshipit-source-id: 71a8d025463c85d65cd2bc193a19953b97669d84
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    17c3846 View commit details
    Browse the repository at this point in the history
  15. Refactor duplicated code into queueFinalMutationsForCompletedKeyFrame

    Summary:
    This chunk of code is repeated 3x in the codebase with minor variations. Consolidate as `queueFinalMutationsForCompletedKeyFrame`.
    
    Should be no changes in behavior.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27407766
    
    fbshipit-source-id: 196f0d4c7868007f0d103b024feb4450640a3f62
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    01f7d4f View commit details
    Browse the repository at this point in the history
  16. Bail out of createInterpolatedShadowView if generated props are null

    Summary:
    We have no evidence of this happening, but it matches other bail-out cases that already exist in this function. If we
    fail something that would have been an assert in debug mode, bail out so we don't return garbage values in production.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27449775
    
    fbshipit-source-id: 5b85016c9611484b615debec514d12a984e6b1ff
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    f6168d2 View commit details
    Browse the repository at this point in the history
  17. Log ShadowView hash with verbose StubViewTree logs; and when StubView…

    … comparisons fail
    
    Summary:
    Improve debuggability of ShadowViewTree failures by logging ShadowView hashes. This allows us to track down exactly where a change to the tree was introduced.
    
    If necessary, if specific repros are found, logging can also be added to LayoutAnimations or other places to find out where a specific ShadowView version (identified by hash) was introduced.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27488766
    
    fbshipit-source-id: f4866f771fc6494435fb46f09953ea69fb280a5b
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    64c9397 View commit details
    Browse the repository at this point in the history
  18. Improve StubViewTree logging when comparisons fail

    Summary:
    Currently we compare StubViewTrees only in contexts where equality is expected. With additional debug flags turned on, we print a verbose summary of differences between trees.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27492937
    
    fbshipit-source-id: 6851c2a4056cdbc9ae790070a3d86bb3f2b462fe
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    638e788 View commit details
    Browse the repository at this point in the history
  19. Print ShadowView hash when displaying instructions

    Summary:
    When displaying instructions in debug logs, also print ShadowView hash to make it easier to reconstruct a series of events.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27492938
    
    fbshipit-source-id: 276a080a4afcfb4aa0aafc215e2ccd56ef849fcf
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    e9ff6d8 View commit details
    Browse the repository at this point in the history
  20. Make mutation sorting more clear

    Summary:
    This is more insurance against future changes than fixing any existing bugs. In a very small number of cases it looks like this sorting isn't working, for reasons that are not easily reproducible (way less than 1 in 10000 times for me, if that) and not obvious, since we're sorting vectors in a canonical and straightforward way.
    
    Again, this insures that logic won't change in the future.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27492936
    
    fbshipit-source-id: 7f47e44ac1101915e1a0433c8f0a50a3c6a0c7b3
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    8f52fb2 View commit details
    Browse the repository at this point in the history
  21. Queue DELETE instructions for virtual nodes

    Summary:
    To ensure that we're eventually deleting all ShadowViews from the StubViewTree and from the mounting layer, make sure that we always queue conflicts if they're DELETE instructions, including for virtual nodes.
    
    I was able to hit this by running some extremely complex animations. It is extremely unlikely that even a single user is hitting this in prod. Therefore, while this is the right change to make, I don't expect (for example) OOMs to go down at all.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27492935
    
    fbshipit-source-id: bce332feb15229af271cc6e14b8367ebcb36536b
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    eb59cc2 View commit details
    Browse the repository at this point in the history
  22. Enable C++ 17 in React Native

    Summary:
    Changelog: [Internal] enable support for C++ 17.
    
    C++ 17 in React Native targets.
    
    Short and comprehensive list of C++ features:
    https://github.com/AnthonyCalandra/modern-cpp-features#c17-language-features
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27431145
    
    fbshipit-source-id: e8da6fe9d70e9b7343a8caec21cdbeb043478575
    sammy-SC authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    9ef995a View commit details
    Browse the repository at this point in the history
  23. Use nested namespaces in UIManager module

    Summary:
    Changelog: [internal]
    
    Use nested namespaces in UIManager module.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27462611
    
    fbshipit-source-id: 626510bf72a18303de55e5db3e13db4f415d799e
    sammy-SC authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    3a3b61c View commit details
    Browse the repository at this point in the history
  24. Make ConcreteComponentDescriptor::createFamily non-virtual

    Summary:
    Changelog: [internal]
    
    This method is not designed to be subclassed. Let's make it non-virtual.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27464824
    
    fbshipit-source-id: b3186d1c4cf03226005f9a3caa9c002011798faa
    sammy-SC authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    be39788 View commit details
    Browse the repository at this point in the history
  25. Remove previous fix in D26581756

    Summary:
    D26581756 (facebook@86321a3) was hacked for fixing T85822390, which was later properly fixed in D27369721, so I removed it in this diff.
    
    Changelog:
    [Android][Fixed] -  Remove previous fix for "Fix text in ReactTextView sometimes being vertically displayed"
    
    Reviewed By: mdvacca
    
    Differential Revision: D27501405
    
    fbshipit-source-id: 81417069d355936721868ce659b3fe8ce916302e
    luluwu2032 authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    5a793ce View commit details
    Browse the repository at this point in the history
  26. Comment out debug-only block causing build failures

    Summary:
    Temporarily disable due to build failures.
    
    This is debug-only and I've never hit these asserts, so this should be safe; though it should be reenabled during active development of LA.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27505224
    
    fbshipit-source-id: b3d6d2184d8f226d6f82d3fe0ae6303813c8356a
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    184b372 View commit details
    Browse the repository at this point in the history
  27. Add support for text copy to Paragraph component

    Summary:
    Changelog: [internal]
    
    Add support for copying text. The implementation is copied over from old React Native renderer.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27502474
    
    fbshipit-source-id: 0d0df583f1adc584ca47e987f06bf78c32386fcc
    sammy-SC authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    e42ffdd View commit details
    Browse the repository at this point in the history
  28. Fix default values of snapToEnd and snapToStart in ScrollViewProps

    Summary:
    Changelog: [internal]
    
    Default value for `snapToEnd` and `snapToStart` was incorrect in Fabric. This makes no practical difference as default value is never used (JavaScript always sets true or false).
    
    Default value of `snapToEnd` is true.
    https://reactnative.dev/docs/scrollview#snaptoend
    
    Default value of `snapToStart` is true.
    https://reactnative.dev/docs/scrollview#snaptostart
    
    Reviewed By: PeteTheHeat
    
    Differential Revision: D27505377
    
    fbshipit-source-id: 73e88aa6ad13a851b8c401e9716fc9a650ec0098
    sammy-SC authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    0901830 View commit details
    Browse the repository at this point in the history
  29. destroy callbacks even if they aren't called, when java object is des…

    …troyed
    
    Summary:
    JSI callbacks are only destroyed if the callback is called. If the callback is never called, we're potentially leaking a lot of callbacks.
    
    To mitigate this, we add a wrapper object that is owned by the std::function. Whenever the std::function is destroyed, the wrapper is destroyed and it deallocates the callback as well.
    
    Changelog: [Internal]
    
    Reviewed By: RSNara
    
    Differential Revision: D27436402
    
    fbshipit-source-id: d153640d5d7988c7fadaf2cb332ec00dadd0689a
    JoshuaGross authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    3d1afbb View commit details
    Browse the repository at this point in the history
  30. Deploy v0.148.0 to xplat

    Summary: Changelog: [Internal]
    
    Reviewed By: panagosg7
    
    Differential Revision: D27515556
    
    fbshipit-source-id: acfab9cd4fd956e83af9c41573fc1bdf7595359c
    pieterv authored and facebook-github-bot committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    d04ec4d View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2021

  1. Accessibility/button test (facebook#31189)

    Summary:
    This PR aims to add test's for button.
    Snapshot test for PR facebook#31001 . This would make sure `accessibilityState` is properly set.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [General] [Added] - Test's for button
    
    Pull Request resolved: facebook#31189
    
    Test Plan:
    `npm test` to run the test's.
    Since the disabled prop of button has precedence over `accessibilityState.disabled` the test's will make sure it remains this way.
    
    Reviewed By: kacieb
    
    Differential Revision: D27473082
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: 65d82620e8c245c2a8e29c3e9a8252d3a4275b09
    Huzaifa authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    b5e649f View commit details
    Browse the repository at this point in the history
  2. Add back hasActiveCatalystInstance() and mark it as Deprecated

    Summary:
    Previously I renamed hasActiveCatalystInstance() API in D27335055 (facebook@dfa8eb0), however this API is still used in an OSS class.
    
    In this diff hasActiveCatalystInstance() is added back and marked as Deprecated to avoid breakages and leave the migration choice to OSS users.
    
    Changelog:
    [Android][Changed] Mark hasActiveCatalystInstance() as Deprecated
    
    Reviewed By: yungsters
    
    Differential Revision: D27538449
    
    fbshipit-source-id: 30f2f890580ad7f8b41908e18013234b5bac72e9
    luluwu2032 authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    1b50722 View commit details
    Browse the repository at this point in the history
  3. Remove unsafe lifecycles usage

    Summary:
    Changelog:
    [General][Changed] - [Modal] removed UNSAFE_componentWillReceiveProps lifecycle usage
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27523213
    
    fbshipit-source-id: 288b91bc6c479c62313ba17047069893cd19588c
    Nadiia D authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    a782b6f View commit details
    Browse the repository at this point in the history
  4. Re-use Node path resolution script

    Summary:
    This fix is ported from 0.64-stable. It moves the Node resolution script from react-native-xcode.sh to find-node.sh for re-use in the codegen.
    
    Changelog: [Codegen][Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27437216
    
    fbshipit-source-id: ecb8a7a30411a709c095a0a34115b6dc48b99f1e
    hramos authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    322e8f7 View commit details
    Browse the repository at this point in the history
  5. RN: Fallback for Invalid Colors in processColorArray

    Summary:
    If an invalid color is supplied to a native component that expects `Array<ColorValue>`, it is currently possible to produce an array that contains null or undefined elements. This is problematic because the native component may not know what to do with the null or undefined value.
    
    This changes `processColorArray` to always return an array with valid color values. Any invalid color values will fallback to being transparent black, `0x00000000`.
    
    Changelog:
    [General][Fixed] - For native components that accept color arrays, invalid elements will now fallback to transparent with a console error.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27542291
    
    fbshipit-source-id: efa5d130644b3aee68d2b9fad6fdb61af11a2966
    yungsters authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    bb6cd56 View commit details
    Browse the repository at this point in the history
  6. Remove abort in props parsing

    Summary:
    Goals are:
    
    1. Catch errors in parsing during dev-mode in a way that is disruptive/grabs attention, but has enough information.
    2. Use react_native_assert for hitting breakpoints (less useful for Android, more for iOS), and add LOGs for when this code is used in Android (more useful for Android, less useful for iOS).
    3. Return sane defaults so that prod cases don't crash, and don't return totally garbage data.
    
    I also found a couple cases where parsing was incorrect before; see WritingDirection and TextAlignment. This could impact some layouts and RTL/LTR potentially.
    
    Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27540903
    
    fbshipit-source-id: 99e6949d97e8ef5520d008c1df3cbe408b5a43a4
    JoshuaGross authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    cb37562 View commit details
    Browse the repository at this point in the history
  7. Add e2e tests for RNTester examples and relevant testIDs

    Summary:
    Changelog:
    [Internal] - Add testIDs to RNTester examples
    
    Reviewed By: nadiia
    
    Differential Revision: D27374322
    
    fbshipit-source-id: 62a63f6f454c21bf98b328275d35776d677a9962
    Luna Wei authored and facebook-github-bot committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    cb028ee View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2021

  1. Added talkback support for TouchableNativeFeedback accessibility: dis…

    …abled prop (facebook#31224)
    
    Summary:
    Issue facebook#30952
    Add talkback support for TouchableNativeFeedback component.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [Android] [Changed] - TouchableNativeFeedback: sync disabled prop with accessibilityState
    
    Pull Request resolved: facebook#31224
    
    Test Plan:
    I have checked that talkback and disabled works properly on the actual device(Pixel4a Android11).
    
    ```jsx
    /**
     * Sample React Native App
     * https://github.com/facebook/react-native
     *
     * format
     * flow strict-local
     */
    
    import * as React from 'react';
    import {
      Text,
      View,
      StyleSheet,
      TouchableNativeFeedback,
      Alert,
    } from 'react-native';
    
    export default function App() {
      const onPress = () => Alert.alert('test');
    
      return (
        <View style={styles.container}>
          {/*not disabled, voice:double tap to activate*/}
          <TouchableNativeFeedback onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>talkback OK</Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*disabled, voice:disabled*/}
          <TouchableNativeFeedback disabled={true} onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should be disabled when disabled is true
              </Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*disabled, voice:disabled*/}
          <TouchableNativeFeedback
            accessibilityState={{disabled: true}}
            onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should be disabled when accessibilityState disabled is true
              </Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*disabled, voice:disabled*/}
          <TouchableNativeFeedback
            disabled={true}
            accessibilityState={{}}
            onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should be disabled when disabled is true and accessibilityState is
                empty
              </Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*disabled, voice:disabled*/}
          <TouchableNativeFeedback
            disabled={true}
            accessibilityState={{checked: true}}
            onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should keep accessibilityState when disabled is true
              </Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*disabled, voice:disabled*/}
          <TouchableNativeFeedback
            disabled={true}
            accessibilityState={{disabled: false}}
            onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should overwrite accessibilityState with value of disabled prop
              </Text>
            </View>
          </TouchableNativeFeedback>
    
          {/*not disabled, voice:double tap to activate*/}
          <TouchableNativeFeedback
            disabled={false}
            accessibilityState={{disabled: true}}
            onPress={onPress}>
            <View style={styles.touchable}>
              <Text style={styles.text}>
                should overwrite accessibilityState with value of disabled prop
              </Text>
            </View>
          </TouchableNativeFeedback>
        </View>
      );
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        justifyContent: 'center',
        padding: 16,
      },
      touchable: {flex: 0.5, borderColor: 'black', borderWidth: 1, marginBottom: 8},
      text: {alignSelf: 'center'},
    });
    
    ```
    
    Reviewed By: yungsters
    
    Differential Revision: D27479271
    
    Pulled By: kacieb
    
    fbshipit-source-id: 43187839b58dfe8f91afdba91453fb6b98e1a604
    kyamashiro authored and facebook-github-bot committed Apr 3, 2021
    Configuration menu
    Copy the full SHA
    88f2356 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2021

  1. Avoid copy of shared_ptr in ConcreteComponentDescriptor::adopt

    Summary: Changelog: [internal]
    
    Differential Revision: D27406634
    
    fbshipit-source-id: f01422ebbcfd89337b98c4e6144aed7a2b9914b8
    sammy-SC authored and facebook-github-bot committed Apr 5, 2021
    Configuration menu
    Copy the full SHA
    7ee2a99 View commit details
    Browse the repository at this point in the history
  2. Remove last uses of UnsharedShadowNode

    Summary:
    Changelog: [internal]
    
    `ShadowNode::Unshared` is preferred over `UnsharedShadowNode`. This diff removes last uses of the alias.
    
    Differential Revision: D27407197
    
    fbshipit-source-id: aa1440f80dcab523d61c186f2d3ce052f314e52c
    sammy-SC authored and facebook-github-bot committed Apr 5, 2021
    Configuration menu
    Copy the full SHA
    e9765a7 View commit details
    Browse the repository at this point in the history
  3. Selected State does not annonce when TextInput Component selected (fa…

    …cebook#31144)
    
    Summary:
    This issue fixes facebook#30955 and is a follow up to pr facebook#24608 which added the basic Accessibility functionalities to React Native.
    
    TextInput should announce "selected" to the user when screenreader focused.
    The focus is moved to the TextInput by navigating with the screenreader to the TextInput.
    
    This PR adds call to View#setSelected in BaseViewManager https://developer.android.com/reference/android/view/View#setSelected(boolean)
    The View#setSelected method definition https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/view/View.java
    ```java
    /**
     * Changes the selection state of this view. A view can be selected or not.
     * Note that selection is not the same as focus. Views are typically
     * selected in the context of an AdapterView like ListView or GridView;
     * the selected view is the view that is highlighted.
     *
     * param selected true if the view must be selected, false otherwise
     */
    public void setSelected(boolean selected) {
      if (((mPrivateFlags & PFLAG_SELECTED) != 0) != selected) {
        // ... hidden logic
        if (selected) {
          sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
        } // ... hidden logic
      }
    }
    ```
    
    VoiceOver and TalkBack was tested with video samples included below.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [Android] [Fixed] - Fix Selected State does not announce when TextInput Component selected on Android
    
    Pull Request resolved: facebook#31144
    
    Test Plan:
    **<details><summary>CLICK TO OPEN TESTS RESULTS</summary>**
    <p>
    
    **ENABLE THE AUDIO** to hear the TalkBack announcing **SELECTED** when the user taps on the TextInput
    
    ```javascript
            <TextInput
              accessibilityLabel="element 20"
              accessibilityState={{
                selected: true,
              }} />
    ```
    
    | selected is true |
    |:-------------------------:|
    | <video src="https://user-images.githubusercontent.com/24992535/111652826-afc4f000-8807-11eb-9c79-8c51d7bf455b.mp4" width="700" height="" /> |
    
    ```javascript
            <TextInput
              accessibilityLabel="element 20"
              accessibilityState={{
                selected: false,
              }} />
    ```
    
    | selected is false |
    |:-------------------------:|
    | <video src="https://user-images.githubusercontent.com/24992535/111652919-c10dfc80-8807-11eb-8244-83db6c327bcd.mp4" width="700" height="" /> |
    
    The functionality does not present issues on iOS
    
    | iOS testing |
    |:-------------------------:|
    | <video src="https://user-images.githubusercontent.com/24992535/111647656-f401c180-8802-11eb-9fa9-a4c211cf1665.mp4" width="400" height="" /> |
    
    </p>
    </details>
    
    </p>
    </details>
    
    Reviewed By: blavalla
    
    Differential Revision: D27306166
    
    Pulled By: kacieb
    
    fbshipit-source-id: 1b3cb37b2d0875cf53f6f1bff4bf095a877b2f0e
    fabOnReact authored and facebook-github-bot committed Apr 5, 2021
    Configuration menu
    Copy the full SHA
    7ee2acc View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2021

  1. RN: Refactor AccessibilityInfo Listeners

    Summary:
    Refactors `AccessibilityInfo` so that it does not reimplement the event listener logic that is already implemented in `EventEmitter` (which backs the implementation of `RCTDeviceEventEmitter`).
    
    This also means that calling `AccessibilityInfo.removeEventListener` will correctly display a deprecation error, due to `EventEmitter.removeListener` being deprecated. In a future release, both of these methods will be removed.
    
    Changelog:
    [General][Deprecated] - Deprecate `AccessibilityInfo.removeEventListener`.
    
    Reviewed By: kacieb
    
    Differential Revision: D27574340
    
    fbshipit-source-id: 98c71d9c1470018df0f1526cc2f349aac842e786
    yungsters authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    003d63d View commit details
    Browse the repository at this point in the history
  2. RN: Remove AccessibilityInfo.fetch

    Summary:
    Removes `AccessibilityInfo.fetch` which had already been deprecated for a while by facebook@0090ab3.
    
    Changelog:
    [General][Removed] - Removed `AccessibilityInfo.fetch`, use `isScreenReaderEnabled` instead.
    
    Reviewed By: kacieb
    
    Differential Revision: D27576528
    
    fbshipit-source-id: f5df3445b4cc3bcb4ce6873c6845748109bc393d
    yungsters authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    d831134 View commit details
    Browse the repository at this point in the history
  3. RN: Announce "unselected" Accessibility State (Android)

    Summary:
    Changes React Native so that when `accessibilityState` is used to change a view from `selected: true` to `selected: false`, the change in state is announced.
    
    This is how `checked` works; it is unclear why Android does not do this for `selected`, too.
    
    Changelog:
    [Android][Added] - TalkBack now announces "unselected" when changing `accessibilityState.selected` to false.
    
    Reviewed By: blavalla
    
    Differential Revision: D27449293
    
    fbshipit-source-id: a6d77b55d63655973ad93c4d5e3743742501f378
    yungsters authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    73bc96e View commit details
    Browse the repository at this point in the history
  4. RN: Unify AccessibilityInfo Platform Forks

    Summary:
    Unifies the platform-specific implementations of `AccessibilityInfo` to simplifying checking Flow types and making changes to the module.
    
    Changelog:
    [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27578847
    
    fbshipit-source-id: 84dc274a66acd22fc6f1dd2773a4e4630761e17d
    yungsters authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    9a9e7f9 View commit details
    Browse the repository at this point in the history
  5. Use C++17 feature - structured bindings

    Summary:
    Changelog: [internal]
    
    Trying out C++ 17 feature: structured bindings.
    
    Reviewed By: PeteTheHeat
    
    Differential Revision: D27462634
    
    fbshipit-source-id: 336f771e9579124f429ec648ee418f7ac52cd6a3
    sammy-SC authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    1739ab5 View commit details
    Browse the repository at this point in the history
  6. Back out "RN: Unify AccessibilityInfo Platform Forks", Back out "RN…

    …: Refactor `AccessibilityInfo` Listeners"
    
    Reviewed By: MichaReiser
    
    Differential Revision: D27589727
    
    fbshipit-source-id: 13104cf37f46abf38e5be6943b3236213afd3935
    jimmy623 authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    950f241 View commit details
    Browse the repository at this point in the history
  7. Use explicit values in SurfaceHandler enums

    Summary:
    quick refactor to use explicit values in SurfaceHandler enums
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27571543
    
    fbshipit-source-id: 070c527b6a482979efd7289313a3491d16b401f8
    mdvacca authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    75c4920 View commit details
    Browse the repository at this point in the history
  8. Change values of DisplayMode enum

    Summary:
    Changing back the values of DisplayMode, visible is the default value, it should be 0
    
    changelog: [internal] internal
    
    Reviewed By: ShikaSD
    
    Differential Revision: D27596595
    
    fbshipit-source-id: e5a17e22dc04d380f584bbb816106ab7d3388875
    mdvacca authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    2182efa View commit details
    Browse the repository at this point in the history
  9. Allow starting surface without a view in Fabric

    Summary:
    Changelog: [Internal]
    
    Adjusts SurfaceMountingManager to allow starting surface without a view and attaching the view while surface is active.
    This change is only meant to work with ReactSurface to allow creating `SurfaceHandler` without mounting views.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27016919
    
    fbshipit-source-id: 995383bc4f1bd298953516007743ffae0edf17c2
    Andrei Shikov authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    2c0a0a7 View commit details
    Browse the repository at this point in the history
  10. Queue mount items executed before root view is attached

    Summary:
    Changelog: [Internal]
    
    After D27016919, some mounting instructions can be executed before the view is attached, which is invalid. This change adds additional queue for such items, which can be later dispatched after view is ready.
    
    The new queue is expected to be empty for usual rendering and used in prerendering flows only. In case of prerendering, it should only hold intermediate items between early start of `SurfaceHandler` and view attach.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27291706
    
    fbshipit-source-id: f383c1d0d7050f271993553b51bf2e387efe1e9e
    Andrei Shikov authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    d97350d View commit details
    Browse the repository at this point in the history
  11. React Native sync for revisions 6d3ecb7...c9aab1c

    Summary:
    This sync includes the following changes:
    - **[c9aab1c9d](facebook/react@c9aab1c9d )**: react-refresh@0.10.0 //<Dan Abramov>//
    - **[516b76b9a](facebook/react@516b76b9a )**: [Fast Refresh] Support callthrough HOCs ([facebook#21104](facebook/react#21104)) //<Dan Abramov>//
    - **[0853aab74](facebook/react@0853aab74 )**: Log all errors to console.error by default ([facebook#21130](facebook/react#21130)) //<Sebastian Markbåge>//
    - **[d1294c9d4](facebook/react@d1294c9d4 )**: Add global onError handler ([facebook#21129](facebook/react#21129)) //<Sebastian Markbåge>//
    - **[64983aab5](facebook/react@64983aab5 )**: Remove redundant setUpdatePriority call ([facebook#21127](facebook/react#21127)) //<Andrew Clark>//
    - **[634cc52e6](facebook/react@634cc52e6 )**: Delete dead variable: currentEventWipLanes ([facebook#21123](facebook/react#21123)) //<Andrew Clark>//
    - **[1102224bb](facebook/react@1102224bb )**: Fix: flushSync changes priority inside effect ([facebook#21122](facebook/react#21122)) //<Andrew Clark>//
    - **[dbe98a5aa](facebook/react@dbe98a5aa )**: Move sync task queue to its own module ([facebook#21109](facebook/react#21109)) //<Andrew Clark>//
    - **[3ba5c8737](facebook/react@3ba5c8737 )**: Remove Scheduler indirection ([facebook#21107](facebook/react#21107)) //<Andrew Clark>//
    - **[46b68eaf6](facebook/react@46b68eaf6 )**: Delete LanePriority type ([facebook#21090](facebook/react#21090)) //<Andrew Clark>//
    - **[dcd13045e](facebook/react@dcd13045e )**: Use Lane to track root callback priority ([facebook#21089](facebook/react#21089)) //<Andrew Clark>//
    - **[5f21a9fca](facebook/react@5f21a9fca )**: Clean up host pointers in level 2 of clean-up flag ([facebook#21112](facebook/react#21112)) //<Andrew Clark>//
    - **[32d6f39ed](facebook/react@32d6f39ed )**: [Fizz] Support special HTML/SVG/MathML tags to suspend ([facebook#21113](facebook/react#21113)) //<Sebastian Markbåge>//
    - **[a77dd13ed](facebook/react@a77dd13ed )**: Delete enableDiscreteEventFlushingChange ([facebook#21110](facebook/react#21110)) //<Andrew Clark>//
    - **[048ee4c0c](facebook/react@048ee4c0c )**: Use `act` in fuzz tester to flush expired work ([facebook#21108](facebook/react#21108)) //<Andrew Clark>//
    - **[556644e23](facebook/react@556644e23 )**: Fix plurals ([facebook#21106](facebook/react#21106)) //<Sebastian Markbåge>//
    - **[8b741437b](facebook/react@8b741437b )**: Rename SuspendedWork to Task ([facebook#21105](facebook/react#21105)) //<Sebastian Markbåge>//
    - **[38a1aedb4](facebook/react@38a1aedb4 )**: [Fizz] Add FormatContext and Refactor Work ([facebook#21103](facebook/react#21103)) //<Sebastian Markbåge>//
    - **[1b7e471b9](facebook/react@1b7e471b9 )**: React Native New Architecture: Support passing nativeViewTag to getInspectorDataForViewAtPoint callback, for React DevTools compat ([facebook#21080](facebook/react#21080)) //<Joshua Gross>//
    - **[4a99c5c3a](facebook/react@4a99c5c3a )**: Use highest priority lane to detect interruptions ([facebook#21088](facebook/react#21088)) //<Andrew Clark>//
    - **[77be52729](facebook/react@77be52729 )**: Remove LanePriority from computeExpirationTime ([facebook#21087](facebook/react#21087)) //<Andrew Clark>//
    - **[3221e8fba](facebook/react@3221e8fba )**: Remove LanePriority from getBumpedLaneForHydration ([facebook#21086](facebook/react#21086)) //<Andrew Clark>//
    - **[05ec0d764](facebook/react@05ec0d764 )**: Entangled expired lanes with SyncLane ([facebook#21083](facebook/react#21083)) //<Andrew Clark>//
    - **[03ede83d2](facebook/react@03ede83d2 )**: Use EventPriority to track update priority ([facebook#21082](facebook/react#21082)) //<Andrew Clark>//
    - **[a63f0953b](facebook/react@a63f0953b )**: Delete SyncBatchedLane ([facebook#21061](facebook/react#21061)) //<Ricky>//
    - **[fa868d6be](facebook/react@fa868d6be )**: Make opaque EventPriority type a Lane internally ([facebook#21065](facebook/react#21065)) //<Andrew Clark>//
    - **[eb58c3909](facebook/react@eb58c3909 )**: react-hooks/exhaustive-deps: Handle optional chained methods as dependency ([facebook#20204](facebook/react#20204)) ([facebook#20247](facebook/react#20247)) //<Ari Perkkiö>//
    - **[7b84dbd16](facebook/react@7b84dbd16 )**: Fail build on deep requires in npm packages ([facebook#21063](facebook/react#21063)) //<Dan Abramov>//
    - **[2c9d8efc8](facebook/react@2c9d8efc8 )**: Add react-reconciler/constants entry point ([facebook#21062](facebook/react#21062)) //<Dan Abramov>//
    - **[d0eaf7829](facebook/react@d0eaf7829 )**: Move priorities to separate import to break cycle ([facebook#21060](facebook/react#21060)) //<Andrew Clark>//
    - **[435cff986](facebook/react@435cff986 )**: [Fizz] Expose callbacks in options for when various stages of the content is done ([facebook#21056](facebook/react#21056)) //<Sebastian Markbåge>//
    - **[25bfa287f](facebook/react@25bfa287f )**: [Experiment] Add feature flag for more aggressive memory clean-up of deleted fiber trees ([facebook#21039](facebook/react#21039)) //<Benoit Girard>//
    - **[8fe7810e7](facebook/react@8fe7810e7 )**: Remove already completed comment ([facebook#21054](facebook/react#21054)) //<Sebastian Markbåge>//
    - **[6c3202b1e](facebook/react@6c3202b1e )**: [Fizz] Use identifierPrefix to avoid conflicts within the same response ([facebook#21037](facebook/react#21037)) //<Sebastian Markbåge>//
    - **[dcdf8de7e](facebook/react@dcdf8de7e )**: Remove discrete lanes and priorities ([facebook#21040](facebook/react#21040)) //<Andrew Clark>//
    - **[ca99ae97b](facebook/react@ca99ae97b )**: Replace some flushExpired callsites ([facebook#20975](facebook/react#20975)) //<Ricky>//
    - **[1fafac002](facebook/react@1fafac002 )**: Use SyncLane for discrete event hydration ([facebook#21038](facebook/react#21038)) //<Andrew Clark>//
    
    Changelog:
    [General][Changed] - React Native sync for revisions 6d3ecb7...c9aab1c
    
    jest_e2e[run_all_tests]
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27436763
    
    fbshipit-source-id: da79a41e26bffdcdacd293178062edf098e9b58a
    kacieb authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    2785ce7 View commit details
    Browse the repository at this point in the history
  12. add getRecommendedTimeoutMillis to AccessibilityInfo (facebook#31063)

    Summary:
    resolve facebook#30866
    
    This PR is for using `getRecommendedTimeoutMillis` with React Native, which is available on Android 10 and above.
    This allows the Android "Time to take action (Accessibility timeout)" setting to be reflected in the app.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [Android] [Added] - Add `getRecommendedTimeoutMillis` to AccessibilityInfo
    
    Pull Request resolved: facebook#31063
    
    Test Plan:
    I couldn't find any tests at the code level, so I tested them on my Android device.
    
     ---
    
    ### Android 10 (Pixel4a)
    #### Settings
    <img src="https://user-images.githubusercontent.com/40130327/109322854-210f2400-7896-11eb-9f3b-b88afa27abfb.png" width="400" alt="Set the timeout to 1 minute on the settings screen." />
    
    #### App
    <img src="https://user-images.githubusercontent.com/40130327/109322895-32583080-7896-11eb-9c48-c4aa9afb94d9.png" width="400" alt="The baseline timeout is 3000 ms, but the result of `getRecommendedTimeoutMillis` returns 60000 ms." />
    
     ---
    
    ### Android 7, iOS(Simulator)
    Return the original timeout.
    <img src="https://user-images.githubusercontent.com/40130327/109323217-911daa00-7896-11eb-9eba-659bc623f2ac.png" width="400" alt="Return the original timeout on Android 7." />
    
    <img src="https://user-images.githubusercontent.com/40130327/109323357-b7dbe080-7896-11eb-89e9-305eea8b801b.png" width="400" alt="Return the original timeout on iOS simulator." />
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27475370
    
    Pulled By: nadiia
    
    fbshipit-source-id: 4cdd9eb5ddb20d89c1d870e640b4b7e3c3c1b14d
    grgr-dkrk authored and facebook-github-bot committed Apr 6, 2021
    Configuration menu
    Copy the full SHA
    d29a7e7 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2021

  1. Use EXPECT_NEAR to improve test failure messages

    Summary:
    The current test failures don't include the values passed to `EXPECT` which makes it difficult to understand if the test ended earlier or later then expected.
    
    ```
    Failure: Value of: (commitDuration >= 1000 - threshold) && (commitDuration <= 1000 + threshold)
      Actual: false
    Expected: true
    ```
    
    This diff uses the gtest `EXPECT_NEAR` to get exception messages including the delta:
    
    ```
    Failure: The difference between telemetryDurationToMilliseconds(telemetry.getTextMeasureTime()) and 600 is 153, which exceeds threshold, where
    telemetryDurationToMilliseconds(telemetry.getTextMeasureTime()) evaluates to 753,
    600 evaluates to 600, and
    threshold evaluates to 70.
    ```
    
    This doesn't change the test's flakiness because of how sleep is implemented.
    
    Changelog: [Internal] Test only change
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27595206
    
    fbshipit-source-id: f31bdd92ecc7271c9491dda18639ea08820f5730
    Micha Reiser authored and facebook-github-bot committed Apr 7, 2021
    Configuration menu
    Copy the full SHA
    28ed660 View commit details
    Browse the repository at this point in the history
  2. iOS: Removed unused helper methods for image instrumentation

    Summary:
    These helpers are no longer in use, let's remove them.
    
    Changelog: [Internal]
    
    Reviewed By: p-sun
    
    Differential Revision: D27557211
    
    fbshipit-source-id: 5dd670b8615ed336745e390134983adea36a8a99
    fkgozali authored and facebook-github-bot committed Apr 7, 2021
    Configuration menu
    Copy the full SHA
    3dda7ee View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dffee0e View commit details
    Browse the repository at this point in the history
  4. closer to flow clean

    NickGerleman committed Apr 7, 2021
    Configuration menu
    Copy the full SHA
    c47e359 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2021

  1. Remove clean up resources when the app is backgrounded experiment

    Summary:
    Changelog: [internal]
    
    Experiment didn't move any metrics. Let's get rid of it.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27588183
    
    fbshipit-source-id: 55404a3d756971ee34d4a86acd1027ed077692c0
    sammy-SC authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    976a305 View commit details
    Browse the repository at this point in the history
  2. Modern Switch

    Summary:
    Changelog:
    [Internal] - Update Switch to allow injected implementations
    
    ## General understanding of the component
    The main flow of Switch is pretty straightforward, basically passing the props to the respective native component which uses the platform switch views on Android / iOS
    
    The interesting parts of Switch is the fact that it's a controlled component -- meaning that this component sees the JS value prop as the source of truth about the state of this component and any time the native value of the switch is out of sync with the JS value prop, we send a command `setNativeValue` to keep those in sync.
    
    The problems I ran into:
    * Keeping native and JS in sync
    * Switch skips animation occassionally on iOS simulator
    ## How we keep native and JS in sync
    By construction, the native value of the component should be the same as JS value. Then, we know the native value has changed whenever the callback `handleChange` has been fired.
    
    **Before**
    In the handleChange callback, we'd set an [instance variable `lastNativeValue` with the updated value](https://fburl.com/diffusion/nangxzoh) and force update. Then, in `componentDidUpdate`, we'd send the native commands if we determine that `lastNativeValue` and the `value` prop were out of sync.
    
    **After**
    For our modern implementation, we store the value of the switch as reported by `handleChange` and check it against the `props.value` of the switch. If they are out of sync then we will update the native switch via the switch command.
    
    **Why is `native` an object?**
    We need to run the `useLayoutEffect` every time `handleChange` is called independent of the value of the switch.
    
    **Why not move the logic of dispatching commands to `handleChange`?**?
    This would change behavior from old implementation where we would call `onChange` handlers and then re-render. Additionally, the logic to run the native commands were on `componentDidUpdate` which would've run when any prop changed. We can simplify this down to caring only when `props.value` updates.
    
    ## Unsolved, existing issue: Switches skip animation occasionally
    * This occurs both in the modern and old versions of Switch and I've only seen this on iOS simulators. It occurs most frequently in the "events" example where two switches' values are synced and most often the first transition after we navigate to the example surface. I have not been able to reproduce this behavior on device.
    * Something must be triggering a re-render in the middle of native's animation..
    
    {F564595576}
    
    Reviewed By: nadiia, kacieb
    
    Differential Revision: D27381306
    
    fbshipit-source-id: 06d13c6fe1ff181443f4b8dd27fb1ac65e071962
    Luna Wei authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    683b825 View commit details
    Browse the repository at this point in the history
  3. Remove defaultProps

    Summary:
    Changelog:
    [Internal] - Remove defaultProps for SectionList
    
    Reviewed By: kacieb
    
    Differential Revision: D27630645
    
    fbshipit-source-id: 81571fb5f90ea4e820c74781811b82f954f97396
    Luna Wei authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    959dc5a View commit details
    Browse the repository at this point in the history
  4. Convert to ESM export

    Summary:
    Changelog:
    [Internal] - Convert to ESM export
    
    Reviewed By: kacieb
    
    Differential Revision: D27631062
    
    fbshipit-source-id: 59509809d87e70831c070a882a96fe93c3410bc3
    Luna Wei authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    4565fd8 View commit details
    Browse the repository at this point in the history
  5. Remove assertions in ~Scheduler and ~SurfaceHandler

    Summary:
    ~Scheduler and ~SurfaceHandler both contain react_native_asserts that trip whenever we reload React Native with Fabric enabled. These asserts trip because of a memory leak in Fabric. These asserts do not run in production. We should fix the memory leak before re-enabling these assertions.
    
    Changelog: [Internal]
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27481220
    
    fbshipit-source-id: 15c3d46f7efab9ed67a70714efe44b74b0acd385
    RSNara authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    f525ec0 View commit details
    Browse the repository at this point in the history
  6. Refactor: Remove AsyncDevSupportManager.loadJSBundleFromServer

    Summary:
    ## Rationale
    - AsyncDevSupportManager.loadSplitBundleFromServer() is an override of DevSupportManager.loadSplitBundleFromServer(), which is used by the bridge. However, AsyncDevSupportManager.loadJSBundleFromServer() has no bridge analogue. This is confusing: Are the methods in AsyncDevSupportManager Venice overrides for bridge related methods? It's easy to think yes, but the answer is no.
    - AsyncDevSupportManager.loadJSBundleFromServer() is an additional layer of indirection that provides very little value: all it does it create the JSBundleLoader, and call onReactContextCreated. However, it does so in 11 lines of very confusing code.
    
    A discussion we don't have to have now: Inheritance hierarchies are very difficult to understand and de-tangle. So, instead of using inheritance to make DevSupportManager work with Venice (via AsyncDevSupportManager), should we just refactor DevSupportManager so that it can be customized to work with Venice?
    
    Changelog: [Internal]
    
    Reviewed By: JoshuaGross, mdvacca
    
    Differential Revision: D27577591
    
    fbshipit-source-id: b64dcd65e9a7c85b89443d860d441a0635547916
    RSNara authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    5f0bf8b View commit details
    Browse the repository at this point in the history
  7. Introducing RuntimeScheduler module

    Summary:
    Changelog: [internal[
    
    Introducing RuntimeScheduler. A coordinator of work between native and React.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27616818
    
    fbshipit-source-id: e90d3d9ca8907be99e61f69e62e83cece8155050
    sammy-SC authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    eb13baf View commit details
    Browse the repository at this point in the history
  8. Allow swapping the clock implementation for TransactionTelemetry

    Summary:
    The `TransactionalTelemetryTest`s are flaky because they use a real clock and assert on how much time has passed (with a threshold, but that's no good either).
    
    Using the real clock in the test is the cause for the test to be flaky because it depends on the assumption that it's the sole process running, never risking to be put in the process-queue of the OS. However, that's not the case and is why the test sporadically fails if the OS decided to schedule other threads/process in the middle of the test.
    
    This diff allows parametrising the `TransactionTelemetry` class with the clock implementation so that tests can use a Mock Clock if desired (separate diff).
    
    Changelog: [Internal] Fabric-specific internal change.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27618516
    
    fbshipit-source-id: 5a08e115b388398ca2b05b9d5ae0fd281dfe3b04
    Micha Reiser authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    46acfcb View commit details
    Browse the repository at this point in the history
  9. Use mock clock

    Summary:
    Change the `TransactionTelemetryTest` to use a mock clock or change the tests to only test if at least x amount of time has passed.
    
    Using a mock clock is the only way to make the test deterministic and be able to assert on the sub-results of the captured phases.
    
    Changelog: [Internal] Change to the `TelemetryTest`. Neither changes the runtime behavior nor the API.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27618448
    
    fbshipit-source-id: 0cbf51b050aabb75341112ea4a43bea0115082f9
    Micha Reiser authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    dde48fd View commit details
    Browse the repository at this point in the history
  10. ShadowView hash: add surfaceId and LayoutMetrics

    Summary:
    Turns out that ShadowViews that have different LayoutMetrics will have the same hash. Fix that.
    
    This helps for debugging LayoutAnimations.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27585133
    
    fbshipit-source-id: f0ac50619115150339089276e34fee5ddd0270bc
    JoshuaGross authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    3824c56 View commit details
    Browse the repository at this point in the history
  11. EZ: fix up LayoutAnimation logs

    Summary:
    Make these logs more readable/useful and add debug print of ShadowView hashes in one place.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27585135
    
    fbshipit-source-id: 5f526856d893c32015d8b480522580732fda0cc6
    JoshuaGross authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    49b6c60 View commit details
    Browse the repository at this point in the history
  12. Add config flag for RuntimeScheduler

    Summary:
    Changelog: [internal]
    
    Add config flags for RuntimeScheduler. Even with the flags, React will not be using it. Further changes on React side will be required.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27616916
    
    fbshipit-source-id: 296a040c2b6dd936dd9582e937e6db75e28f31a4
    sammy-SC authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    0b8731d View commit details
    Browse the repository at this point in the history
  13. Android: upgrading to OkHttp from v3 to v4 (facebook#31084)

    Summary:
    Extends facebook#30694 to fix tests.
    
    OkHttp v4 was released almost a year ago. Even though v3 is still receiving security and bug fixes, most of the new improvements and features are landing in v4. This PR bumps OkHttp from v3 to v4 and addresses backward-incompatible changes.
    
    Side effects of this upgrade:
     - OkHttp v4 depends on Kotlin's standard library, so react-native will have a transitive dependency on it.
     - The dex method count of test apk has exceeded the maximum, so multidexing had to be enabled for android tests.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [Android] [Changed] - Bumping OkHttp from v3 to v4.
    
    Pull Request resolved: facebook#31084
    
    Test Plan: Automated (relying on the test suite) and manual testing.
    
    Reviewed By: fkgozali
    
    Differential Revision: D27597430
    
    Pulled By: ShikaSD
    
    fbshipit-source-id: 967379b41c2bcd7cfd4083f65059f5da467b8a91
    arazabishov authored and facebook-github-bot committed Apr 8, 2021
    Configuration menu
    Copy the full SHA
    8207e97 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2021

  1. RN: Reapply AccessibilityInfo Changes

    Reviewed By: nadiia, kacieb
    
    Differential Revision: D27595098
    
    fbshipit-source-id: a949476c3e4681d3ddcfd1a53abe1d8f3b05c1f9
    yungsters authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    e7275d5 View commit details
    Browse the repository at this point in the history
  2. RN: Upgrade AccessibilityInfo.removeEventListener Call Sites

    Summary:
    Upgrades all users of `AccessibilityInfo.removeEventListener` to instead use the return value of `AccessibilityInfo.addEventListener`. This will avoid soft errors from being fired for Facebook products.
    
    Changelog:
    [Internal]
    
    Reviewed By: kacieb
    
    Differential Revision: D27595097
    
    fbshipit-source-id: 7133db83c6313ae04e43fc0cc8667f562ba1af2b
    yungsters authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    ebdf36c View commit details
    Browse the repository at this point in the history
  3. Stop calling getTurboModule:initParams in RCTTurboModuleManager

    Summary:
    We're going to make RCTTurboModule getTurboModule: required in D27316129. So, RCTTurboModuleManagerDelegate getTurboModule:initParams is no longer necessary.
    
    ## Changes
    1. Makes TurboModuleManager stop calling RCTTurboModuleManagerDelegate getTurboModule:initParams
    2. Makes getTurboModule: have the lowest priority. So, Cxx NativeModules with a getTurboModule: method won't have their getTurboModule: method executed.
    
    Changelog: [Internal]
    
    Reviewed By: PeteTheHeat
    
    Differential Revision: D27316872
    
    fbshipit-source-id: a024e55b8e3692d7117420007dd3947ecfd5019c
    RSNara authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    6a5e98a View commit details
    Browse the repository at this point in the history
  4. Codemod: Give legacy cxx and ObjC-only NativeModules a getTurboModule…

    …: method
    
    Summary:
    We're making the getTurboModule: method required for all classes that conform to RCTTurboModule.
    
    Many of our ObjC-only and Cxx NativeModules don't implement this method. This diff implements a getTurboModule: method on all those modules that returns nullptr.
    
    **Question:** Why is it fine to make ObjC-only NativeModules return nullptr from their getTurboModule: method?
    - Because they're only accessed from ObjC, and should appear as null on the JavaScript side. Longer term, these NativeModules will also go away.
    
    **Question:** Why is it fine to make Cxx NativeModules return nullptr from getTurboModule: method?
    - Because after D27316872, the TurboModuleManager checks if the module is a CxxModule first. If it is, we do an early return, and never call the module's getTurboModule: method.
    
    Changelog: [Internal]
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27316871
    
    fbshipit-source-id: bc693f2927ab3b0de24e6e9e7699390ec0f7d729
    RSNara authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    3f38186 View commit details
    Browse the repository at this point in the history
  5. Make RCTTurboModule getTurboModule: required

    Summary:
    ## Rationale
    There are two ways to associate NativeModule ObjC objects with ObjCTurboModule jsi::HostObjects:
    1. Via the NativeModule ObjC class's `getTurboModule:` method.
    2. Via the TurboModule manager delegate's getTurboModule:initParams: method.
    
    There's no good reason to support both options. So, this diff stack removes 2, and make 1 mandatory for all RCTTurboModules. Not only will this simplify the infra, but it should also help eliminate a class of runtime errors in the TurboModule standalone app migration: you forget to implement the getTurboModule: method.
    
    Changelog: [iOS][Changed] - Make RCTTurboModule getTurboModule: required
    
    Reviewed By: PeteTheHeat
    
    Differential Revision: D27316129
    
    fbshipit-source-id: baccd155b8c191d0f961b316db552bdfdbeb0a97
    RSNara authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    e0b8f50 View commit details
    Browse the repository at this point in the history
  6. Delete RCTTurboModuleManagerDelegate getTurboModule:initParams

    Summary:
    D27316129 made it mandatory for all RCTTurboModules to have a getTurboModule: method. So, there's no need to keep the getTurboModule:initParams method in RCTTurboModuleManagerDelegate. So, to simplify the TurboModule infra, this diff gets rid of that TurboModuleManager delegate method.
    
    Changelog: [iOS][Removed] - Delete RCTTurboModuleManagerDelegate getTurboModule:initParams
    
    Reviewed By: fkgozali
    
    Differential Revision: D27316873
    
    fbshipit-source-id: c0b8449c6088bf08f17ba9a8d1c2cb644e5a242d
    RSNara authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    c4c34a1 View commit details
    Browse the repository at this point in the history
  7. Differ: introduce breadcrumb logging

    Summary:
    Introduce a new debugging mechanism for the debugger. Outside of debug mode (you must defined `DEBUG_LOGS_BREADCRUMBS` manually to enable this feature) it will have no cost or binary size.
    
    When the debug mode is enabled, it allows you to trace the call stack to trace what the differ is doing, making logs more useful.
    
    Motivation: tracking down a tricky bug caught by D27585136 which originates in the differ.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27667885
    
    fbshipit-source-id: ef75a9a1c8890f9bbe3e5b2e8a8ffcde92fb22c2
    JoshuaGross authored and facebook-github-bot committed Apr 9, 2021
    Configuration menu
    Copy the full SHA
    c91e32b View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. Expose setSurfaceProps API in JS

    Summary:
    This diff introduces the new function "setSurfaceProps" in SurfaceRegistry and AppRegistry
    
    This new method will be used to update initialProps of a surface at the root level. In the near future this will be useful to integrate the OffScreen API component in pre-rendering
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27607587
    
    fbshipit-source-id: 3cc58c51924feb68f6a24bf762986c57f9a245ae
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    b5e2e1d View commit details
    Browse the repository at this point in the history
  2. Introduce new Fabric API setSurfaceProps

    Summary:
    This diff introduces a new fabric API called setSurfaceProps that will be used to call the new JS api "setSurfaceProps"
    
    changelog: [internal] internal
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27607588
    
    fbshipit-source-id: 36a19f728af244d7e72687d9305b1c568e2b8ec6
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    680dd36 View commit details
    Browse the repository at this point in the history
  3. Update initial props when DisplayMode changes in Fabric

    Summary:
    This diff updates initial props when DisplayMode changes in Fabric. This method will be called during pre-rendering.
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27607586
    
    fbshipit-source-id: 7625943d57a786d6dfe30dd893e27704f51826d2
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    e7b52d7 View commit details
    Browse the repository at this point in the history
  4. Introduce setDisplayMode method in SurfaceHandler

    Summary:
    This diff introduces the new setDisplayMode java method in SurfaceHandler classes
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27607585
    
    fbshipit-source-id: aac0def4136cf70e99ef7b20eba85e3e975b72d9
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    84c70b2 View commit details
    Browse the repository at this point in the history
  5. Move DisplayMode out of SurfaceHandler

    Summary:
    This diff moves DisplayMode out of SurfaceHandler, this is necessary in order to use it from react/uimanager package
    
    changelog: [internal] internal
    
    Reviewed By: ShikaSD
    
    Differential Revision: D27669846
    
    fbshipit-source-id: 274869d8f2907b1b159f51240440acece09a746f
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    2793bba View commit details
    Browse the repository at this point in the history
  6. Add displayMode parameter into startSurface and setSurfaceProps methods

    Summary:
    This diff extends startSurface and setSurfaceProps methods with the new parameter called displayMode
    
    changelog: [internal] internal
    
    Reviewed By: yungsters
    
    Differential Revision: D27669847
    
    fbshipit-source-id: c2ddb690ca897e46e00f07b491b91bb2bc8e847d
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    bdb9a1e View commit details
    Browse the repository at this point in the history
  7. Transfer 'DisplayMode' value from Native -> JS

    Summary:
    This diff adds a new variable called "DisplayMode" into SurfaceHandler.cpp and FacebookAppRouteHandler.js. The purpose of DisplayMode is for the native pre-render system to notify React that the a surface is either being "pre-rendered" or "rendered"
    
    When the surface is being "pre-rendered" (displayMode == "SUSPENDED"), react will create and commit React Trees, but it will not execute use-effect callbacks
    
    When the surface is being "rendered" (displayMode == "VISIBLE"), react will create and commit React Trees and it will not execute all use-effect callbacks that weren't executed during "pre-rendering"
    
    By default surfaces are going to be rendered with displayMode == "VISIBLE".
    
    This diff should not create any change of behavior for now, this is the infra required to integrate the new offScreen API the react team is working on for pre-rendering system
    
    changelog: [internal] internal
    
    Reviewed By: yungsters
    
    Differential Revision: D27614664
    
    fbshipit-source-id: f1f42fdf174c2ffa74174feb1873f1d5d46e7a95
    mdvacca authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    b28dded View commit details
    Browse the repository at this point in the history
  8. Codemod usages of NativeEventEmitter in react-native-github to only p…

    …ass a native module on iOS
    
    Summary: Changelog: [Internal]
    
    Reviewed By: yungsters
    
    Differential Revision: D27500993
    
    fbshipit-source-id: 99b33e25daf46b7d1debc6435dd32505ad2cf855
    rubennorte authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    87517ae View commit details
    Browse the repository at this point in the history
  9. Migrate remaining modules using NativeEventEmitter to only pass the n…

    …ative module on iOS
    
    Summary: Changelog: [Internal]
    
    Reviewed By: fred2028
    
    Differential Revision: D27501270
    
    fbshipit-source-id: 1d447017e862baf834310650778f2abbff50945c
    rubennorte authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    38cfa93 View commit details
    Browse the repository at this point in the history
  10. Use native module passed to NativeEventEmitter on Android

    Summary:
    ## Context
    
    In native modules implementing an event emitter, we can wait for JS to subscribe to an event before making the subscription to the right native API in the native module. This is only supported on iOS at the moment and we want to support it on Android too, so we can manage resources more efficiently and avoid custom code to do this on Android, like this:
    
    https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/js/RKJSModules/public/Dating/Profile/ProfileView/ProfileGemstoneProfileView.js?commit=165ad219e6bf&lines=302-304
    
    The way this works now is by creating instances of `NativeEventEmitter`, where we pass a reference to the native module that needs to be notified when there are new subscriptions. We have explicit code to ignore this native modules in all platforms except for iOS:
    https://www.internalfb.com/intern/diffusion/FBS/browsefile/master/xplat/js/react-native-github/Libraries/EventEmitter/NativeEventEmitter.js?commit=5a1e671453465e844dd851c458cb2467a2db5d03&lines=44-52
    
    ## Changes
    
    This removes the check for iOS from `NativeEventEmitter` so we also try to use the native module to notify subscriptions on Android.
    
    We have migrated all existing code passing a native module to `NativeEventEmtiter` to only pass it on iOS, so we don't change this behavior in existing code.
    
    Any other existing code using this API is most likely fine too. It didn't work before so the expectation is that the native module wouldn't be implemented on Android anyway.
    
    Changelog: [Android][Changed] - Modified `NativeEventEmitter` to also use the passed native module to report subscriptions on Android
    
    Reviewed By: yungsters
    
    Differential Revision: D27500994
    
    fbshipit-source-id: ef82da04020fb08cd0ea4f1cfffd1da6453ab0b9
    rubennorte authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    f5502fb View commit details
    Browse the repository at this point in the history
  11. Assign batch number to only batched animated instructions

    Summary:
    Changelog: [Internal]
    
    `NativeAnimatedModule` on Android currently enforces all animation operations to be processed in batches to ensure that all associated operations are processed at the same time.
    Some operations, however, can be triggered outside of the batching calls (e.g. when using `Animated` for tracking touches `PanResponder`), and they are not processed until the next batch.
    
    This change tracks if we are currently processing a batch and doesn't assign a batch number if an operation was triggered outside of `startOperationBatch`/`finishOperationBatch` pair.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27682424
    
    fbshipit-source-id: 2ea8737c353c81557fa586b15aa5760db3e8813f
    Andrei Shikov authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    ea1ff37 View commit details
    Browse the repository at this point in the history
  12. Fix race inside ScrollView._inputMeasureAndScrollToKeyboard

    Summary:
    Changelog: [internal]
    
    For React Native classic the behaviour is identical.
    
    # Problem
    
    `ScrollView.scrollResponderScrollNativeHandleToKeyboard` is broken in new React Native renderer. The behaviour depends on race between two events, `measureLayout` and `keyboardWillShow` event. In the new renderer, `measureLayout` always wins because it is a synchronous call, unlike in React Native classic.
    
    To fix this we can just delay execution by wrapping it in `setTimeout`, which puts it on the back of the queue.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27705883
    
    fbshipit-source-id: 7556f86978ca3ccd2fddf1eef2435af26b54f585
    sammy-SC authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    8f4aed6 View commit details
    Browse the repository at this point in the history
  13. Refactor React Native SectionList component to a functional component

    Summary:
    Changelog:
    [Internal] - Refactors SectionList component to be a functional component instead of a Class component
    
    Closes facebook#31322
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27681457
    
    fbshipit-source-id: ef0e68dd4bc91e83b40c55a4a959f27e69292964
    madhavgharmalkar authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    9d263aa View commit details
    Browse the repository at this point in the history
  14. EventEmitter: Deprecate Constructor Argument

    Summary:
    Deprecates the constructor argument to `EventEmitter`.
    
    It was only ever used by React Native to instantiate a `NativeEventEmitter` with the same "vendor" as `RCTDeviceEventEmitter`, which was a gross violation of encapsulation that led to an overcomplicated implementation of `EventEmitter`. I am now untangling that mess.
    
    Changelog:
    [General][Deprecated] - It is now deprecated to pass a constructor argument to `EventEmitter(...)`.
    
    Reviewed By: rubennorte
    
    Differential Revision: D27704182
    
    fbshipit-source-id: 102f26a8a9c029f0e7a1346dc2f2d9f2548d6a42
    yungsters authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    14f7a2b View commit details
    Browse the repository at this point in the history
  15. EventEmitter: Cleanup Redundant Internal Types

    Summary:
    Cleans up some minor redundant internal types in `_EventEmitter.js`.
    
    Changelog:
    [Internal]
    
    Reviewed By: rubennorte
    
    Differential Revision: D27712301
    
    fbshipit-source-id: e6affcb7948e0f47a1775b74b12f59ec2a6abddb
    yungsters authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    62934e5 View commit details
    Browse the repository at this point in the history
  16. EventEmitter: Deprecate removeSubscription

    Summary:
    Deprecates `EventEmitter#removeSubscription`. This required temporarily introducing a new `__removeSubscription` method that is only invoked by `EmitterSubscription`. This is necessary so that we do not completely break usages of `EventEmitter` that are supplying constructor arguments (which is also deprecated, but still supported until the next release).
    
    Calling this method will now cause a warning to appear with instructions to instead invoke `remove()` on the subscription itself.
    
    Lastly, changed `console.error` deprecation notice to instead use `console.warn`. This is in line with the principle that errors are "broken today" and warnings will be "broken tomorrow".
    
    Changelog:
    [General][Deprecated] - `EventEmitter#removeSubscription` is now deprecated.
    
    Reviewed By: rubennorte
    
    Differential Revision: D27704279
    
    fbshipit-source-id: 581f5b2ab46b1bcfc1d20898b3d3392988dccbd5
    yungsters authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    cb6cbd1 View commit details
    Browse the repository at this point in the history
  17. Rewrite Modal to a functional component and add gating for the change

    Summary:
    Changelog:
    [Internal][Added] - Use injected Modal if set
    
    Due to Modal uses AppContainer in a dev env, in the StrictMode we'll get warnings about legacy context API usage from inside the AppContainer.
    
    It's a gnarly change to get rid of that legacy context so I'll be following up with additional code change prep steps towards the eventual removal of the legacy context.
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27611218
    
    fbshipit-source-id: f79475845e763527fff9ecfdbf3e581c4666e015
    Nadiia D authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    d65b589 View commit details
    Browse the repository at this point in the history
  18. Add a way to prerender the surface

    Summary:
    Changelog: [Internal]
    
    Links APIs in Fabric and Venice to create a surface without a view and mount it separately when surface is started the usual way.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27339365
    
    fbshipit-source-id: d1b674ce856957465eb6f3a5d7f26eb0ab625353
    Andrei Shikov authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    5cba7c0 View commit details
    Browse the repository at this point in the history
  19. Move surface handler registration to Binding.cpp

    Summary:
    Changelog: [Internal]
    
    Inverts registration of a SurfaceHandler with the scheduler: instead of passing a scheduler to the SurfaceHandlerBinding, we can now query the SurfaceHandler and register it in place.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27624541
    
    fbshipit-source-id: db5d7f1375fad72a805309a3fcd5a33080e4a4a7
    Andrei Shikov authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    214aaf2 View commit details
    Browse the repository at this point in the history
  20. Avoid mounting tree on mode change if it wasn't commited

    Summary:
    Changelog: [Internal]
    
    Calls to `surfaceHandler.start()` and `setDisplayMode(DisplayMode::Visible)` in quick succession on different threads can cause a race condition between mount and commit operations.
    
    The mountingCoordinator will try to mount an empty revision without any commits causing it to fail with:
    ```
    TransactionTelemetry.cpp:108: function getCommitStartTime: assertion failed (commitStartTime_ != kTelemetryUndefinedTimePoint)
    ```
    which is called from [Binding.cpp](https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/js/react-native-github/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp?lines=791-791&blame=1).
    
    This change avoids this initial commit by verifying we had at least 1 revision commited before mounting it.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27430174
    
    fbshipit-source-id: d208d55f02cd218a316d6fea62d0106c2bcb4be8
    Andrei Shikov authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    a17e3cf View commit details
    Browse the repository at this point in the history
  21. Android: Fix switch ripple color (facebook#30685)

    Summary:
    fix facebook#22370
    
    Use `RippleDrawable` to change ripple color.
    According to the [document](https://developer.android.com/reference/android/graphics/drawable/RippleDrawable?hl=en), `RippleDrawable` is added in API 21, so warped the code in the `if` statement for version checking.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://github.com/facebook/react-native/wiki/Changelog
    -->
    
    [Android] [Fixed] - Fix wrong ripple color on Switch component
    
    Pull Request resolved: facebook#30685
    
    Test Plan:
    1. Create an empty app with react-native 0.63.4, copy&paste the App.js from issue facebook#22370
    2. Apply the code for fixing to `node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java`
    3. Configure the project to let it Build from ReactAndroid
    4. Check if ripple color has changed correctly
    5. Use different color on each state and check if it is working
    
    Test device: Android emulator, Pixel 4, API 30
    
    ## Screenshot
    
    ### Before
    Ripple is always in default color
    
    https://user-images.githubusercontent.com/48589760/103573532-5b4cec80-4f09-11eb-96d7-f75efa6779d9.mov
    
    ### After
    Ripple color has changed with thumb color
    
    https://user-images.githubusercontent.com/48589760/103573216-d95cc380-4f08-11eb-98fb-494e28c12a9f.mov
    
    Check different color on each state
    
    https://user-images.githubusercontent.com/48589760/103573227-de217780-4f08-11eb-8992-ede5d1dd89c1.mov
    
    Reviewed By: mdvacca
    
    Differential Revision: D27636802
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: fa23cc8b51c642e5e5d9c73371c8ccef3741fd14
    rnike authored and facebook-github-bot committed Apr 12, 2021
    Configuration menu
    Copy the full SHA
    1b06835 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2021

  1. Add runtime scheduler priorities

    Summary:
    Changelog: [internal]
    
    Add runtime scheduler priorities
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27618305
    
    fbshipit-source-id: 95e4e02f3473acb41bca0c22df7b271a8d710f34
    sammy-SC authored and facebook-github-bot committed Apr 13, 2021
    Configuration menu
    Copy the full SHA
    8d5c22e View commit details
    Browse the repository at this point in the history
  2. Make glog exported depencency of debug module

    Summary:
    Changelog: [internal]
    
    `glog` needs to be exported dependency because it is used in public headers.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27617632
    
    fbshipit-source-id: 91aa27b641286002a80a8cd5ef2e6fe6c266b452
    sammy-SC authored and facebook-github-bot committed Apr 13, 2021
    Configuration menu
    Copy the full SHA
    71b5178 View commit details
    Browse the repository at this point in the history
  3. Add minimal implementation of RuntimeScheduler::scheduleTask

    Summary:
    Changelog: [internal]
    
    Add minimal implementation of schedule task. More features and proper scheduling will be added later.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27622138
    
    fbshipit-source-id: b2e4623d38e7217290a6a3c59ccc10a1c13e3a4f
    sammy-SC authored and facebook-github-bot committed Apr 13, 2021
    Configuration menu
    Copy the full SHA
    2779129 View commit details
    Browse the repository at this point in the history
  4. Add return value to RuntimeScheduler unstable_scheduleCallback

    Summary:
    Changelog: [internal]
    
    unstable_scheduleCallback needs to return reference to the created task so it can be cancelled later.
    
    Reviewed By: mdvacca
    
    Differential Revision: D27622779
    
    fbshipit-source-id: 54160015c7f98e123d08c2e13efac4f498d3ba5e
    sammy-SC authored and facebook-github-bot committed Apr 13, 2021
    Configuration menu
    Copy the full SHA
    3c14c19 View commit details
    Browse the repository at this point in the history
  5. Implement RuntimeScheduler::cancelTask

    Summary:
    Changelog: [internal]
    
    Implement RuntimeScheduler::cancelTask and expose it through JSI.
    
    JavaScript implementation:
    https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js#L384-L397
    
    Reviewed By: mdvacca
    
    Differential Revision: D27648071
    
    fbshipit-source-id: 91ae92b336017596fb658831824e971c7e047cd2
    sammy-SC authored and facebook-github-bot committed Apr 13, 2021
    Configuration menu
    Copy the full SHA
    08ef1df View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2021

  1. Fix CI "Build Tests: Android Instrumentation Tests" errors (facebook#…

    …31352)
    
    Summary:
    To fix [the CI error](https://app.circleci.com/pipelines/github/facebook/react-native/8708/workflows/d584348e-941f-4653-96c2-46375894dfaa/jobs/196410)
      There are two errors:
      `error: undefined reference to '__android_log_write'` which solved by adding `-llog` linker flag.
    
      `ld: error: cannot find -lc++` which workaround by static linking.
      For the root cause, I am thinking that is after [NDK r19](https://developer.android.com/ndk/guides/other_build_systems),
      the `-target` should specificy api level.
      However, buck does not add this accordingly, e.g. `-target armv7-none-linux-androideabi`
      Given wrong target will make NDK to have `cannot find -lc++` error.
      The workaround is to use static linking.
      Since it was an oss_cxx_library, the change should not have impact to Facebook internal testing.
    
    ## Changelog
    
    [Internal] [Fixed] - Fix CI "Build Tests: Android Instrumentation Tests" errors
    
    Pull Request resolved: facebook#31352
    
    Test Plan: Make CI green
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27757838
    
    Pulled By: fkgozali
    
    fbshipit-source-id: 8f9c80a89c6240938218abacb8a82e3e2e71adbc
    Kudo authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    e57de5f View commit details
    Browse the repository at this point in the history
  2. Integrate react_native_asserts into mapbuffer

    Summary:
    Integrate react_native_asserts into mapbuffer
    
    changelog: [internal] internal
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27753092
    
    fbshipit-source-id: dbeb7f140f3096c8153e2f6bced4e4d9d88b48b8
    mdvacca authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    aee07e1 View commit details
    Browse the repository at this point in the history
  3. Implement RuntimeScheduler::getShouldYield

    Summary:
    Changelog: [internal]
    
    Implement RuntimeScheduler::getShouldYield and expose it through JSI.
    For now we are only returning `false`. The value is backed by atomic_bool and in the future we will be able to indicate that React should yield to native.
    
    JavaScript implementation:
    https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js#L439-L441
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27648579
    
    fbshipit-source-id: b9313e2efbd9daae8975357df9de803f24a35e89
    sammy-SC authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    cc3e87c View commit details
    Browse the repository at this point in the history
  4. Add implementation for requestPaint

    Summary:
    Changelog: [internal]
    
    requestPaint is unimplemented on JavaScript scheduler:
    
    https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js#L445
    
    Reviewed By: mdvacca
    
    Differential Revision: D27651947
    
    fbshipit-source-id: 1e3cece8cbcd330f2408887ceb283ca61374f5bd
    sammy-SC authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    52f1d54 View commit details
    Browse the repository at this point in the history
  5. Implement RuntimeScheduler::now

    Summary:
    Changelog: [internal]
    
    Implement RuntimeScheduler::now and exposite it to JavaScript. JavaScripts expects miliseconds and is using `performance.now()` call to get this value.
    
    More about `performance.now()`: https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
    JavaScript implementation in Scheduler: https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js#L71-L82
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27675512
    
    fbshipit-source-id: bce5ac700e71b1722cd280dfbdd15e141783a3a5
    sammy-SC authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    240588b View commit details
    Browse the repository at this point in the history
  6. Add expiration date to Task and use it to determine priority

    Summary:
    Changelog: [internal]
    
    To prevent starvation, this diff implements expiration time as a way to order tasks in priority queue. This stops higher priority tasks from preventing lower priority tasks from running. The same mechanism is implemented in [JavaScript's scheduler](https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js).
    
    Reviewed By: mdvacca
    
    Differential Revision: D27707887
    
    fbshipit-source-id: 3dc734c856a166ef5c17c5045ebd429565ba79f0
    sammy-SC authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    06753d4 View commit details
    Browse the repository at this point in the history
  7. Daily arc lint --take BUCKFORMAT

    Reviewed By: zertosh
    
    Differential Revision: D27761011
    
    fbshipit-source-id: 6231e04819b758d0daa1c78b412742be9b23cf3f
    CodemodService FBSourceBuckFormatLinterBot authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    73b9f78 View commit details
    Browse the repository at this point in the history
  8. Don't disconnect DevTools WebSocket connection on Cmd+D

    Summary:
    When the React Native Cmd+D menu is opened, something re-runs module initialization code (including DevTools backend initialization) which recreates the `WebSocket` and kills any already-connected frontend.
    
    It's not clear to me why this is done. (Intentional? Accident?) But it makes it difficult to connect the React Native Inspector and DevTools together without multiple reloads. This Diff prevents the Cmd+D menu from killing the `WebSocket` connection as a workaround. A better long-term fix would (probably) be to not eagerly re-run these modules.
    
    ## Changelog
    
    [General] [Fixed] - Don't disconnect DevTools WebSocket connection on Cmd+D
    
    Reviewed By: fkgozali, sammy-SC
    
    Differential Revision: D27742376
    
    fbshipit-source-id: 60ab3e4763da6b055c28c7aafc6d460e7f4a601d
    Brian Vaughn authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    60a18c1 View commit details
    Browse the repository at this point in the history
  9. Correct LayoutMetrics comparison and make debuggable

    Summary:
    Allow conversion of LayoutMetrics to DebuggableString.
    
    We also skipped a field in comparison. It probably isn't impactful in terms of production issues, but still wasn't correct.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27709451
    
    fbshipit-source-id: 987fc2de0a4562a295d6cbeffdd922cbf056b811
    JoshuaGross authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    88c3090 View commit details
    Browse the repository at this point in the history
  10. Mounting: log more information in iOS-only REMOVE assert

    Summary:
    Log a little more information in the iOS-only assert checking that the REMOVE index is correct.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27632457
    
    fbshipit-source-id: 56e668dc2f22841e3cf3d838ba605d63cc7c1bad
    JoshuaGross authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    ff47b0e View commit details
    Browse the repository at this point in the history
  11. Revert a small change to UIManagerBinding

    Summary:
    Changelog: [Internal]
    
    This reverts a small change from D26885562 (facebook@ea1f953). I'm not sure if this change was made intentionally (feel free to reject this diff if it was luluwu).
    
    Before D26885562 (facebook@ea1f953), if `RN$Bridgeless` was truthy and `RN$stopSurface` was falsey, then the function returned. After D26885562 (facebook@ea1f953), it ran the else clause (which shouldn't be run in bridgeless mode IIUC).
    
    Reviewed By: mdvacca
    
    Differential Revision: D27751583
    
    fbshipit-source-id: daaf5c72fec11f4b2e21d1d2926a5026b984461f
    Peter Argany authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    9729d4d View commit details
    Browse the repository at this point in the history
  12. Update View to use import instead of require

    Summary:
    Changelog:
    [General][Changed] Update View to use import instead of require
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27747147
    
    fbshipit-source-id: 49bd705bd475ca518829d3364550c14ec2ac1da8
    kacieb authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    50c3dd3 View commit details
    Browse the repository at this point in the history
  13. Convert SafeAreaView to ES Module (facebook#31344)

    Summary:
    Convert SafeAreaView to ES Module (facebook#31330).
    
    ## Changelog
    
    [General] [Changed] - Converted `SafeAreaView` to ES Module.
    
    Pull Request resolved: facebook#31344
    
    Test Plan: Tested that `npm test` passes.
    
    Reviewed By: kacieb
    
    Differential Revision: D27767463
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: fd3aee58ae6d621a292ff3360d8833f5e5007d52
    franzon authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    d9a86aa View commit details
    Browse the repository at this point in the history
  14. Clean up imports and update KeyboardAvoidingView to @flow strict-local

    Summary:
    Changelog:
    [General][Changed] Clean up imports and update KeyboardAvoidingView to flow strict-local
    
    Reviewed By: lunaleaps, nadiia
    
    Differential Revision: D27720919
    
    fbshipit-source-id: 9863c2de0ad34889dbde87c7d5ad9316bda24649
    kacieb authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    328f4ee View commit details
    Browse the repository at this point in the history
  15. Update React DevTools deps from 4.6 -> 4.12

    Summary:
    Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Sonar, etc.
    
    # Changelog:
    
    [General][Changed] - Upgraded react-devtools-core dependency to 4.12.0
    
    Reviewed By: gaearon
    
    Differential Revision: D27764688
    
    fbshipit-source-id: faa179cf4be3b49b14244d47ee0b91ae63138b8b
    Brian Vaughn authored and facebook-github-bot committed Apr 14, 2021
    Configuration menu
    Copy the full SHA
    5a2693d View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2021

  1. iOS: Introduced RCT_NEW_ARCHITECTURE build flag to separate old vs ne…

    …w architecture
    
    Summary:
    In order to move away from the legacy system (bridge etc), we need to decouple the new architecture assumptions from it. This flag and assertion functions will help track the runtime and report violations along the way. The goal is to have 0 violation before switching over to the pure new architecture.
    
    Note: this is not used right now.
    
    Changelog: [Internal]
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27783246
    
    fbshipit-source-id: 61f0d77c129bddcde7f24a803432f2d359c5bff3
    fkgozali authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    0cab446 View commit details
    Browse the repository at this point in the history
  2. StubViewTree: enable stricter REMOVE asserts

    Summary:
    With all known remaining issues (outside of LayoutAnimations, potentially) resolved, enable this assert.
    
    Note for future readers: this is the first time this particular assert has EVER been enabled widely, so if we hit this assert in dev, it's great signal for debugging BUT does not necessarily indicate any wide-spread problems in prod, or with any subsystems. This will simply help us become "more correct" over time.
    
    It is possible, but not extremely likely, that cleaning up things that cause this assert will improve stability/crashes.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27697787
    
    fbshipit-source-id: 28fa34eba70548f5001bbd47f41dbe3c6ff3b4c1
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    2d7560d View commit details
    Browse the repository at this point in the history
  3. StubViewTree: move assert to get better debug logging

    Summary:
    Move this assert so the debug logging executes first; in the case where this assert fires, we'll get a little more information (for Android, where attaching a Cxx debugger is a bit harder vs iOS).
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27585132
    
    fbshipit-source-id: e3f4cc3d78587744b9e73db685eda1fd6c36ca9d
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    c83562e View commit details
    Browse the repository at this point in the history
  4. Differ: improvements to logging

    Summary:
    First, I make the breadcrumbs mechanism (landed just this week) more readable - I forgot to add separators between the breadcrumbs.
    
    Second, there is a path that I am 99% sure we never hit. I've had comments to that effect for a ~year, but now I'm adding a falsey assert. If we don't hit it in prod after a few months I'll be more comfortable just deleting the branch entirely (while probably keeping the assert).
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27697786
    
    fbshipit-source-id: 6d74d1703b2212d069fbed510f2655ec17294458
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    5eba5c1 View commit details
    Browse the repository at this point in the history
  5. Copy Differ implementation to new file, feature-flag-gate new differ

    Summary:
    Changes in following diffs will be gated by this feature flag.
    
    The differ in the new file is copied from the current stable implementation and will not be modified until it's deleted.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC, mdvacca
    
    Differential Revision: D27775698
    
    fbshipit-source-id: 03d9518ffd2b1f25712386c56a38bd2b4d839fc2
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    39b8233 View commit details
    Browse the repository at this point in the history
  6. Differ: fix edge-case where we "REMOVE" an older version of a ShadowNode

    Summary:
    I am fixing an extremely marginal case that probably impacts nothing in production, but in theory, could - see next diff in stack for the assert that is being hit.
    
    TL;DR in marginal, complex cases with a lot of un/flattening, we can generate the following sequence of mutations:
    
    ```
    UPDATE node V1 -> V2
    REMOVE node V1
    ```
    
    That is incorrect, and what we actually want is:
    
    ```
    UPDATE node V1 -> V2
    REMOVE node V2
    ```
    
    While this, again, impacts /nothing/ in prod that we know of, it would be good to get this correct so that we can enable stricter asserts (see next diff).
    
    This will also help with debugging LayoutAnimations.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27697788
    
    fbshipit-source-id: 47f34fe3e8107167b3df4db841d2cc14c58cb31d
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    b9828a8 View commit details
    Browse the repository at this point in the history
  7. Differ: ensure ownership of all ShadowView/ShadowNode pairs, ensure c…

    …onsistency of nodes
    
    Summary:
    Previously, `ShadowViewNodePair::List` owned each `ShadowViewNodePair` but whenever we put `ShadowViewNodePair` into a TinyMap, those were unowned pointer references. This worked... 99% of the time. But in some marginal cases, it would cause dangling pointers, leading to difficult-to-track-down issues. So, I'm moving both of these to be unowned pointers and keeping a `std::deque` that owns all `ShadowViewNodePair`s and is itself owned by the main differ function. See comments for more implementation details. I'm moderately concerned about memory usage regressions, but practically speaking this will contain many items when a tree is created for the first time, and then very few items after that (space complexity should be similar to `O(n)` where `n` is the number of changed nodes after the last diff).
    
    See comments as to why I believe `std::deque` is the right choice. Long-term there might be data-structures that are even more optimal, but std::deque has the right tradeoffs compared to other built-in STL structures like std::list and std::vector, and is probably better than std::forward_list too. Long-term we may want a custom data-structure that fits our needs exactly, but std::deque comes close and is possibly optimal.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27730952
    
    fbshipit-source-id: 2194b535439bd309803a221188da5db75242005a
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    c22b874 View commit details
    Browse the repository at this point in the history
  8. Differ: ensure all ShadowViews generated by differ have correct Layou…

    …tMetrics
    
    Summary:
    While I think this was a very marginal bug with no known issues in the wild, incorrect layout values were sometimes being propagated to certain nodes. This would only occur during complex nested (un)flattening operations and may only impact node consistency, specifically with setting the "previous" ShadowView of mutation instructions, specifically REMOVE and DELETE. Even in rigorous testing I had trouble hitting this case and it didn't seem to impact the "next" values in CREATE, INSERT, or UPDATE.
    
    The issue: previously `sliceChildShadowNodeViewPairsV2` assumed that the node it's operating on is a child of a non-flattened view, and the baseline origin is `{0,0}`. You can see when `sliceChildShadowNodeViewPairsRecursivelyV2` is called, a `layoutOffset` is passed in. If we ever got a list of a node that was in a flattened parent by calling `sliceChildShadowNodeViewPairsV2`, we would incorrectly assume that baseline layoutOffset for the node is `0,0`.
    
    Now, we store the layoutOffset in the ShadowViewNodePair and can retrieve it when getting child pairs of a node.
    
    Changelog: [internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D27759380
    
    fbshipit-source-id: a89756190a1cb377bcc55ff31799c2afbaecdaa9
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    d1b1e8b View commit details
    Browse the repository at this point in the history
  9. Add mounting layer test that stress-tests differ on (un)flattening

    Summary:
    Add mounting layer test that stress-tests differ on (un)flattening.
    
    This fails before D27759380 and D27730952, and passes after.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27767219
    
    fbshipit-source-id: a7e186e510f95792da6f98f80fcae5ff8ac74775
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    dc80b2d View commit details
    Browse the repository at this point in the history
  10. Bootstrap unit tests for RuntimeScheduler module

    Summary:
    changelog: [internal]
    
    Create module for tests.
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27764408
    
    fbshipit-source-id: 22681c99d64666bb3a04e961ceeba470062abc51
    sammy-SC authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    eb49f95 View commit details
    Browse the repository at this point in the history
  11. Add unit tests for RuntimeScheduler::now

    Summary:
    changelog: [internal]
    
    Add unit tests for `RuntimeScheduler::now`
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27763852
    
    fbshipit-source-id: 1edec8e8338e9d9798b95c55d07114be05f555b8
    sammy-SC authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    e3a4de8 View commit details
    Browse the repository at this point in the history
  12. Add tests for RuntimeScheduler::scheduletTask and RuntimeScheduler::g…

    …etShouldYield
    
    Summary:
    Changelog: [internal]
    
    Add tests for `RuntimeScheduler::scheduleTask` and `RuntimeScheduler::getShouldYield`
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27764464
    
    fbshipit-source-id: 8f95dfd9ec1ddf9a0ee17d489961b19e4ceaa9de
    sammy-SC authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    4c1fd97 View commit details
    Browse the repository at this point in the history
  13. Add unit tests for RuntimeScheduler::cancelTask

    Summary:
    Changelog: [internal]
    
    Add unit tests for RuntimeScheduler::cancelTask
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27764482
    
    fbshipit-source-id: 3833e49dd49865be4126bc5c3eb95a40d04bba99
    sammy-SC authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    8f3ffcf View commit details
    Browse the repository at this point in the history
  14. Daily arc lint --take CLANGFORMAT

    Reviewed By: zertosh
    
    Differential Revision: D27789747
    
    fbshipit-source-id: ef4882e92d7755669083573c43ae6c5088bf01ab
    CodemodService FBSourceClangFormatLinterBot authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    e6dc371 View commit details
    Browse the repository at this point in the history
  15. StubViewTree: reenable asserts in Delete mutation path

    Summary:
    I had intended to make this change as part of the stack I landed earlier, but I had some poorly resolved merge conflicts that left this path disabled.
    
    I verified that T76057501 no longer repros and ran unit tests.
    
    Changelog: [Internal]
    
    Reviewed By: mdvacca
    
    Differential Revision: D27788467
    
    fbshipit-source-id: 42148b887c6b3c0e815f1805e6bfb3ee58503e48
    JoshuaGross authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    bd1d4e9 View commit details
    Browse the repository at this point in the history
  16. Clean up the initialization of instance variables in ScrollView

    Summary:
    This is a small cleanup to move initialization out of the `constructor` as it is unnecessary, and it is currently double initializing a few values.
    
    Changelog:
    [General][Changed] Clean up the initialization of instance variables in ScrollView
    
    Reviewed By: nadiia
    
    Differential Revision: D27631320
    
    fbshipit-source-id: 762277e4993a9ce86d444ff2d9e845c93e94d1a8
    kacieb authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    1747536 View commit details
    Browse the repository at this point in the history
  17. Create rn_codegen BUCK macro (facebook#31340)

    Summary:
    Pull Request resolved: facebook#31340
    
    Changelog: [Internal]
    
    Reviewed By: yungsters
    
    Differential Revision: D27669950
    
    fbshipit-source-id: 3129d87da8f74d896c0b9e82799b8896b3ed7635
    RSNara authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    e1eb938 View commit details
    Browse the repository at this point in the history
  18. Resolve "fatal: not a git repository" error outside of git repositories

    Summary:
    CocoaPods will display a "fatal: not a git repository" when these podspecs are consumed within Facebook's internal Mercurial repository due to the reliance on `git` to obtain the current commit hash.
    
    In these cases, the podspec is being consumed locally and the commit hash is unnecessary.
    
    The error is removed by avoiding the use of `git` if the current working directory is not a git repository (or any of the parent directories).
    
    Changelog:
    [Internal] [iOS] - Remove CocoaPods error within Facebook's repository
    
    Reviewed By: fkgozali
    
    Differential Revision: D27750974
    
    fbshipit-source-id: 99159611c580baf5526f116948c5ff60e1c02e5c
    hramos authored and facebook-github-bot committed Apr 15, 2021
    Configuration menu
    Copy the full SHA
    ae07c53 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2021

  1. Back out "Update React DevTools deps from 4.6 -> 4.12"

    Summary:
    Reverts D27764688 (facebook@5a2693d) due to a bug with "Invalid hook call." being erroneously reported. We will upgrade again after that bug is resolved.
    
    Changelog:
    [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D27813660
    
    fbshipit-source-id: 84a12f19cf1bb7e8aebef0da3ff6f7022c391d3e
    yungsters authored and facebook-github-bot committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    d46c87e View commit details
    Browse the repository at this point in the history
  2. Execute multiple tasks within single dispatch

    Summary:
    Changelog: [internal]
    
    This brings native scheduler close to React's scheduler. React's scheduler executes all tasks in the queue within a single dispatch (they use setTimeout(0) for dispatch) and makes sure to not schedule two dispatches.
    
    Relevant JS code:
    https://github.com/facebook/react/blob/master/packages/scheduler/src/forks/SchedulerNoDOM.js#L359
    
    Reviewed By: JoshuaGross
    
    Differential Revision: D27793200
    
    fbshipit-source-id: 4af13d95cfe4d33d0945f25929ccbea5f9ce5710
    sammy-SC authored and facebook-github-bot committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    318e9f2 View commit details
    Browse the repository at this point in the history
  3. Depend on fbjni directly instead of native/fb

    Summary:
    The Inspector uses fbjni/JThread.h on Android platforms to get a Java
    thread (with a class loader). Use a smaller scope dependency to bring
    in fewer things.
    
    Changelog: [Internal]
    
    Reviewed By: neildhar
    
    Differential Revision: D27799508
    
    fbshipit-source-id: 3e1e00cf65596d12c9128fe636ed970238f4aba2
    Riley Dulin authored and facebook-github-bot committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    9e21d54 View commit details
    Browse the repository at this point in the history
  4. Disable accessibilityState when TouchableWithoutFeedback is `disa…

    …bled` (facebook#31297)
    
    Summary:
    Disable `accessibilityState` when the `TouchableWithoutFeedback` is `disabled`. This fixes facebook#30953
    
    ## Changelog
    
    [General] [Changed] - Disable `accessibilityState` when the `TouchableWithoutFeedback` is `disabled`.
    
    Pull Request resolved: facebook#31297
    
    Test Plan: Tested the `TouchableWithoutFeedback` component on an Android device
    
    Reviewed By: nadiia
    
    Differential Revision: D27770689
    
    Pulled By: kacieb
    
    fbshipit-source-id: a317246021354ed288b093f8a5e6fbba43d3a04e
    carloscuesta authored and facebook-github-bot committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    6971640 View commit details
    Browse the repository at this point in the history
  5. Avoid encoding local path in Podfile.lock

    Summary:
    The `SPEC CHECKSUM` for `FBReactNativeSpec` in `packages/rn-tester/Podfile.lock` and in standalone apps's `ios/Podfile.lock` varies between development machines. This is caused by local paths in the output of `pod ipc spec FBReactNativeSpec.podspec`, such as `output_files` and `prepare_command`. This causes the Podfile.lock to constantly change when pod install is run on different developers' machines.
    
    The codegen script and CocoaPods configuration have been updated to use relative paths.
    
    Closes facebook#31193
    
    Changelog: [Internal] [Codegen] Avoid encoding local path in Podfile.lock
    
    Reviewed By: fkgozali
    
    Differential Revision: D27754337
    
    fbshipit-source-id: 2f5607d4e1ce21489f28f394cb852c36cace6798
    hramos authored and facebook-github-bot committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    bdfe2a5 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2021

  1. Remove defaultProps from KeyboardAvoidingView

    Summary:
    Changelog:
    [General][Removed] Remove defaultProps from KeyboardAvoidingView
    
    Reviewed By: lunaleaps
    
    Differential Revision: D27770146
    
    fbshipit-source-id: 61d56c50978cc67287d56349283959b9a32c9a0b
    kacieb authored and facebook-github-bot committed Apr 17, 2021
    Configuration menu
    Copy the full SHA
    2824b68 View commit details
    Browse the repository at this point in the history
  2. Allow inspector to compile in fbcode

    Summary:
    The fbcode version of Skylight needs this and it is already compiling fine
    
    Changelog: [Internal]
    
    Reviewed By: dulinriley
    
    Differential Revision: D27765879
    
    fbshipit-source-id: 18aca2756f39326fb90397a10a67583db84076fd
    Pedro Veras authored and facebook-github-bot committed Apr 17, 2021
    Configuration menu
    Copy the full SHA
    2052bb6 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2021

  1. Remove legacy context API usage

    Summary:
    Changelog:
    [General][Removed] - Remove legacy context API usage in AppContainer
    
    Reviewed By: kacieb
    
    Differential Revision: D27681097
    
    fbshipit-source-id: 7391be577955171ade5b8fd53cf274900f88e7ca
    Nadiia D authored and facebook-github-bot committed Apr 18, 2021
    Configuration menu
    Copy the full SHA
    17be3a0 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. iOS: introduced 2 levels of architecture enforcement

    Summary:
    To prepare for the new architecture, introduce the following enforcement:
    * Defining `RCT_NEW_ARCHITECTURE` in the build flag automatically enables violation reporting
      * At runtime, call RCTEnableNewArchitectureViolationReporting() to enable/disable reporting - it takes effect with the future violations
    * When violation reporting is enabled:
      * RCTWarnNotAllowedForNewArchitecture(): log warning about a violation, but doesn't assert
      * RCTEnforceNotAllowedForNewArchitecture(): assert when a violation happen
    
    Also in this commit:
    * Add warning when RCTRegisterModule() is called as a side effect of RCT_EXPORT_MODULE(). Many modules still need this, so we can't enforce it yet.
    * Add enforcement when the bridge is initialize, because the new architecture cannot have the bridge.
    
    Changelog: [Internal]
    
    Reviewed By: yungsters
    
    Differential Revision: D27847359
    
    fbshipit-source-id: a8c4a8151cec3915ec707ce6b78f860af4bb0708
    fkgozali authored and facebook-github-bot committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    1fc1873 View commit details
    Browse the repository at this point in the history
  2. Check existence of native methods before calling them in NativeEventE…

    …mitter
    
    Summary:
    Check the existence of `addListener` and `removeListeners` in the native module passed to `NativeEventEmitter` to determine if it can be used.
    
    Changelog: [General][Changed] Show warning when native module without `addListener` or `removeListeners` is passed to `NativeEventEmitter`
    
    Reviewed By: yungsters
    
    Differential Revision: D27851425
    
    fbshipit-source-id: c0ad3ba65a9239f5bf84548dab36e8dfbc51058a
    rubennorte authored and facebook-github-bot committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    114be1d View commit details
    Browse the repository at this point in the history
  3. bump gradle wrapper to 6.8.3 (facebook#31347)

    Summary:
    This is preparation for Gradle 7.0 version, which supports Apple Silicon natively.
    
    ## Changelog
    
    [Android] [Changed] - Bump gradle wrapper to 6.8.3
    
    Pull Request resolved: facebook#31347
    
    Reviewed By: mdvacca
    
    Differential Revision: D27864707
    
    Pulled By: yungsters
    
    fbshipit-source-id: 97246cb915d6fd4ad92962f6701c4d36bbde38b5
    dulmandakh authored and facebook-github-bot committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    7258afe View commit details
    Browse the repository at this point in the history
  4. Paasing flow

    NickGerleman committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    e4d0da4 View commit details
    Browse the repository at this point in the history
  5. Get UTs running

    NickGerleman committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    98fe5f7 View commit details
    Browse the repository at this point in the history
  6. Mostly passing UTs

    NickGerleman committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    b30b98d View commit details
    Browse the repository at this point in the history
  7. fix

    NickGerleman committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    b71f823 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. bump react-native-github's metro version to v0.66.0

    Summary:
    Updates the Metro packages used in RN to v0.66.0, excluding the Metro server, which isn't a direct dependency.
    
    Changelog:
    [Internal]
    
    Metro changelog:
    https://github.com/facebook/metro/releases/tag/v0.66.0
    
    Reviewed By: motiz88
    
    Differential Revision: D27879399
    
    fbshipit-source-id: e4014772d1fed2c93b32993fa2519f4e179a25a5
    GijsWeterings authored and facebook-github-bot committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    f1d1e23 View commit details
    Browse the repository at this point in the history
  2. React Native sync for revisions c9aab1c...f7cdc89

    Summary:
    This sync includes the following changes:
    - **[f7cdc8936](facebook/react@f7cdc8936 )**: Also turn off enableSyncDefaultUpdates in RN test renderer ([facebook#21293](facebook/react#21293)) //<Ricky>//
    - **[4c9eb2af1](facebook/react@4c9eb2af1 )**: Add dynamic flags to React Native ([facebook#21291](facebook/react#21291)) //<Ricky>//
    - **[9eddfbf5a](facebook/react@9eddfbf5a )**: [Fizz] Two More Fixes ([facebook#21288](facebook/react#21288)) //<Sebastian Markbåge>//
    - **[11b07597e](facebook/react@11b07597e )**: Fix classes ([facebook#21283](facebook/react#21283)) //<Sebastian Markbåge>//
    - **[96d00b9bb](facebook/react@96d00b9bb )**: [Fizz] Random Fixes ([facebook#21277](facebook/react#21277)) //<Sebastian Markbåge>//
    - **[81ef53953](facebook/react@81ef53953 )**: Always insert a dummy node with an ID into fallbacks ([facebook#21272](facebook/react#21272)) //<Sebastian Markbåge>//
    - **[a4a940d7a](facebook/react@a4a940d7a )**: [Fizz] Add unsupported Portal/Scope components ([facebook#21261](facebook/react#21261)) //<Sebastian Markbåge>//
    - **[f4d7a0f1e](facebook/react@f4d7a0f1e )**: Implement useOpaqueIdentifier ([facebook#21260](facebook/react#21260)) //<Sebastian Markbåge>//
    - **[dde875dfb](facebook/react@dde875dfb )**: [Fizz] Implement Hooks ([facebook#21257](facebook/react#21257)) //<Sebastian Markbåge>//
    - **[a597c2f5d](facebook/react@a597c2f5d )**: [Fizz] Fix reentrancy bug ([facebook#21270](facebook/react#21270)) //<Sebastian Markbåge>//
    - **[15e779d92](facebook/react@15e779d92 )**: Reconciler should inject its own version into DevTools hook ([facebook#21268](facebook/react#21268)) //<Brian Vaughn>//
    - **[4f76a28c9](facebook/react@4f76a28c9 )**: [Fizz] Implement New Context ([facebook#21255](facebook/react#21255)) //<Sebastian Markbåge>//
    - **[82ef450e0](facebook/react@82ef450e0 )**: remove obsolete SharedArrayBuffer ESLint config ([facebook#21259](facebook/react#21259)) //<Henry Q. Dineen>//
    - **[dbadfa2c3](facebook/react@dbadfa2c3 )**: [Fizz] Classes Follow Up ([facebook#21253](facebook/react#21253)) //<Sebastian Markbåge>//
    - **[686b635b7](facebook/react@686b635b7 )**: Prevent reading canonical property of null ([facebook#21242](facebook/react#21242)) //<Joshua Gross>//
    - **[bb88ce95a](facebook/react@bb88ce95a )**: Bugfix: Don't rely on `finishedLanes` for passive effects ([facebook#21233](facebook/react#21233)) //<Andrew Clark>//
    - **[343710c92](facebook/react@343710c92 )**: [Fizz] Fragments and Iterable support ([facebook#21228](facebook/react#21228)) //<Sebastian Markbåge>//
    - **[933880b45](facebook/react@933880b45 )**: Make time-slicing opt-in ([facebook#21072](facebook/react#21072)) //<Ricky>//
    - **[b0407b55f](facebook/react@b0407b55f )**: Support more empty types ([facebook#21225](facebook/react#21225)) //<Sebastian Markbåge>//
    - **[39713716a](facebook/react@39713716a )**: Merge isObject branches ([facebook#21226](facebook/react#21226)) //<Sebastian Markbåge>//
    - **[8a4a59c72](facebook/react@8a4a59c72 )**: Remove textarea special case from child fiber ([facebook#21222](facebook/react#21222)) //<Sebastian Markbåge>//
    - **[dc108b0f5](facebook/react@dc108b0f5 )**: Track which fibers scheduled the current render work ([facebook#15658](facebook/react#15658)) //<Brian Vaughn>//
    - **[6ea749170](facebook/react@6ea749170 )**: Fix typo in comment ([facebook#21214](facebook/react#21214)) //<inokawa>//
    - **[b38ac13f9](facebook/react@b38ac13f9 )**: DevTools: Add post-commit hook ([facebook#21183](facebook/react#21183)) //<Brian Vaughn>//
    - **[b943aeba8](facebook/react@b943aeba8 )**: Fix: Passive effect updates are never sync ([facebook#21215](facebook/react#21215)) //<Andrew Clark>//
    - **[d389c54d1](facebook/react@d389c54d1 )**: Offscreen: Use JS stack to track hidden/unhidden subtree state ([facebook#21211](facebook/react#21211)) //<Brian Vaughn>//
    - **[c486dc1a4](facebook/react@c486dc1a4 )**: Remove unnecessary processUpdateQueue ([facebook#21199](facebook/react#21199)) //<Sebastian Markbåge>//
    - **[cf45a623a](facebook/react@cf45a623a )**: [Fizz] Implement Classes ([facebook#21200](facebook/react#21200)) //<Sebastian Markbåge>//
    - **[75c616554](facebook/react@75c616554 )**: Include actual type of `Profiler#id` on type mismatch ([facebook#20306](facebook/react#20306)) //<Sebastian Silbermann>//
    - **[1214b302e](facebook/react@1214b302e )**: test: Fix "couldn't locate all inline snapshots" ([facebook#21205](facebook/react#21205)) //<Sebastian Silbermann>//
    - **[1a02d2792](facebook/react@1a02d2792 )**: style: delete unused isHost check ([facebook#21203](facebook/react#21203)) //<wangao>//
    - **[782f689ca](facebook/react@782f689ca )**: Don't double invoke getDerivedStateFromProps for module pattern ([facebook#21193](facebook/react#21193)) //<Sebastian Markbåge>//
    - **[e90c76a65](facebook/react@e90c76a65 )**: Revert "Offscreen: Use JS stack to track hidden/unhidden subtree state" ([facebook#21194](facebook/react#21194)) //<Brian Vaughn>//
    - **[1f8583de8](facebook/react@1f8583de8 )**: Offscreen: Use JS stack to track hidden/unhidden subtree state ([facebook#21192](facebook/react#21192)) //<Brian Vaughn>//
    - **[ad6e6ec7b](facebook/react@ad6e6ec7b )**: [Fizz] Prepare Recursive Loop for More Types ([facebook#21186](facebook/react#21186)) //<Sebastian Markbåge>//
    - **[172e89b4b](facebook/react@172e89b4b )**: Reland Remove redundant initial of isArray ([facebook#21188](facebook/react#21188)) //<Sebastian Markbåge>//
    - **[7c1ba2b57](facebook/react@7c1ba2b57 )**: Proposed new Suspense layout effect semantics ([facebook#21079](facebook/react#21079)) //<Brian Vaughn>//
    - **[316aa3686](facebook/react@316aa3686 )**: [Scheduler] Fix de-opt caused by out-of-bounds access ([facebook#21147](facebook/react#21147)) //<Andrey Marchenko>//
    - **[b4f119cdf](facebook/react@b4f119cdf )**: Revert "Remove redundant initial of isArray ([facebook#21163](facebook/react#21163))" //<Sebastian Markbage>//
    - **[c03197063](facebook/react@c03197063 )**: Revert "apply prettier ([facebook#21165](facebook/react#21165))" //<Sebastian Markbage>//
    - **[94fd1214d](facebook/react@94fd1214d )**: apply prettier ([facebook#21165](facebook/react#21165)) //<Behnam Mohammadi>//
    - **[b130a0f5c](facebook/react@b130a0f5c )**: Remove redundant initial of isArray ([facebook#21163](facebook/react#21163)) //<Behnam Mohammadi>//
    - **[2c9fef32d](facebook/react@2c9fef32d )**: Remove redundant initial of hasOwnProperty ([facebook#21134](facebook/react#21134)) //<Behnam Mohammadi>//
    - **[1cf9978d8](facebook/react@1cf9978d8 )**: Don't pass internals to callbacks ([facebook#21161](facebook/react#21161)) //<Sebastian Markbåge>//
    - **[b9e4c10e9](facebook/react@b9e4c10e9 )**: [Fizz] Implement all the DOM attributes and special cases ([facebook#21153](facebook/react#21153)) //<Sebastian Markbåge>//
    - **[f8ef4ff57](facebook/react@f8ef4ff57 )**: Flush discrete passive effects before paint ([facebook#21150](facebook/react#21150)) //<Andrew Clark>//
    - **[b48b38af6](facebook/react@b48b38af6 )**: Support nesting of startTransition and flushSync (alt) ([facebook#21149](facebook/react#21149)) //<Sebastian Markbåge>//
    
    Changelog:
    [General][Changed] - React Native sync for revisions c9aab1c...f7cdc89
    
    jest_e2e[run_all_tests]
    
    Reviewed By: rickhanlonii
    
    Differential Revision: D27740113
    
    fbshipit-source-id: 6e27204d78e3e16ed205170006cb97c0d6bfa957
    Andrei Shikov authored and facebook-github-bot committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    de318cd View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' of https://github.com/facebook/react-native int…

    …o kbd-friendly-virtualization
    NickGerleman committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    6fb5dc1 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2021

  1. Add unit tests for VirtualizedList render quirks

    This change adds a series of snapshot tests to validate the render output of VirtualizedList in mixed scenarios. Jest timer mocks are used to measure rendering at different ticks. These test cases mostly center around realization logic, to help prevent regressions when chaning internal state representation.
    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    a603aec View commit details
    Browse the repository at this point in the history
  2. Add "CellRenderMask" Region Tracking Structure

    A CellRenderMask helps track regions of cells/spacers to render. It's API allows adding ranges of cells, where its otput be an ordered list of contiguous spacer/non-spacer ranges.
    
    The implementation keeps this region list internally, splitting or merging regions when cells are added. This output will be used by the render function of a refactored VirtualizedList.
    
    Validated via UTs.
    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    f705feb View commit details
    Browse the repository at this point in the history
  3. wip

    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    3787035 View commit details
    Browse the repository at this point in the history
  4. Fix a couple of tests

    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    365d76f View commit details
    Browse the repository at this point in the history
  5. fixes

    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    716e64c View commit details
    Browse the repository at this point in the history
  6. fix

    NickGerleman committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    2eb42cd View commit details
    Browse the repository at this point in the history