Fix onboarding modal not shown for invited users who haven't completed it#86380
Closed
Fix onboarding modal not shown for invited users who haven't completed it#86380
Conversation
…ted it When a user signs up but exits before completing onboarding, then gets invited to a workspace, the isInvitedOrGroupMember flag incorrectly skips onboarding because hasNonPersonalPolicy becomes true. Adding a check for hasCompletedGuidedSetupFlow !== false ensures users who explicitly started but didn't complete onboarding still see the modal. Co-authored-by: Aimane Chnaif <aimane-chnaif@users.noreply.github.com>
Adds a test case verifying that users who started but didn't complete onboarding are still shown the onboarding modal even after being invited to a workspace (hasNonPersonalPolicy is true). Co-authored-by: Aimane Chnaif <aimane-chnaif@users.noreply.github.com>
Open
7 tasks
Contributor
|
@MelvinBot close this PR |
Contributor
Author
|
Closed this PR as requested by |
52 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation of Change
When a user signs up via OldDot and lands on NewDot but exits the browser before completing the onboarding modal, then gets invited to a Collect workspace via OldDot, the onboarding modal is not shown on the next login.
The root cause is that the
isInvitedOrGroupMemberflag inOnboardingGuardevaluates totruewhenhasNonPersonalPolicyistrue(because the user was added to a workspace), which causes onboarding to be skipped — even thoughhasCompletedGuidedSetupFlowis explicitlyfalse.This PR adds
&& onboarding?.hasCompletedGuidedSetupFlow !== falseto theisInvitedOrGroupMembercondition, so that users who explicitly started but didn't complete onboarding still see the modal regardless of workspace membership. This preserves the existing behavior for:hasCompletedGuidedSetupFlow: true)hasCompletedGuidedSetupFlow: undefined)wasInvitedToNewDot)Fixed Issues
$ #84436
PROPOSAL: #84436 (comment)
Tests
Offline tests
N/A — this is a guard evaluation that runs on navigation, not an API call.
QA Steps
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))npm run compress-svg)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
N/A — logic-only change in navigation guard
Android: mWeb Chrome
N/A — logic-only change in navigation guard
iOS: Native
N/A — logic-only change in navigation guard
iOS: mWeb Safari
N/A — logic-only change in navigation guard
MacOS: Chrome / Safari
N/A — logic-only change in navigation guard