Skip to content

[Due for payment 2025-12-16] [Due for payment 2025-09-26] [$250] [Tracking] Use react-native-reanimated in the ModalComponent #64775

Closed

Description

@mountiny

Coming from this proposal

Proposal

Rewrite ModalComponent internals to fully use react-native-reanimated library to improve modals' animation quality and smoothness.

Background

This proposal is following up on this issue. In the OG issue an analysis of BOTTOM_DOCKED_MODAL based components have been done, looking for an improvement in terms of animation smoothness. Based on that research a decision was made to replace react-native-modal lib with a custom modal with animations using react-native-reanimated.

Problem

Some modal animations still feel choppy, especially when the interaction happens on "heavy" screens. It causes performance degradation and high CPU load (see attached performance test).
From the developer perspective having couple different modal implementations is not ideal as well.

Solution

Continue rewriting modals by type to use custom modals using react-native-reanimated. Tests, metrics & video available in

Current state

Modals still to refactor:

List of usages in the next message for better clarity.

Issue OwnerCurrent Issue Owner: @sonialiap / @flaviadefaria
Issue OwnerCurrent Issue Owner: @sonialiap

Activity

  1. added
    PlanningChanges still in the thought process
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jun 23, 2025
  2. melvin-bot commented on Jun 23, 2025

    @melvin-bot

    Triggered auto assignment to @flaviadefaria (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. added and removed on Jun 24, 2025
  4. jmusial commented on Jun 25, 2025

    @jmusial
    Contributor

    hey @mountiny, should @ZhenjaHorbach be C+ on those if willing ? He already has good context on modals ?

  5. ZhenjaHorbach commented on Jun 25, 2025

    @ZhenjaHorbach
    Contributor

    I don't mind 😀

  6. added
    ReviewingHas a PR in review
    and removed on Jun 26, 2025
  7. 107 remaining items

  8. melvin-bot commented on Sep 26, 2025

    @melvin-bot

    Payment Summary

    Upwork Job

    • Contributor: @jmusial is from an agency-contributor and not due payment
    • Reviewer: @ZhenjaHorbach owed $250 via NewDot

    BugZero Checklist (@sonialiap)

    • (if NewFeature) I have created a PR for any necessary HelpDot updates, or I confirmed no updates are necessary.
    • I have verified the correct assignees and roles are listed above and updated the necessary manual offers
    • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants//hired)
    • I have verified the PR was not reverted
    • I have applied any discounts due to bugs/regressions introduced by this PR
    • I have paid out the Upwork contracts or cancelled the ones that are incorrect
    • I have verified the payment summary above is correct
  9. sonialiap commented on Sep 29, 2025

    @sonialiap
    Contributor

    Payment summary:

  10. moved this from AWAITING DEPLOYMENT to Done in [#whatsnext] #qualityon Sep 29, 2025
  11. ZhenjaHorbach commented on Sep 29, 2025

    @ZhenjaHorbach
    Contributor

    Requested in ND!

  12. flaviadefaria commented on Oct 2, 2025

    @flaviadefaria
    Contributor

    $250 approved for @ZhenjaHorbach

  13. changed the title [-][Due for payment 2025-09-26] [$250] [Tracking] Use react-native-reanimated in the ModalComponent[/-] [+][Due for payment 2025-12-16] [Due for payment 2025-09-26] [$250] [Tracking] Use react-native-reanimated in the ModalComponent[/+] on Dec 9, 2025
  14. melvin-bot commented on Dec 9, 2025

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.2.73-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2025-12-16. 🎊

    For reference, here are some details about the assignees on this issue:

    • @jmusial does not require payment (Contractor)
    • @ZhenjaHorbach requires payment through NewDot Manual Requests
  15. melvin-bot commented on Dec 9, 2025

    @melvin-bot

    @ZhenjaHorbach @sonialiap The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.PlanningChanges still in the thought processWeeklyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions