-
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
Give users on a domain the ability to join their colleagues when the company is already using Expensify #51681
Conversation
All contributors have signed the CLA ✍️ ✅ |
@allroundexperts looks like you need to sign all the commits. |
Just trying to make the flow work right now. Will do this as soon as I'm done! |
1fb84d7
to
ad6007b
Compare
@parasharrajat Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Testing... |
BUG: Onboarding in running in loops when we skip validation step. 09.11.2024_02.44.23_REC.mp4 |
Fixed. |
How's this one going? |
Addressed all comments. Waiting on the review again. |
Rechecking.. |
@parasharrajat anything to report back? |
I will drop the next review in the morning. It was supposed to be today but weekend stretched a bit. Apologies for the delay. |
BUG: Pressing back on the Personal details modal, takes the user to the purpose selection screen. Then Pressing next does not take the user through private domain flow. Steps:
|
@marcaaron Probably we'll need another API command / or pusher sending some data on |
I'm not following this:
What is the exact scenario where we tell the user that there are workspaces to join but there actually are none to join? |
I'm not sure we want to do that. It's not the fastest thing to look up and doing it for every private domain user could make the app init performance suffer. But more importantly, it doesn't seem like information we should provide to an unvalidated user. QA Steps:
So, I'd propose we'd tweak this copy to suggest something like: "Enter your magic code to validate and find out if there are accessible workspaces to join" or "skip". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving a few comments and questions. Going to pull this branch and do some testing. Code LGTM though and AFAICT should be working so I'll see if I can repro any issues locally and make suggestions.
src/components/ValidateCodeActionModal/ValidateCodeForm/BaseValidateCodeForm.tsx
Outdated
Show resolved
Hide resolved
@@ -77,6 +78,35 @@ function BaseOnboardingPersonalDetails({currentUserPersonalDetails, shouldUseNat | |||
[onboardingPurposeSelected, onboardingAdminsChatReportID, onboardingPolicyID, route.params?.backTo, activeWorkspaceID, canUseDefaultRooms, isSmallScreenWidth, shouldUseNarrowLayout], | |||
); | |||
|
|||
useEffect(() => { | |||
const skippedPrivateDomainFlow = isPrivateDomain && onboardingPurposeSelected; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a comment to that effect to explain why that would be the case since I agree it's not very obvious.
@parasharrajat the flow described here is weird, but not really sure it's something a user would do. Sign in with the same account on our staging server in the middle of the flow? What would compel them? 😄 |
Not seeing this at all on dev FWIW so maybe there is an undeployed fix or it's not happening anymore. I am also able to get this to appear on staging so maybe it is something related to the private domain mail service we are using to test this. |
I did not encounter this error anymore. This flow seems to work pretty well except for the case where the user has no policies to join could be smoother. Let's keep moving on this? This still needs to be fixed @allroundexperts |
I agree this is something that is unusual. I was trying to mimic the behaviour where the user would drop the onboarding and try to login again with the same email after some time(where the browser cache got cleared). |
Do we have an agreement on this @marcaaron from the design team as well? |
@allroundexperts not yet, but let's fix the bug with the indicator without delay. We can do a follow up to improve the flow design if there are any issues. This one has been open a bit longer than anticipated. Let's push forward. |
Fixed. |
@marcaaron Disabled the private domain flow by default as agreed in the channel. To enable it, just uncomment this. |
Cool. I think with the new design we will have something like |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
I'm going to push this through so we can focus on the next steps. Attn QA: Please just test the existing onboarding flow for regressions. But also keep in mind, there is a known issue that seems to be preventing the onboarding modal from showing up in certain cases that is still being investigated outside of this PR. |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/marcaaron in version: 9.0.77-0 🚀
|
Details
$ #48189
Fixed Issues
$ #48189
PROPOSAL: #48189 (comment)
Tests
This PR is merging in some code that will not be live yet. Please only test the onboarding flows for any regressions.
PLEASE IGNORE TESTS BELOW THIS LINE
Offline tests
N/A
QA Steps
Same as test steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Screen.Recording.2024-11-07.at.2.50.21.AM.mov
Android: mWeb Chrome
Screen.Recording.2024-11-07.at.2.48.24.AM.mov
iOS: Native
Screen.Recording.2024-11-07.at.2.45.43.AM.mov
iOS: mWeb Safari
Screen.Recording.2024-11-07.at.2.42.30.AM.mov
MacOS: Chrome / Safari
Screen.Recording.2024-11-07.at.2.28.30.AM.mov
MacOS: Desktop
Screen.Recording.2024-11-07.at.2.35.28.AM.mov