-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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-12-08] [$500] Web - App marks task as unread even when no changes are done #27296
Comments
Job added to Upwork: https://www.upwork.com/jobs/~014012f6817510a0d1 |
Triggered auto assignment to @kevinksullivan ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to @dylanexpensify ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @sobitneupane ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Task on the sidebar is marked as unread even if the task is saved with no changes made. What is the root cause of that problem?The What changes do you think we should make in order to solve the problem?Before calling the EditTask API.write function, add a if condition that checks if there has been any change made in the previous state vs updated state of the Task. If not then avoid calling the API to update the task. Line 478 in 54085f9
What alternative solutions did you explore? (Optional)Most apps disable the Save button until any change has been made. We can write a logic to keep the Save button disabled, and only enable it when there is a change made in the values of the task. |
📣 @iamuddeshya! 📣
|
Contributor details |
ProposalPlease re-state the problem that we are trying to solve in this issue.Web - App marks task as unread even when no changes are done What is the root cause of that problem?In the submit callback of the Edit description page, we always call the util to edit the Task without check the changes App/src/pages/tasks/TaskDescriptionPage.js Lines 42 to 49 in 85f950a
After the API command EditTask done, it updates the What changes do you think we should make in order to solve the problem?
|
Contributor details |
|
ProposalPlease re-state the problem that we are trying to solve in this issue.The task report is marked as unread even when no changes are made to the title, description, or assignee fields in the What is the root cause of that problem?In the submit callback of the App/src/pages/tasks/TaskTitlePage.js Lines 54 to 61 in 54085f9
For TaskDescriptionPage :App/src/pages/tasks/TaskDescriptionPage.js Lines 42 to 49 in 54085f9
In the selectReport callback of the TaskAssigneeSelectorModal component, we consistently invoke the utility function Task.editTaskAssigneeAndNavigate to modify the Task without verifying whether any changes have been made.For TaskAssigneeSelectorModal :App/src/pages/tasks/TaskAssigneeSelectorModal.js Lines 174 to 195 in 54085f9
Following the completion of the Lines 478 to 480 in 85f950a
Lines 557 to 559 in 85f950a
Line 2470 in e426b39
What changes do you think we should make in order to solve the problem?We should check if the field value is changed before calling the utility function. For if (values.title !== props.report.reportName) {
Task.editTaskAndNavigate(props.report, props.session.accountID, {title: values.title});
} else {
Navigation.dismissModal(props.report.reportID);
} For if (values.description !== props.report.description) {
Task.editTaskAndNavigate(props.report, props.session.accountID, {description: values.description});
} else {
Navigation.dismissModal(props.report.reportID);
} For if (option.accountID !== props.task.assigneeAccountID) {
Task.editTaskAssigneeAndNavigate(report, props.session.accountID, option.login, option.accountID, assigneeChatReport);
} else {
Navigation.dismissModal(report.reportID);
} Result: 2023-09-13.01-48-55.mp4What alternative solutions did you explore? (Optional)check if there are any changes before calling the |
ProposalPlease re-state the problem that we are trying to solve in this issue.I think the issue The Task edited actions are non-visible actions (as clearly indicated in the code here), so the edit action should not affect the chat read/unread status at all (even if there's change to a field). We can also see that even as the chat is marked as unread as in the video, it still shows In order for an action to make the report as unread, it should at least:
So the correct issue here should be What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
Another way for this is to check if anything changes in What alternative solutions did you explore? (Optional)For
|
Agree this seems like a bug, but confirming first internally |
@dylanexpensify I'm uncertain about the rationale behind marking it as 'unread' initially for the user initiating the change. In my opinion, it would be more logical to designate the task report as 'unread' solely for users other than the one initiating the change. |
@sobitneupane can you take a look at the Problem part of my proposal, IMO there should be no "unread" at all since the Task edited actions are non-visible actions |
@sobitneupane in transactions threads we are marking the report as 'unread' for the user initiating the change, so I think it's an expected behaviour. 2023-09-18.17-22-39.mp4and when no changes done we don't mark the report as unread 2023-09-18.17-23-52.mp4 |
In my opinion, from a user experience perspective, we should mark the report as 'unread' to notify users about the updates (in the case where there are actual changes) even if the EditTask action is not a visible action. |
@rayane-djouah that will only confuses the users since the LHN is saying |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Yes
|
Regression Test Proposal:
Do we agree 👍 or 👎 |
Payment summary:
Please apply! |
Please apply! ^ |
melvin! 🙄 |
Applied. Thanks @dylanexpensify |
Bump @dhanashree-sawant! |
Sorry for the delay, I have applied to the job |
Requested payment on newDot. |
$500 payment approved for @sobitneupane based on this comment. |
@hoangzinh, @sobitneupane, @stitesExpensify, @dylanexpensify Eep! 4 days overdue now. Issues have feelings too... |
nice! Will pay out reporter then close! |
@dhanashree-sawant offer sent! |
@hoangzinh, @sobitneupane, @stitesExpensify, @dylanexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Thanks @dylanexpensify, I have accepted the offer. |
@hoangzinh, @sobitneupane, @stitesExpensify, @dylanexpensify Huh... This is 4 days overdue. Who can take care of this? |
@hoangzinh, @sobitneupane, @stitesExpensify, @dylanexpensify 8 days overdue is a lot. Should this be a Weekly issue? If so, feel free to change it! |
@hoangzinh, @sobitneupane, @stitesExpensify, @dylanexpensify 10 days overdue. I'm getting more depressed than Marvin. |
done! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
Task should not be marked as unread if there is no change to any field
Actual Result:
Task is marked as unread even if there is no change to any field
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.68.13
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
task.unread.even.on.no.change.mp4
Recording.4426.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694345875816589
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @dylanexpensifyThe text was updated successfully, but these errors were encountered: