-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[Due for payment 2025-04-17] [$500][HIGH] Navigating to a thread from the Search page doesn’t take you to the chat #58255
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
Comments
Triggered auto assignment to @NicMendonca ( |
🚨 Edited by proposal-police: This proposal was edited at 2025-03-12 01:12:20 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
executes without verifying whether the click originates from the report RHP. As a result, calling:
triggers the navigation logic in: App/src/libs/Navigation/Navigation.ts Line 301 in de07682
which only performs a pop action. Since this does not append reportActionID to the parameters, it results in navigating to the most recent message in the channel containing the thread instead of the specific message that was clicked.
What changes do you think we should make in order to solve the problem?
const isVisibleAction = shouldReportActionBeVisible(ancestor.reportAction, ancestor.reportAction.reportActionID, canUserPerformWriteAction);
if (isInNarrowPaneModal) {
Navigation.navigate(ROUTES.SEARCH_REPORT.getRoute({reportID: ancestor.report.reportID, reportActionID: ancestor.reportAction.reportActionID}));
return;
} What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
What alternative solutions did you explore? (Optional)
App/src/pages/home/report/ReportActionItemParentAction.tsx Lines 133 to 137 in de07682
if (isVisibleAction && !isOffline) {
// Pop the chat report screen before navigating to the linked report action.
Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(ancestor.report.reportID, ancestor.reportAction.reportActionID));
} else {
Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(ancestor.report.reportID));
} |
Job added to Upwork: https://www.upwork.com/jobs/~021900185525361353185 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak ( |
@eVoloshchak 👀 on the proposal above. |
Upwork job price has been updated to $500 |
Bumping to $500 cuz it's HIGH and has |
@thelullabyy, thank you for the proposal!
We aren't passing The proposal doesn't resolve the issue for me, could you please double-check this on your end? |
Screen.Recording.2025-03-14.at.07.56.40.mov
Inside Navigation.goBack, it calls: App/src/libs/Navigation/Navigation.ts Line 301 in de07682
It is only a pop action, and no reportActionID parameter is passed along with that action. |
Aha, I see what the problem is. We have separate logic for when you click on a thread message vs when you click on a 'Thread' text (top of the thread chat) Your proposal does highlight the correct thread, but only for the first case (clicking on the thread message itself). But even then it doesn't scroll the chat to the highlighted message Screen.Recording.2025-03-14.at.14.27.28.mov |
@eVoloshchak Thanks, you are correct, my original solution does not scroll to the linked message position. I just updated my main solution, and here is the result, it works well: Screen.Recording.2025-03-14.at.21.53.13.mov |
@eVoloshchak 👀 on @thelullabyy 's comment above and updated proposal. Thx |
@thelullabyy's updated proposal looks good to me! 🎀👀🎀 C+ reviewed! |
Triggered auto assignment to @Beamanator, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @thelullabyy 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@mallenexpensify, @Beamanator, should there be any difference in behavior between clicking on a thread message ![]() and clicking on a thread title/icon? ![]() We have two separate handlers for that right now, but they're the same (both have this issue). I suspect there is no need for this and behavior should be the same? |
This would be my guess but I'm uncertain. @Beamanator ? |
Yeah I'm seeing the same result for both, so it makes sense for only 1 handler... Is there any code diff in each handler? |
App/src/pages/home/report/ReportActionItemParentAction.tsx Lines 135 to 141 in cf0a826
App/src/pages/home/report/ThreadDivider.tsx Lines 49 to 55 in cf0a826
@Beamanator, they're the same ( |
Wow yeah that would be great to combine them into 1, they look insanely similar 👍 👍 thanks for finding that! |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.25-4 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-04-17. 🎊 For reference, here are some details about the assignees on this issue:
|
@eVoloshchak @NicMendonca @eVoloshchak 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] |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal Template
Regression Test ProposalPrecondition:Test:Do we agree 👍 or 👎 |
@eVoloshchak bump on the BZ checklist ^^ |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal Template
Regression Test ProposalTest:
Do we agree 👍 or 👎 |
@eVoloshchak Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Contributor: @thelullabyy paid $500 via Upwork Test case created |
Uh oh!
There was an error while loading. Please reload this page.
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.1.11-3
Reproducible in staging?: Yes
Reproducible in production?: yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @NikkiWines
Slack conversation (hyperlinked to channel name): Expensify-bugs
Action Performed:
Expected Result:
You’re routed to the message that you clicked on
Actual Result:
You’re routed to the most recent message in the channel that has the thread you clicked on
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Screen.Recording.2025-03-11.at.10.48.46.mov
Recording.1044.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @eVoloshchakThe text was updated successfully, but these errors were encountered: