-
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 2024-02-26] [$500] Add support for redirecting user to a target URL(via exitTo query param) when they click on the magic link code #36325
Comments
Triggered auto assignment to @bfitzexpensify ( |
Job added to Upwork: https://www.upwork.com/jobs/~01a6d9657733b55abf |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Add support for redirecting user to a target URL(via exitTo query param) when they click on the magic link code What is the root cause of that problem?new feature What changes do you think we should make in order to solve the problem?we need to modify the follwoing App/src/pages/ValidateLoginPage/index.tsx Lines 16 to 28 in 484116c
additionaly we need to add another param App/src/libs/actions/Session/index.ts Lines 507 to 510 in 207385a
function signInWithValidateCodeAndNavigate(accountID: number, validateCode: string, twoFactorAuthCode = '', exitTo = ROUTES.HOME) {
signInWithValidateCode(accountID, validateCode, twoFactorAuthCode);
Navigation.navigate(exitTo);
} |
ProposalPlease re-state the problem that we are trying to solve in this issue.Add support for redirecting user to a target URL(via exitTo query param) when they click on the magic link code What is the root cause of that problem?New feature What changes do you think we should make in order to solve the problem?we should add the new App/src/libs/Navigation/types.ts Lines 443 to 446 in 72ffe93
and here: App/src/pages/ValidateLoginPage/index.website.tsx Lines 16 to 18 in 72ffe93
and here: App/src/pages/ValidateLoginPage/index.tsx Line 12 in 72ffe93
we should check if an here is a draft PR with code changes for testing : #36390 here is the result recordings: If the user is not logged in (and initiated the login process on the same browser)1.Recording.2024-02-13.015036.mp4If the user is not logged in (and initiated the login process in another browser)3.Recording.2024-02-13.015229.mp4If the user is already logged in2.Recording.2024-02-13.015620.mp4What alternative solutions did you explore? (Optional)N/A |
I was already playing with changes similar to above, can you please add a branch for testing in your proposal, thanks. |
Proposal |
Great, thanks for the screen recordings. It seems to behave the way we expected. @allroundexperts, can you please review the above proposals? This is a time-sensitive one, thanks. 🙇 |
Both @rayane-djouah and @abzokhattab proposed the solution correctly. @abzokhattab was the first one to propose, but @rayane-djouah created a draft PR and shared the working screen recordings as well. Normally, the first one to propose gets the issue but since we need to move fast here, and the draft PR is already up, let's go with @rayane-djouah's proposal. 🎀 👀 🎀 C+ reviewed |
Current assignee @techievivek is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
📣 @rayane-djouah 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Thank you! I'm working on author checklist, will raise the PR shortly! |
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.42-5 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 2024-02-26. 🎊 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:
|
Switching this to |
@rayane-djouah Another improvement that we can make here is that the magic code page appears for a moment. QA team shared this video. 306718766-3c0f57f0-a683-4849-a2c3-4ea77b84d505.mp4Can you look into it and see if we can improve this. |
Reminder set to pay |
@techievivek just checking in on your comment here - do you consider this a regression from the solution used in this issue? |
No, we can't classify it as a regression because it doesn't cause any general breakage. It would simply contribute to a smoother transition. |
Gotcha, thanks for clarifying. Payment summary: C+: $500 to be paid to @allroundexperts through NewDot Manual Requests @allroundexperts, a reminder to complete the BZ checklist when you get a chance - thanks! |
Bump on the BZ checklist @allroundexperts - thank you! |
@bfitzexpensify This is a new feature and checklist isn't needed here. |
Cool - closing this out. Thanks everyone! |
$500 approved for @allroundexperts based on summary. |
Part of #34166
Please go through the description of the above issue carefully before you post any questions.
We aim to enhance user experience by allowing first-time users to directly access our product feature without a need to manually go through the login process. This enhancement involves embedding a magic code in the offline activity email sent to users.
Magic Link Format: https://new.expensify.com/v//?exitTo=valid_target_path_in_newDot
https://new.expensify.com/v/123/000000?exitTo=r/12345
Functional Requirements:
If the user is not logged in, the magic code should trigger the sign-in process automatically and redirect the user to the target URL specified in the exitTo parameter of the link once the sign-in logic is successfully executed.
If the user is already logged in, the magic code sign-in should be skipped, and the user should be directly redirected to the exitTo URL.
Resources:
You will probably need to play with ValidateLoginPage logic
Website file: https://github.com/Expensify/App/blob/main/src/pages/ValidateLoginPage/index.website.tsx
Other platform: https://github.com/Expensify/App/blob/main/src/pages/ValidateLoginPage/index.tsx
Let me know if anything is unclear or if you need help with anything. Thanks.
CC @MitchExpensify
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: