This diff is just one step in the process of converting ChatThreadList into a functional component. When this work is done, we will be able to avoid a lot of re-rendering and hopefully improve performance quite a bit.
Depends on D9164
Differential D9166
[native] Lift `renderSearch` to `ConnectedChatThreadList` atul on Sep 12 2023, 3:06 PM. Authored by Tags None Referenced Files
Subscribers
Details This diff is just one step in the process of converting ChatThreadList into a functional component. When this work is done, we will be able to avoid a lot of re-rendering and hopefully improve performance quite a bit. NOTE: There's a lot that can be refactored/improved/optimized. This is just to make progress on converting class component to functional component.
Depends on D9164 ChatThreadList + search experience continue to work as expected.
Diff Detail
Event TimelineComment Actions Also as I side note, I wonder if upgrading our animation code here to renanimated 2 or 3 api would improve performance. I know that renanimated 2-3 was built with functional components first in mind and IIRC the newer apis have a bunch of hooks to create animations in a more performant way cc @ashoat Comment Actions I agree that it would be good to migrate away from the Reanimated 1 API... given it's deprecated in Reanimated 3, we'll eventually need to migrate there anyways. Looking at animateTowards though, it seems fairly complicated... I don't think it makes sense to block @atul's work here on transforming that to the new Reanimated API. We'll probably need to have the Reanimated conversion be a monthly goal for someone... Comment Actions I know GPT is good at "translating" code from one language to another. It might be helpful for "translating" from Reanimated 1 -> 3? Obviously someone who understands Reanimated well would need to take a careful look to make sure things are correct, but might be a helpful tool that could speed things up. Comment Actions
That makes sense. I created this linear task to track this migration project https://linear.app/comm/issue/ENG-4929/migrate-reanimated-1-api-to-reanimated-2-api Comment Actions Another example w/ doubleTapUpdate: |