You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[HOLD for payment 2023-07-14] [$1000] mWeb- Link is not working for Viewing all receipts/Viewing all bills option #21189
However, in Safari, we can't open a link inside an async function. Here is a similar past issue #3615 and the solution is this PR #3764 that introduces asyncOpenUrl that implements a workaround for Safari. (actually, from my testing, it can work inside async if there is only a little delay, for example using a setTimeout with 0 delay)
asyncOpenUrl accepts a promise and a URL. The URL will be opened after the promise is done.
URL can be either a string or a function. The very first implementation of asyncOpenUrl only accepts the URL as a string, but then it allows a function in this PR.
It previously works until this commit that replaced asyncOpenUrl.
What changes do you think we should make in order to solve the problem?
Use asyncOpenUrl back again. As the URL is available from the promise, we will pass the whole promise and a function for url. It will look like this:
changed the title [-]mWeb- Link is not working for Viewing all receipts/Viewing all bills option[/-][+][$1000] mWeb- Link is not working for Viewing all receipts/Viewing all bills option[/+]on Jun 23, 2023
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:
[@parasharrajat] The PR that introduced the bug has been identified. Link to the PR:
[@parasharrajat] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[@parasharrajat] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[@parasharrajat] Determine if we should create a regression test for this bug.
[@parasharrajat] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[@bfitzexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:
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:
[@parasharrajat] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: Not needed.
[@parasharrajat] Determine if we should create a regression test for this bug. yes
[@parasharrajat] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
Regression Test Steps
Open Settings > Workspaces > Select any workspace > Reimbursements.
@bfitzexpensify Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @eVoloshchak's and @parasharrajat's NewDot payments. More information on this compliance process in Slack.
Reporting: $250 for @narzullome, paid via Upwork ✅
Contributor: $1,500 (completion + #urgency bonus) for @bernhardoj, paid via Upwork ✅
C+: $1,500 (completion + #urgency bonus) for @parasharrajat, which will need to be paid via NewDot
Activity
melvin-bot commentedon Jun 21, 2023
Triggered auto assignment to @bfitzexpensify (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.melvin-bot commentedon Jun 21, 2023
Bug0 Triage Checklist (Main S/O)
Platformsin OP are ✅)bernhardoj commentedon Jun 21, 2023
Proposal
Please re-state the problem that we are trying to solve in this issue.
Can't open View all receipts in Safari, both web and mWeb.
What is the root cause of that problem?
Currently, we open the link inside a promise that waits for the API to complete.
App/src/libs/actions/Link.js
Lines 70 to 80 in 0b7455f
However, in Safari, we can't open a link inside an async function. Here is a similar past issue #3615 and the solution is this PR #3764 that introduces
asyncOpenUrlthat implements a workaround for Safari. (actually, from my testing, it can work inside async if there is only a little delay, for example using a setTimeout with 0 delay)asyncOpenUrlaccepts a promise and a URL. The URL will be opened after the promise is done.App/src/libs/asyncOpenURL/index.website.js
Lines 10 to 29 in 0b7455f
URL can be either a string or a function. The very first implementation of
asyncOpenUrlonly accepts the URL as a string, but then it allows a function in this PR.It previously works until this commit that replaced
asyncOpenUrl.What changes do you think we should make in order to solve the problem?
Use
asyncOpenUrlback again. As the URL is available from the promise, we will pass the whole promise and a function forurl. It will look like this:[-]mWeb- Link is not working for Viewing all receipts/Viewing all bills option[/-][+][$1000] mWeb- Link is not working for Viewing all receipts/Viewing all bills option[/+]melvin-bot commentedon Jun 23, 2023
Job added to Upwork: https://www.upwork.com/jobs/~01c9e23c776186a8a6
melvin-bot commentedon Jun 23, 2023
Current assignee @bfitzexpensify is eligible for the External assigner, not assigning anyone new.
melvin-bot commentedon Jun 23, 2023
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (
External)bfitzexpensify commentedon Jun 26, 2023
@parasharrajat proposal from @bernhardoj ready for review when you get a chance - thanks!
22 remaining items
melvin-bot commentedon Jul 7, 2023
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:
bfitzexpensify commentedon Jul 17, 2023
Offers have been sent out
narzullome commentedon Jul 17, 2023
@bfitzexpensify Accepted thank you
parasharrajat commentedon Jul 17, 2023
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:
[@parasharrajat] The PR that introduced the bug has been identified. Link to the PR: Start using OpenOldDotLink #9943
[@parasharrajat] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/9943/files#r1265600129
[@parasharrajat] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
Not needed.[@parasharrajat] Determine if we should create a regression test for this bug. yes
[@parasharrajat] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
Regression Test Steps
Do you agree 👍 or 👎 ?
bfitzexpensify commentedon Jul 18, 2023
I like those @parasharrajat. Proposed they be added in https://github.com/Expensify/Expensify/issues/300649. Cool, we're all done here - thanks everyone!
parasharrajat commentedon Jul 24, 2023
Payment requested 1500.
JmillsExpensify commentedon Jul 27, 2023
@bfitzexpensify Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @eVoloshchak's and @parasharrajat's NewDot payments. More information on this compliance process in Slack.
parasharrajat commentedon Jul 30, 2023
Bump @bfitzexpensify. Can you please update the above-requested info?
bfitzexpensify commentedon Jul 31, 2023
Sorry, was OOO on Friday.
Payments for each party:
Reporting: $250 for @narzullome, paid via Upwork ✅
Contributor: $1,500 (completion + #urgency bonus) for @bernhardoj, paid via Upwork ✅
C+: $1,500 (completion + #urgency bonus) for @parasharrajat, which will need to be paid via NewDot
JmillsExpensify commentedon Jul 31, 2023
Reviewed details for @parasharrajat. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.