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

[$250] Search - App freezes after cache and cookie clean of chat filter #49282

Open
2 of 6 tasks
izarutskaya opened this issue Sep 16, 2024 · 60 comments
Open
2 of 6 tasks
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor

Comments

@izarutskaya
Copy link

izarutskaya commented Sep 16, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: v9.0.35-7
Reproducible in staging?: Y
Reproducible in production?: N
Found when validating PR : #49258
Email or phone of affected tester (no customers): applausetester+bp0916w@applause.expensifail.com
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team

Action Performed:

Precondition; logged in application.

  1. Go to Search page > Chats
  2. Click on Filters > Select some users for From field and save the search
  3. Go to Troubleshoot > Reset cache and restart

Expected Result:

App doesn't crash. App doesn'r freeze

Actual Result:

App is freezed

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6605499_1726494649775.filter_chat.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021835730592300773674
  • Upwork Job ID: 1835730592300773674
  • Last Price Increase: 2024-09-23
  • Automatic offers:
    • rayane-djouah | Reviewer | 104197919
@izarutskaya izarutskaya added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Sep 16, 2024
Copy link

melvin-bot bot commented Sep 16, 2024

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

@izarutskaya
Copy link
Author

We think this issue might be related to the #wave-control

@izarutskaya izarutskaya added the DeployBlockerCash This issue or pull request should block deployment label Sep 16, 2024
@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Sep 16, 2024
Copy link

melvin-bot bot commented Sep 16, 2024

