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

feat: Release [email protected] #6459

Closed
wants to merge 7 commits into from
Closed

feat: Release [email protected] #6459

wants to merge 7 commits into from

Commits on Aug 28, 2024

  1. Change requestAnimationFrame flush condition (#6442)

    ## Summary
    Currently we schedule`rAF` flush when the first callback is added to the
    list. However the flush method can also be called by an event, meaning
    that sometimes we have a flush scheduled to run on a given frame, but
    the callbacks array is empty. If then, another callback is requested,
    the array will contain 1 element, triggering another flush request (even
    though one is already scheduled). To prevent this, from causing
    countless requests on a singe frame we check the frame timestamp and
    abort if it's repeated.
    
    This approach unfortunately causes some problems when video is playing
    in the app. On iPhone devices sometimes the displayLink can fire its
    callback twice in a single frame (with the same timestamp). This leads
    to us cancelling the `rAF` flush, which means that until an event
    triggers a flush, none updates from reanimated will come through.
    
    This PR changes the way we request a flush. Instead of checking the
    callbacks array size, we instead remember whether a flush was requested
    and request a new one only when there was no request. This prevents us
    from requesting unnecessary flushes when an event has caused the
    callbacks array to be emptied, while also allowing for repeated frame
    timestamps.
    
    closes #6371 
    
    ## Test plan
    
    Check for regressions in the example app and in this example:
    https://gist.github.com/kmagiera/b2df85f9512951f5e6ceee7bc569f5f1
    bartlomiejbloniarz authored and tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    eaf40d5 View commit details
    Browse the repository at this point in the history
  2. cherry-pick eaae44c

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    7ab57d9 View commit details
    Browse the repository at this point in the history
  3. chore: update verions

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    3317c3b View commit details
    Browse the repository at this point in the history
  4. chore: cherry-pick 2436d3a

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    b9b1d4b View commit details
    Browse the repository at this point in the history
  5. chore: cherry-pick 9d9ada4

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    cd29828 View commit details
    Browse the repository at this point in the history
  6. chore: cherry-pick 250e39b

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    7594b27 View commit details
    Browse the repository at this point in the history
  7. chore: cherry-pick 275d649

    tjzel committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    2598ccb View commit details
    Browse the repository at this point in the history