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

Follow up for "add search input to mobile search page issue" #57191

Open
SzymczakJ opened this issue Feb 20, 2025 · 14 comments
Open

Follow up for "add search input to mobile search page issue" #57191

SzymczakJ opened this issue Feb 20, 2025 · 14 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2

Comments

@SzymczakJ
Copy link
Contributor

SzymczakJ commented Feb 20, 2025

This is group issue for all the follow-ups of add search input to mobile search page issue PR.
What needs to be done?

cc @luacmartins

Issue OwnerCurrent Issue Owner: @SzymczakJ
@luacmartins luacmartins self-assigned this Feb 20, 2025
@luacmartins luacmartins added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Feb 20, 2025
Copy link

melvin-bot bot commented Feb 20, 2025

Triggered auto assignment to @NicMendonca (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.

Copy link

melvin-bot bot commented Feb 24, 2025

@luacmartins, @NicMendonca, @ikevin127, @SzymczakJ Whoops! This issue is 2 days overdue. Let's get this updated quick!

@melvin-bot melvin-bot bot added the Overdue label Feb 24, 2025
@SzymczakJ
Copy link
Contributor Author

WIP, I started looking at the performance of Reports page.

@melvin-bot melvin-bot bot removed the Overdue label Feb 24, 2025
@dylanexpensify dylanexpensify moved this to Bugs and Follow Up Issues in [#whatsnext] #expense Feb 25, 2025
@SzymczakJ
Copy link
Contributor Author

Update: I'm testing out an option to replace SelectionList(from our Search/index.tsx component) with a FlashList. Writing a small POC to check. if it's even doable and what performance gains it might give us.

@SzymczakJ
Copy link
Contributor Author

I've done measurements with React Native dev tools profiler:
I've measured the total count of react commits that are caused by navigating for the first time to Reports page and I also summed the total render time(plus time spent on running useEffects and useLayoutEffects)
These are the results:
Old version: total commits ~35, total time: ~4000 ms
New version using flash list: total commits: ~23-24, total time ~1500ms
Selection list implements many functionalities(and a lot of them are not performant) that Reports page doesn't need and that's the main reason using Flash list helps so much.

I don't have all of the functionalities implemented yet(like selecting items with arrows), so the total time of the new approach will be higher, but I still think this will be tremendous upgrade in the Reports page performance. WDYT of this @luacmartins. Migrating this fully will take some time(probably the draft should be ready next week), so I need your green light to continue 😄

@luacmartins
Copy link
Contributor

That seems promising. Do you have a POC I can take a look at?

@SzymczakJ
Copy link
Contributor Author

Here's a small POC ⬆

@luacmartins
Copy link
Contributor

@SzymczakJ I just wanted to bring this other PR that's also aiming to improve the performance of Search

@melvin-bot melvin-bot bot added the Overdue label Mar 3, 2025
@SzymczakJ
Copy link
Contributor Author

Thanks for mentioning that. We're lucky and our PRs optimise other things, so both of them are valuable 😄. If you see any other performance fixes for Search, please let me know!
I'm also pretty close to having full functionality of SelectionList in my new FlashList.

@melvin-bot melvin-bot bot removed the Overdue label Mar 3, 2025
@luacmartins
Copy link
Contributor

Nice! Let's keep it up!

Copy link

melvin-bot bot commented Mar 6, 2025

@luacmartins @NicMendonca @ikevin127 @SzymczakJ this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Mar 6, 2025
@SzymczakJ
Copy link
Contributor Author

WIP: I didn't have time to look at this today, but I will work on it tomorrow.

@melvin-bot melvin-bot bot removed the Overdue label Mar 6, 2025
Copy link

melvin-bot bot commented Mar 10, 2025

@SzymczakJ Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@melvin-bot melvin-bot bot added the Overdue label Mar 10, 2025
@SzymczakJ
Copy link
Contributor Author

This is really close to being ready for review, I should be able to achieve this tomorrow.

@melvin-bot melvin-bot bot removed the Overdue label Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2
Projects
Status: Bugs and Follow Up Issues
Development

No branches or pull requests

4 participants