Skip to content

[Due for payment 2026-04-28] [$1000] Migrate the main chat list to FlashList #33725

Closed
1 of 1 issue completed

Description

@roryabraham

HOLD on:

  • Comment linking to be 100% complete
  • The new architecture to be enabled (this is not a hard requirement but I have a hunch that this should wait on that too)

Problem

The main chat list is one of the most, if not the most important component in our app. If you scroll far or fast on this list, you may see frames drop. Furthermore, there are some known performance issues with this list (example). We have already migrated almost every other virtualized list in our app from FlatList to FlashList, because its performance is much better.

Solution

Let's build support for bidirectional pagination in FlashList, then enable it on the main chat list in E/App.

Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. self-assigned this
    on Dec 28, 2023
  2. melvin-bot commented on Dec 28, 2023

    @melvin-bot
  3. roryabraham commented on Dec 28, 2023

    @roryabraham
    ContributorAuthor

    I expect this to be on HOLD until sometime in February, if not later, so I'm moving this back to monthly

  4. roryabraham commented on Dec 28, 2023

    @roryabraham
    ContributorAuthor

    cc @muttmuure adding this to the New Expensify performance improvements project. I acknowledge that the problem statement is a bit of a reverse-solution but I think it's a good bet that this will provide substantial performance improvements, as FlashList is just much better for performance than FlatList. We've established that elsewhere where we've migrated to FlashList

  5. roryabraham commented on Jan 17, 2024

    @roryabraham
    ContributorAuthor

    Still on HOLD

  6. 300 remaining items

  7. melvin-bot commented on Apr 28, 2026

    @melvin-bot

    Payment Summary

    Upwork Job

    BugZero Checklist (@mallenexpensify)

    • (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
  8. shubham1206agra commented on Apr 29, 2026

    @shubham1206agra
    Contributor

    Waiting for @mallenexpensify

  9. mallenexpensify commented on Apr 29, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor+: @shubham1206agra due $1000 via NewDot
    Contributor+: @situchan due $500 via NewDot.

    @mountiny what's @situchan due? they didn't review the same PRs as @shubham1206agra (and there's 300+ comments on this issue). Thx

  10. situchan commented on Apr 29, 2026

    @situchan
    Contributor
  11. JmillsExpensify commented on May 1, 2026

    @JmillsExpensify
    Contributor

    $1,000 approved for @shubham1206agra

  12. melvin-bot commented on May 4, 2026

    @melvin-bot

    @mallenexpensify Eep! 4 days overdue now. Issues have feelings too...

  13. mountiny commented on May 5, 2026

    @mountiny
    Contributor

    $500 to @situchan as well @mallenexpensify

  14. mallenexpensify commented on May 5, 2026

    @mallenexpensify
    Contributor

    Thanks @mountiny . @situchan paid, summary updated above.

  15. laurenreidexpensify commented on May 11, 2026

    @laurenreidexpensify
    Contributor

    $500 approved for @situchan

  16. VickyStash commented on May 28, 2026

    @VickyStash
    Contributor

    As a follow up I've started to turn patches we have created into FlashList PRs:
    Shopify/flash-list#2096
    Shopify/flash-list#2300
    I'm going to raise small PR to reference correct links instead of just TBD:
    ex:

    - Upstream PR/issue: TBD

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 productionDailyKSv2NewFeatureSomething to build that is a new item.

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions