fix: Hide Accounts settings and skip SYNC_EMAIL onboarding when CONNECTED_ACCOUNTS permission is disabled#17606
Conversation
…CTED_ACCOUNTS permission is disabled Fixes twentyhq#17411 When CONNECTED_ACCOUNTS permission is disabled for a role: - Hide the Accounts section in Settings navigation - Skip the SYNC_EMAIL onboarding step and go directly to INVITE_TEAM This prevents users without email/calendar sync permissions from seeing confusing UI prompts for features they cannot use.
Welcome!
Hello there, congrats on your first PR! We're excited to have you contributing to this project. |
Greptile OverviewGreptile SummaryThis PR fixes issue #17411 by hiding the Accounts settings section and skipping the SYNC_EMAIL onboarding step when the Key Changes
Implementation DetailsThe implementation leverages the existing The changes are minimal, focused, and follow existing patterns in the codebase for permission-based UI visibility. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant OnboardingFlow
participant PermissionCheck
participant SettingsNav
Note over User,SettingsNav: User with CONNECTED_ACCOUNTS disabled
User->>OnboardingFlow: Start onboarding (PROFILE_CREATION)
OnboardingFlow->>PermissionCheck: Check CONNECTED_ACCOUNTS permission
PermissionCheck-->>OnboardingFlow: Permission = false
OnboardingFlow->>OnboardingFlow: Skip SYNC_EMAIL step
OnboardingFlow-->>User: Navigate to INVITE_TEAM
User->>SettingsNav: Access Settings
SettingsNav->>PermissionCheck: Check CONNECTED_ACCOUNTS permission
PermissionCheck-->>SettingsNav: Permission = false
SettingsNav->>SettingsNav: Set Accounts item as hidden
SettingsNav-->>User: Accounts section not visible
Note over User,SettingsNav: User with CONNECTED_ACCOUNTS enabled
User->>OnboardingFlow: Start onboarding (PROFILE_CREATION)
OnboardingFlow->>PermissionCheck: Check CONNECTED_ACCOUNTS permission
PermissionCheck-->>OnboardingFlow: Permission = true
OnboardingFlow-->>User: Navigate to SYNC_EMAIL
User->>SettingsNav: Access Settings
SettingsNav->>PermissionCheck: Check CONNECTED_ACCOUNTS permission
PermissionCheck-->>SettingsNav: Permission = true
SettingsNav-->>User: Accounts section visible
|
|
🚀 Preview Environment Ready! Your preview environment is available at: http://bore.pub:37642 This environment will automatically shut down when the PR is closed or after 5 hours. |
|
waiting duplicated Pr #17598 to be merged before review or closing |
Summary
Fixes #17411
When
CONNECTED_ACCOUNTSpermission is disabled for a role, users were still seeing:This creates a confusing UX where users are prompted to do something their role doesn't permit.
Changes
Frontend
Settings Navigation (
useSettingsNavigationItems.tsx):isHidden: !permissionMap[PermissionFlagType.CONNECTED_ACCOUNTS]to the Accounts navigation itemOnboarding Flow (
useSetNextOnboardingStatus.ts):usePermissionFlagMapTests
useSetNextOnboardingStatus.test.tsto cover the new permission-based skip logicuseSettingsNavigationItems.test.tsxto verify Accounts visibility based on permissionsTesting