-
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
[$250] Bulk Invoice Delete doesn't remove the deleted rows from the UI #55680
Comments
Triggered auto assignment to @Christinadobrzyn ( |
I think this can be external |
Job added to Upwork: https://www.upwork.com/jobs/~021882909145340105934 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @DylanDylann ( |
ProposalBulk Invoice Delete doesn't remove the deleted rows from the UI #55680What is the root cause of that problem?The list of data is fetched which works fine, it is then sorted into another variable which is then used to render on the page. However, when an item is deleted, the new list of data is fetched correctly from api but the variable used to render the UI list is not recalculating to reflect the reduced data. As a result, the UI does not reflect the changes and continues to display the outdated list until the entire page is refreshed. What changes do you think we should make in order to solve the problem?We can ensure the sorted list is recalculated whenever there is a change in the fetched data. This can be achieved by memoizing the list to respond to any updates in the data. What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?For the test cases:
|
📣 @mac-ad! 📣
|
Contributor details ProposalBulk Invoice Delete doesn't remove the deleted rows from the UI #55680What is the root cause of that problem?The list of data is fetched which works fine, it is then sorted into another variable which is then used to render on the page. However, when an item is deleted, the new list of data is fetched correctly from api but the variable used to render the UI list is not recalculating to reflect the reduced data. As a result, the UI does not reflect the changes and continues to display the outdated list until the entire page is refreshed. What changes do you think we should make in order to solve the problem?We can ensure the sorted list is recalculated whenever there is a change in the fetched data. This can be achieved by memoizing the list to respond to any updates in the data. What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?For the test cases:
|
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
Contributor details ProposalPlease re-state the problem that we are trying to solve in this issue.When a user selects 1 or more transactions to be deleted, they remain on the page until a refresh (sometimes with a delay) What is the root cause of that problem?The deletion is done asynchronously and the UI does not reflect that the items have been deleted until the API request is complete. The transactions are not removed from the UI until they are actually deleted. What changes do you think we should make in order to solve the problem?Ensure the UI is optimistically updated with the selected transaction IDs to be deleted before the async job is complete by ensuring the optimisticData does not include the deleted transaction IDs: App/src/libs/actions/Search.ts Line 355 in b59f23b
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?Go to reports -> invoices Go to reports -> invoices Go to reports -> invoices Go to reports -> invoices |
📣 @samh0lmes! 📣
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
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.89-2
Reproducible in staging?: y
Reproducible in production?: y
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: @mananjadhav
Slack conversation (hyperlinked to channel name): expensify - bug
Action Performed:
Expected Result:
The deleted invoices should be removed from the UI as soon as they're deleted.
Actual Result:
The selected invoices are still retained in the table even after being deleted. They're removed on refreshing the page.
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Recording.920.mp4
web-bulk-delete-invoice.mov
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @DylanDylannThe text was updated successfully, but these errors were encountered: