-
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-12-08] [$1000] Web - App does not display working report on back from 'something is wrong page' #23068
Comments
Triggered auto assignment to @michaelhaxhiu ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.App does not display working report on back from 'something is wrong page' What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?To fix 1st problem:Instead of throwing an error, we could show the if (page === -1) {
Log.warn('Attachment not found'); // Optional
return {
attachmentNotFound: true,
}
} <FullPageNotFoundView
shouldShow={this.state.attachmentNotFound}
subtitleKey='notFound.attachmentYouLookingForCannotBeFound' // Optional
>
<View Add to notFound: {
attachmentYouLookingForCannotBeFound: 'The attachment you are looking for cannot be found.', To fix 2nd problem:Inside componentDidMount() {
window.onpopstate = () => {
if (this.state.hasError) {
this.clearError();
}
}
} Adding the listener in the |
This is a very edge case bug, but it is indeed "inconsistent" from the behavior we'd expect in the app. I think we should try to fix it (and hopefully it's not a big undertaking to do so). |
Job added to Upwork: https://www.upwork.com/jobs/~01f4efb0d0e28187e6 |
Current assignee @michaelhaxhiu is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @0xmiroslav ( |
Hi, |
ProposalEdited to address 2 issues as per this comment #23068 (comment) Please re-state the problem that we are trying to solve in this issue.Bug 1: Infinite loading shows when you open not available/inaccessible attachments (Point 5 in the above comment) What is the root cause of that problem?Bug 1: Infinite loading shows when you open not available/inaccessible attachments (Point 5 in the above comment) We are not handling onError/onLoadEnd in the ImageView. App/src/components/ImageView/index.js Lines 257 to 264 in 7eb96d8
Bug 2: App redirects to not accessible chat (Point 7 in the above comment) Root cause of this bug is that when the In
App/src/libs/Navigation/Navigation.js Lines 167 to 172 in c2dab6e
What changes do you think we should make in order to solve the problem?To solve Bug 1 we need to write an handler for onError/onLoadEnd for
Result : Screen.Recording.2023-09-04.at.6.27.10.PM.movTo solve Bug 2 we can check for error and if there is any error in loading the image, open the report in the top of the Stack. We can achieve this by following the below steps
Result : Redirect.movWhat alternative solutions did you explore? (Optional)None |
ProposalPlease re-state the problem that we are trying to solve in this issue.The problem we are trying to solve is that the app does not display the working report when the user navigates back from the "Something is wrong" page. What is the root cause of that problem?The root cause of this problem is that in the AttachmentCarousel component, when the app doesn't find the expected attachment, it throws an error. This error prevents the app from displaying the working report, leaving the user stuck on the "Something is wrong" page. What changes do you think we should make in order to solve the problem?To solve the problem, instead of throwing an error, we should handle the scenario where the attachment is not found in a more graceful manner. We can make the following changes: In the AttachmentCarousel component, when the attachment is not found, set a state flag (e.g., "attachmentNotFound") to true, indicating that the attachment is not available. Rather than throwing an error, we should return from the function to allow the app to continue executing without interruption. Show the FullPageNotFoundView component with a custom error message when the "attachmentNotFound" flag is true. Optional Changes: Log a warning (using Log.warn) when the attachment is not found, which can be helpful for debugging purposes. Add a new text key in the language files (e.g., en.js and possibly in Spanish translation as well) to display a custom error message when the attachment is not found.
|
For C+ (@0xmiroslav) - can you confirm if any solutions in this issue may apply to #23374? |
@michaelhaxhiu, @0xmiroslav Huh... This is 4 days overdue. Who can take care of this? |
DM'ed miki to make sure he's aware of this one. We can re-assign to another C+ if you are busy too! |
@greg-schroeder I followed repro step in #23374. First time, it shows infinite loading and from next time, it crashes which is this GH. |
Page not found view looks good to me but it's new design pattern to show it in preview modal, not in full screen. @shawnborton do you think it's fine? (Here, back arrow button should be removed of course) |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.6-2 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-12-08. 🎊 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.
For reference, here are some details about the assignees on this 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:
|
payment upcoming! |
Payment summary:
Please apply! |
@dhanashree-sawant still waiting for you to accept! |
@WikusKriek paid! |
bump @0xmiroslav 🙇♂️ |
Hi @dylanexpensify, sorry for the delay, we already have accepted offer for the job sent before in november, I have messaged you on upwork in that job, can you approve that? |
@sonialiap, @jasperhuangg, @WikusKriek, @dylanexpensify, @0xmiroslav Huh... This is 4 days overdue. Who can take care of this? |
approving today! |
Regression Test Proposal
|
@dhanashree-sawant it doesn't show either accepted, can you just accept the new one? |
bump @dhanashree-sawant |
@sonialiap, @jasperhuangg, @WikusKriek, @dylanexpensify, @0xmiroslav Whoops! This issue is 2 days overdue. Let's get this updated quick! |
So sorry for the delay, I was away for a week, the new offer too expired 😅, can you provide a new offer whenever you are available? |
@sonialiap, @jasperhuangg, @WikusKriek, @dylanexpensify, @0xmiroslav Eep! 4 days overdue now. Issues have feelings too... |
@dhanashree-sawant new offer sent :) |
Thanks @sonialiap, I have accepted the offer. |
Payment completed 🎉 |
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:
App should display chat report on back from 'something is wrong' page if report don't have any issue
Actual Result:
App still displays 'something is wrong' page on browser back click even though app changes URL to a working report
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.41-2
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
something.is.wrong.back.button.wrong.working.mp4
Recording.3714.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689531247187909
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: