Follow-up PR: Private Domain Onboarding Check#60632
Conversation
…rding email screen
|
@ikevin127 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] |
|
@ikevin127 this is a follow up PR for the following issues discussed on slack:
|
|
Since the changes don't affect native files, here's the video for desktop, lemme know if you would require videos on all platforms: Screen.Recording.2025-04-22.at.4.12.32.PM.mov |
|
Will start review shortly. @blimpich Will this follow-up be paid separately, or as part of the main PR which means $250 total for all the work including this follow-up ? Just wondering since it's been quite some work, which makes a total of $250 seem low for the amount of work. |
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid.mp4Android: mWeb Chromeandroid-mweb.mp4iOS: Nativeios.mp4iOS: mWeb Safariios-mweb.mp4MacOS: Chrome / Safariweb.movMacOS: Desktopdesktop.mov |
ikevin127
left a comment
There was a problem hiding this comment.
🟢 LGTM tests wise, everything works as expected in both tests. The ony thing would be a UI concern regarding the error from test 2 being dismissable (Close):
@Expensify/design I don't remember seeing a lot of dismissable errors in form-setting before, which made this one jump out to me so I just wanted to make sure it LGTY, before moving forward with merge 👍
|
Good catch, I think because the PR set In JavaScript, the conditional if (progressBarPercentage) checks whether the value is truthy. Here’s what happens when you pass: cc @allgandalf It's weird that the prop is typed as number: /** 0 - 100 number indicating current progress of the progress bar */
progressBarPercentage?: number;Maybe we should change to string and convert it back to number (or not) when we're pasaing the style in HeaderWithBackButton 🤔 @blimpich Please hold on merging until the issues are addressed and I tag you again after retest. |
|
Sounds good. I've re-requested your review @ikevin127. I'll look again once you've re-approved it. |
|
Crap, i missed the ping from kevin, will fix this tomorrow , @dubielzyk-expensify what should the progress bar look like, can you share a mock please |
|
bump @dubielzyk-expensify |
|
No i meant to ask what should be the progress there 😅,the green bar how much should that be filled |
🤣 Oh my bad! I'm not totally sure, so I will just see myself out... 😂 |
|
@allgandalf It was mentioned here that it should be 0%, the only issue was the logic mentioned here wasn't rendering the bar at all. Given that the Private Domain Onboarding can have a maximum 2 steps (if not skipped), would show 0% on step 1 (email input), and 1 (100%) on the magic code email verification step. But if I really think about it, keeping the progress bar on the Private Domain Onboarding seems redundant since it can have a maximum of 2 steps (if not skipped) - in contrast to the Onboarding Purpose flow which can have more. ☝️For this reason, I'd vote to simply remove the progress bar from the Private Domain Onboarding flow. Thoughts ? |
Isn't the progress bar meant to indicate progress through the entire onboarding modal? Not just the private domain check portion of it? |
|
yeah agree with @blimpich , waiting on @dubielzyk-expensify for the mock |
Correct. If there are 5 steps, the first step should be 1/5 filled. If there's 6 steps, step 3 should be 50% filled etc etc. So just I guess |
|
@allgandalf are we making progress here? |
The problem is, we don't know the number of steps. Suppose user signups using public domain, then they are shown work email screen, then there would be in total 5 steps ideally, but if the user enters a work email and it needs verification then there would be 6 steps (+ 1 for the email validation), so how should we proceed here? @blimpich @dubielzyk-expensify ? |
|
I'd say we just take a guess and assume the maximum number of steps. That way it might not jump evenly in the progress bar but it'll always increase. I.e. if we assume max steps and there are actually fewer steps the progress bar will still fill up and maybe make a big jump, but it we assume the smallest number of steps then we risk having the progress bar stagnate or even decrease even though the user is moving forward in the modal. Does that make sense? |
|
Yeah I think we should use what information we currently have. That's why we designed the progress indicator as a bar instead of a individual segmented stepper. Basically if you're on step 3 and it's default is to be a total of 5 steps, then let's do 3/5ths. If that increases to 7 after step 3 is taken, then lets do 4/7ths. It doesn't have to be incredibly accurate to future steps, mostly just a rough indication of how far you are in the process |
|
Checking this one now |
|
@ikevin127 can you test again |
|
@allgandalf I confirm that the progress bar is visible now, but the
Looking at existing
🔄 My proposal would be to set final.movcc @Expensify/design for validation |
|
I haven't been following along closely, but is there no way to know the full number of steps for the onboarding modal before we kick it off? |
Agree. At 16% that should be bigger than what it is to my eyes. |
|
@dubielzyk-expensify 1/6 is not translated to 16% but 0.16% in this case. That's why I suggested natural number values in #60632 (comment) for best UI. |
|
Sure. I don't mind what the technical solution is as long as the right progress value is represented 👍 |
|
@ikevin127 Updated following your suggestions ! |
ikevin127
left a comment
There was a problem hiding this comment.
@ikevin127 Updated following your suggestions !
LGTM, PR tests well and progress bar is now linear regardless of onboarding flow (doesn't jump back) ✅
|
Double checking that we tested hybrid app here before merging |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
@blimpich Are there any issues with this PR which prevents it being deployed or we just didn't deploy in a while ? |
|
🚀 Deployed to staging by https://github.com/blimpich in version: 9.1.40-0 🚀
|
Just hadn't deployed in awhile 🙂 |
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.1.40-7 🚀
|





Explanation of Change
Fixed Issues
$ #54075
PROPOSAL: N/A
Tests
Same as QA
Offline tests
QA Steps
Test 1:
Verify that the text
[receipts@expensify.com](mailto:receipts@expensify.com)is shown in boldTest 2:
Verify that we see a error above the skip button.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop