-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2025-01-18] [$250] Search - Workspace chat preview, flickers between last message and information message #53361
Comments
Triggered auto assignment to @isabelastisser ( |
Triggered auto assignment to @Beamanator ( |
💬 A slack conversation has been started in #expensify-open-source |
👋 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:
|
This is a minor ux issue, feels like the state is changing between optimistic offline and the response from the server Demoted |
cc @luacmartins @lakchote you might know the best about changes related to this area of code |
Job added to Upwork: https://www.upwork.com/jobs/~021863580183549143544 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rojiphil ( |
Demoting makes sense to me 👍 making this external since the flicker sounds like a UI-only bug |
ProposalPlease re-state the problem that we are trying to solve in this issue.Workspace chat subtitle text flickers when typing on search modal. What is the root cause of that problem?The flicker changes between the last message and the workspace name. When we get the option list subtitle, we mutate the original report object. App/src/libs/OptionsListUtils.ts Line 1196 in 892cef1
This report object comes from App/src/libs/OptionsListUtils.ts Lines 435 to 437 in 892cef1
This happens after #53293 which adds the What changes do you think we should make in order to solve the problem?We can probably revert #53293, but I think we should avoid mutating the original object in the first place. To do that, we need to convert this into a const first. App/src/libs/OptionsListUtils.ts Line 1196 in 892cef1
And instead of using the reportOption, we need to clone the object first. App/src/libs/OptionsListUtils.ts Lines 1244 to 1248 in 892cef1
We can do the same for this: App/src/libs/OptionsListUtils.ts Lines 1238 to 1239 in 892cef1
App/src/libs/OptionsListUtils.ts Line 1261 in 892cef1
But I think the reason we mutate it so we don't affect the performance from the cloning operation. If we don't want to do the cloning, we can do the hard way, that is by changing the item structure to be like this:
There will be a lot of reactors and it actually looks similar to this. App/src/libs/OptionsListUtils.ts Lines 49 to 51 in 892cef1
|
I think these mutations are very prone to introducing hard to find bugs so they should be removed.
I'm pretty sure we can avoid performance issues without introducing mutations. How many options are we processing here?
Yes, lets just avoid cloning the same object each time a key is changed :P |
I agree that we should remove the mutations.
This function is used by the LHN as well, so we are processing the full LHN results for users. Not sure how large that data set is though. |
This is not an acceptable behavior to have a flickering UI (bug starts happening at We need to address this. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Ok. I will check this today and update. |
@bernhardoj Ok. So, we do not need to revert #53293 as the changes are needed to function properly. Also, we are not able to reproduce the flicker anymore. But I do agree that there is a possibility of mutation causing an issue at some point when there are multiple re-renders. And I also agree that we can avoid the mutation issue by creating a copy of @bernhardoj proposal LGTM. |
Current assignee @Beamanator is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
📣 @rojiphil 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
Love where we got with this issue 👍 Though I def believe we need to update the issue title & OP reproduction steps... So it sounds like the new problem is here: #53361 (comment) Can y'all confirm & let me know what reproduction steps y'all are following so I can update the OP? |
Here are the steps:
NOTE: For user's own workspace chat, the workspace name is shown, so this issue only happens with member workspace chat |
PR is ready cc: @rojiphil |
Issue not reproducible during KI retests. (First week) |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.83-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-01-18. 🎊 For reference, here are some details about the assignees on this issue:
|
@rojiphil @isabelastisser @rojiphil 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] |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 9.0.69-1
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
Issue reported by: Applause Internal Team
Action Performed:
Expected Result:
The preview of the individual chat created for an invited workspace member, should keep displaying the last sent message when writing on the search input.
Actual Result:
Chat preview of individual chat created for an invited workspace member, flickers between the last sent message and the workspace information message with every letter added on the search input.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6681273_1733068550003.WS_Member_chat.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @isabelastisserThe text was updated successfully, but these errors were encountered: