-
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 2023-07-05] [Pay $250 reporting bonus] Editing parent comment in the thread are not reflected until the thread is revisited #19348
Comments
Triggered auto assignment to @strepanier03 ( |
Bug0 Triage Checklist (Main S/O)
|
My proposal here will fix this as well. Both of them have the same root cause. |
@allroundexperts - You'll still need to put your proposal for this fix on this GH once it moves to external. You won't be able to claim multiple GHs with a single proposal, everyone will get their fair chance at providing the best proposal to this problem. |
Job added to Upwork: https://www.upwork.com/jobs/~01c4411ddc089f97a5 |
Current assignee @strepanier03 is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 ( |
Triggered auto assignment to @Beamanator ( |
@strepanier03 My understanding was that we would merge this one into the other one since all of them have the same root cause. I'm more than happy to post the proposal here as well 😄 |
ProposalPlease re-state the problem that we are trying to solve in this issue.Editing parent comment in the thread are not reflected until the thread is revisited ContextEach thread is a report on its own and each message in a thread has a report action as well. Each thread report also references a parent report and a parent report action (along which the thread was started). With our implementation of threads, the first message of the thread does not have a report action in the thread report itself. Rather, the first message (also called thread title) uses the report action id of the parent report directly. When a thread is created, it initially does not contain a report action item for the thread title (since we're using the reportAction of the parent directly for the thread title) What is the root cause of that problem?The root cause of this issue is that when editing thread titles, we're editing it in the thread report instead of the parent report. Since the thread title does not exist in the thread report itself, the updated attributes get optimistically merged into an empty report action object in the thread. This causes an incomplete action (which does not have a timestamp and other properties and has the message only) to be created in the thread report. When the data is received from the backend via Pusher for the update, the report action id in the response from the backend corresponds to the correct parent report action id. This causes the data to be correctly merged into the parent report action item for the message while the thread report still has an incomplete report action item for the title (which is ignored because we're using the parent report action for the thread title). What changes do you think we should make in order to solve the problem?We can replace this with:
However, doing this will cause the following to show up in the thread: To avoid this, we can add a new prop called If above is not an option, then we can also pass the parent report id and parent report action to the editReportComment function here IF thread title is being edited. This will ensure that edits are being done to the parent report instead of creating an incomplete action in the thread report. The editReportComment function is being called here. We can check here if the report action is a thread parent. If it is, then we can pass parent params to the editReportComment function. ResultScreen.Recording.2023-05-21.at.3.55.40.PM.movWhat alternative solutions did you explore? (Optional)In the
If the
|
@allroundexperts - I'll double check on this, I could easily have missed something changing and I wouldn't want to hold up fixes unnecessarily. |
@Beamanator and @abdulrahuman5196 - Can you both check these other GHs (#19352 and #19348) and see if you agree that all three GHs have the same root cause? If they have the same root cause then should we merge these three into one GH? @allroundexperts has posted a proposal that solves all three in one. Context here for @Beamanator. |
It does look like both issues deal with modifications to the parent comment in the thread, so I could see how these could have the same root cause 👍 However I think we would only "merge" the issues if they're the same issue... They seem very similar but may not be exactly the same issue. If 1 PR fixes both issues I think the PR should get the reward for fixing both PRs, right @strepanier03 ? |
@allroundexperts
If there is only some incomplete/wrong action, how does the action gets updated to proper one when we switch back? |
@abdulrahuman5196 Updated the proposal with more context. I hope it makes sense now. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Thank you @allroundexperts - I'll follow the thread and ping some people/teams directly if we don't get any responses. |
@Beamanator @strepanier03 @allroundexperts @abdulrahuman5196 this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks! |
The thread is still ongoing. |
The thread is still ongoing |
@strepanier03 It seems there is an internal effort to solve issues revolving around thread edits and reactions. We should be able to close this issue - https://expensify.slack.com/archives/C01GTK53T8Q/p1686778600350519?thread_ts=1686259969.958099&cid=C01GTK53T8Q https://github.com/Expensify/Expensify/issues/282991 cc: @chiragsalian |
Thank you @abdulrahuman5196! I believe we would still pay the reporting bonus for this as reporting these behaviors has influenced our discussions and moved things forward. I'll update this GH for that and get the reporting job up for @adeel0202. |
@adeel0202 - I have hired you for reporting job in Upwork, please accept and I'll check in about paying later. |
Triggered auto assignment to @abekkala ( |
This comment was marked as off-topic.
This comment was marked as off-topic.
@abekkala - I'm heading out on sabbatical but couldn't finish paying this before I went. We're just waiting for @adeel0202 to accept the job offer for the reporting bonus in Upwork and then we can pay and close the GH. Thank you for wrapping this up! |
@strepanier03, I have accepted. |
@adeel0202 payment sent and contract ended - thank you! 🎉 |
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.33-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 2023-07-05. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result:
The edited comment is displayed immediately
Actual Result:
The edited comment is not displayed until the thread is revisited
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.16.5
Reproducible in staging?: y
Reproducible in production?: y
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
Notes/Photos/Videos: Any additional supporting documentation
Screen.Recording.2023-05-18.at.1.29.33.AM.mov
Recording.687.mp4
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684355738069459
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: