[C-1984] Don't use nativeDriver for slider and tracking bar anims#2807
Conversation
| // Can't use native driver because this animation is potentially hours long, | ||
| // and would have to be serialized into an array to be passed to the native layer. | ||
| // The array exceeds the number of properties allowed in hermes | ||
| useNativeDriver: false |
There was a problem hiding this comment.
damn this is WILD. maybe we can do something based on track length? regardless. holy hell great work.
There was a problem hiding this comment.
Maybe but I think serializing even a 3 minute animation is potentially expensive. I wonder if reanimated would have the same problem
dylanjeffers
left a comment
There was a problem hiding this comment.
Wow awesome find here! It does indeed make sense why native would matter here, good stuff
dylanjeffers
left a comment
There was a problem hiding this comment.
Would we also want to update the the useNativeDriver in the slider? Seems like we wouldn't want to send that massive data over as well?
Yeah I did both, or did I miss another case of this somewhere? |
[3cbe169] [C-2070] show unsave drawer on all unfavorite buttons (#2823) Andrew Mendelsohn [7de990a] [C-2040] Improve duration counter accuracy/performance (#2816) Dylan Jeffers [e975303] [C-2065] Only show collection download switch if favorited (#2821) Sebastian Klingler [8b02196] [C-2031] Fix confirmation drawer flashes (#2817) Dylan Jeffers [6d9df4a] [C-2067] Add 'play-count' queue (#2814) Andrew Mendelsohn [960de2c] Don't download on save if all favorites toggle off (#2815) Andrew Mendelsohn [5310d81] Fix onPressRail animation error (#2813) Dylan Jeffers [921e5eb] [C-2090] Reduce file reads on play (#2812) Sebastian Klingler [a77f53c] Remove clear offline downloads button (#2811) Dylan Jeffers [a2815e6] [C-2038] Fix unresponsive reactions (#2808) Dylan Jeffers [a18afa2] [C-2058] prevent restart loop (#2810) Sebastian Klingler [3478660] [C-1984] Don't use nativeDriver for slider and tracking bar anims (#2807) Sebastian Klingler [3868712] [C-2083] Add offline sync to queue (#2803) Dylan Jeffers [afac00a] [C-2080] Update value change logic for download toggles for favorites and collection switches (#2805) Kyle Shanks [fb32d69] Fix audio tx modal where metadata is null (#2793) Reed [62108a3] Update sdk to v1.0.45 (#2806) Reed [d52491f] [C-2039] Fix search query persist (#2804) Dylan Jeffers [aee4d8e] [C-2056] Fix lineup scrolling (#2802) Sebastian Klingler [e776860] [C-2072] Add stale collection logic (#2801) Kyle Shanks [a701c8d] [C-1975] Fix safari stream mp3 (#2800) Raymond Jacobson [7e83831] Update challenges copy (#2799) Reed [092bab6] Add script to help with linking sdk (#2798) Raymond Jacobson [6b4f7a1] [PAY-898] Design fixes for NavMenuPopup (#2787) Marcus Pasell [11f57c2] Remove identity artist pick path (#2781) Michelle Brier [a9a135a] [C-2068] Add downloadQueue worker cancellation (#2797) Dylan Jeffers [316b91f] Decode artist pick IDs and fix artist pick reads from discovery (#2795) Michelle Brier [1dcc33a] [C-2079] Fix mobile sign up analytics (#2791) Sebastian Klingler [e2b95ac] Add redownload logic for rehydration and stale tracks (#2790) Kyle Shanks [c4080b4] [C-2066] Refactor offline-mode to use redux-persist (#2788) Dylan Jeffers [4bf7c22] [PAY-891] Handle remix and availability settings on mobile (#2765) Saliou Diallo [6f4dc13] Fix TikTok association (#2786) Sebastian Klingler [ccee882] [C-2011] move whole tracks out of offline slice (#2784) Andrew Mendelsohn [fa9ef86] Default offline mode off (#2785) Andrew Mendelsohn [0d4692e] C-2041 Fix collection lineup not loading when library is only partially downloaded (#2782) nicoback2 [1159bb7] Fix remix (#2783) Saliou Diallo [c2be8e4] Improve styling of TrackList on Favorites Screen (#2778) Sebastian Klingler [dc17f41] Fix download progress numerator going down in the middle of downloading C-2037 (#2777) nicoback2
Description
Both were crashing but only the error for tracking bar was logged because the app crashed afterwards
The serialized animations for an hour long track have over 300k properties and hermes has an upper bound
https://reactnative.dev/docs/animations#using-the-native-driver
Dragons
Slightly less performant, but I checked and there was not a significant difference in cpu usage or app responsiveness
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide repro instructions & any configuration.
How will this change be monitored?
For features that are critical or could fail silently please describe the monitoring/alerting being added.
Feature Flags
Are all new features properly feature flagged? Describe added feature flags.