Triggered auto assignment to @tylerkaraszewski (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@Christinadobrzyn
Copy link
Contributor

Asking everyone in this PR to take a peek - #49258

@DylanDylann
Copy link
Contributor

I can't reproduce this issue on the latest main

Screen.Recording.2024-09-17.at.00.17.28.mov

@mountiny mountiny added External Added to denote the issue can be worked on by a contributor Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 labels Sep 16, 2024
Copy link

melvin-bot bot commented Sep 16, 2024

Job added to Upwork: https://www.upwork.com/jobs/~021835730592300773674

@melvin-bot melvin-bot bot changed the title Search - App freezes after cache and cookie clean of chat filter [$250] Search - App freezes after cache and cookie clean of chat filter Sep 16, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 16, 2024
Copy link

melvin-bot bot commented Sep 16, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rayane-djouah (External)

@mountiny
Copy link
Contributor

I cannot reproduce in staging, it is testing feature

@mountiny
Copy link
Contributor

Screen.Recording.2024-09-16.at.19.28.08.mp4

@mvtglobally
Copy link

Multiple testers were able to reproduce this one. Let me check now again.
https://github.com/user-attachments/assets/0cf790f7-c925-4d9e-96d6-0cb3e74793d3

@grgia
Copy link
Contributor

grgia commented Sep 16, 2024

I can reproduce it on staging https://expensify.slack.com/archives/C01GTK53T8Q/p1726505749566979 but I agree let's not block deploy on this

@Christinadobrzyn
Copy link
Contributor

Ah thank you for the update @Guccio163! Please let us know if there's anything we can do to help!

@melvin-bot melvin-bot bot added the Overdue label Oct 7, 2024
@rayane-djouah
Copy link
Contributor

I'm not able to reproduce the bug. @izarutskaya Could you please retest this?

@melvin-bot melvin-bot bot removed the Overdue label Oct 7, 2024
@Christinadobrzyn
Copy link
Contributor

@Guccio163
Copy link
Contributor

Hi, I reached out to couple of colleagues from SWM to try and reproduce the bug, but no-one could. Nevertheless I see a big issue with Clear cache and restart button - It works non-deterministically sometimes right and sometimes so wrong it requires multiple cookie clean and manual refresh. I'm waiting for @izarutskaya's results though, we should decide what to do with this issue then 🔜

@kavimuru
Copy link

kavimuru commented Oct 8, 2024

Able to reproduce freeze. Also user need user need to clean cache multiple times #49282 (comment) is true.

app.freeze.mp4

@Christinadobrzyn
Copy link
Contributor

Thanks @kavimuru - @Guccio163 will you please let us know if you need anything else to continue investigating/testing?

@Guccio163
Copy link
Contributor

Guccio163 commented Oct 10, 2024

Hi @Christinadobrzyn, is there a specified number of refreshes needed for it to break? So far I got up to ~20 and I still cannot reproduce this one.

Also: @kavimuru have you tested if selecting a From filter is necessary in this case? It seems like the main case is refreshing since you have to fire it couple of times to work? Than we could shorten the reproductions steps simply to refreshing cache.

cannot_reproduce_720.mov

@Christinadobrzyn
Copy link
Contributor

@kavimuru
Copy link

@Guccio163 @Christinadobrzyn App freezes for me right after " Reset cache and restart" @

Recording.2048.mp4

Copy link

melvin-bot bot commented Oct 14, 2024

@tylerkaraszewski @Christinadobrzyn @rayane-djouah @Guccio163 this issue is now 4 weeks old, please consider:

  • Finding a contributor to fix the bug
  • Closing the issue if BZ has been unable to add the issue to a VIP or Wave project
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

@melvin-bot melvin-bot bot added the Overdue label Oct 14, 2024
@tylerkaraszewski
Copy link
Contributor

People are working on it melvin.

@Christinadobrzyn
Copy link
Contributor

Christinadobrzyn commented Oct 15, 2024

@Guccio163 Feel free to let us know how we can help with testing this #49282 (comment) - TY!

@melvin-bot melvin-bot bot removed the Overdue label Oct 15, 2024
@Guccio163
Copy link
Contributor

Hi @kavimuru, could you please attach some technical specification of the device you're reproducing on? I've noticed that's MacBook/iMac, but I'm working on one too, so maybe it's the specification differences.

@rayane-djouah
Copy link
Contributor

@Guccio163 - I was able to reproduce the bug. To do so, we need to resize the window to a size smaller than the screen size.

Untitled.mov

Console Logs: dev.new.expensify.com-1728983762370.log

@Guccio163
Copy link
Contributor

Thanks for the insight @rayane-djouah, I'll try this one in a moment! 🫶

@Guccio163
Copy link
Contributor

Guccio163 commented Oct 17, 2024

Hi @Christinadobrzyn, I'm coming with my conclusions on this issue: There's a list of tests I performed here to try and reproduce the bug:

Reported bug behaviour:
App freezes and doesn't respond

  • Tried to follow reproduction steps - the bug didn't happen
  • Tried to spot the bug right after the cache clear as per this comment - the bug didn't happen
  • Tried refreshing multiple times as per this comment - the bug didn't happen
  • Tried reproducing on a smaller window as per this comment (visible below) - the bug didn't happen

Current observed behaviour (One of two, non-deterministic) :

  1. User's details and inbox loading infinitely
  2. All informations loaded right after refresh

Moreover I'm pretty much sure that this bug isn't connected to Search at all; To illustrate the non-deterministic nature of this bug, below are recordings of app behaviour with and without the search-related steps:

  1. With selecting search filters
  2. Without selecting filters (just clearing cache)

Please notice that no matter with or without filters, app behaves the same in one of 2 defined behaviours above:

Staging: filters then cache clear - loading loop
sacu_staging_480.mov
Staging: filters then cache clear - loading normally
sacl_staging_480.mov
Staging: Just cache clear - loading loop
cu_staging_480.mov
Staging: Just cache clear - loading normally
cl_staging_720.mov

Also, all these results are possible to spot in Local environment too:

Local: filters then cache clear - loading loop
search_and_clear_unfinished_480.mov
Local: filters then cache clear - loading normally
search_and_clear_load_480.mov
Local: Just cache clear - loading loop
clear_unfinished_480.mov
Local: Just cache clear - loading normally
clear_load_480.mov

As a final addition, exactly the same infinite loading happens (non-deterministic) right after logging in:

Staging: Right after logging in - loading loop
after_logging_unfinished_480.mov

In my opinion incorrect behaviour isn't linked to Search and is purely matter of "Clear cache and restart" button; Maybe the contributor that added this feature or someone with bigger Onyx knowledge could take this and dive into the button's functionality?

@Christinadobrzyn
Copy link
Contributor

Hi @Guccio163! Thank you so much for the thorough review. It sounds like we need to find an Onyx person to investigate more. I think @kidroca does Onyx stuff but I don't know if it relates to this kind of job.

@tylerkaraszewski or @rayane-djouah do you know who else we might be able to reach out to about this?

@rayane-djouah
Copy link
Contributor

@tylerkaraszewski or @rayane-djouah do you know who else we might be able to reach out to about this?

@Christinadobrzyn, the feature was worked on by @TMisiukiewicz in this PR: #35306

@Christinadobrzyn
Copy link
Contributor

Awesome, thanks @rayane-djouah! I reached out to the Callstack team to see if they might have someone with Onyx experience to help! https://expensify.slack.com/archives/C03UK30EA1Z/p1729654603736149

@TMisiukiewicz
Copy link
Contributor

Hey, I'll take a look on this later this week 👍

@Christinadobrzyn
Copy link
Contributor

Awesome! Thank you @TMisiukiewicz!

@TMisiukiewicz
Copy link
Contributor

TMisiukiewicz commented Oct 25, 2024

Started investigating it, I couldn't reporoduce it based on the steps provided in the issue. However, the browser tab hang to me once when I did clear a couple of times, it felt like each next clear is slowing down the app, however I haven't done any measurements yet. I'll continue looking into that on Monday

@melvin-bot melvin-bot bot added the Overdue label Oct 28, 2024
@TMisiukiewicz
Copy link
Contributor

I was able to reproduce it with 6x CPU throttling enabled in devtools. However, it was impossible to record a profiling trace because the devtools freezes together with the app 😞 One thing I noticed is the fact that my app hangs every time after merge being called on personalDetailsList with more than 8k reports. @izarutskaya mind trying it out on your own? Please open a Chrome devtools and go to Console tab, enable All levels for logs and try to reproduce the bug. What is the last log before it freezes? Is it any kind of Onyx action with a large payload?

@melvin-bot melvin-bot bot removed the Overdue label Oct 28, 2024
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 Engineering External Added to denote the issue can be worked on by a contributor
Projects
Status: Release 3: Fall 2024 (Nov)
Development

No branches or pull requests