feat(webapp): SSO & Directory Sync settings UI improvements#4196
Conversation
Apply the /account/security section/row pattern to all SSO page states: narrower container, title+subtitle rows separated by divides instead of bordered boxes, secondary/primary buttons, and external-link arrows. Co-authored-by: Cursor <cursoragent@cursor.com>
Rework the settings copy for concision and accuracy: remove em-dashes, trim filler, use active voice, and clarify role/provisioning labels without changing described behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
…opovers Extract a reusable SettingsLayout component system (container, section, header, row, block, actions) and refactor the SSO & Directory Sync page onto it. Add SelectItem `wrap`, Select `popoverClassName`, and `placement` so role options can show a bright title with a wrapping description and right-align the popover to the trigger. Co-authored-by: Cursor <cursoragent@cursor.com>
These buttons open the admin portal dialog rather than navigating away, so the top-right arrow icon was misleading. Keep it only on the genuinely external Contact us and Open in new tab actions. Co-authored-by: Cursor <cursoragent@cursor.com>
Tighten the copy, shrink the description, use ClipboardField with a permanent copy button for the URL, remove the redundant Copy link footer button, and label the Open button with the provider derived from the link host (e.g. Open in WorkOS) with a safe fallback. Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThis PR adds reusable settings layout primitives, extends Select with popover placement, popover class, and wrapped item support, and renames the SSO side menu label. The SSO/Directory Sync settings route is refactored across server logic, client draft/polling handling, and page UI, with updated dialogs and directory sync controls. The login.magic flow now imports a separate server-only cookie module for the submitted email cookie. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-authored-by: Cursor <cursoragent@cursor.com>
…mprovements Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # apps/webapp/app/components/primitives/Select.tsx # apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.sso/route.tsx
Co-authored-by: Cursor <cursoragent@cursor.com>
@trigger.dev/build
trigger.dev
@trigger.dev/core
@trigger.dev/python
@trigger.dev/react-hooks
@trigger.dev/redis-worker
@trigger.dev/rsc
@trigger.dev/schema-to-json
@trigger.dev/sdk
commit: |
The top-level createCookie call read env.NODE_ENV from ~/env.server, which is undefined in the client bundle, so importing the route module threw. When the inline /login email form submits (a navigation to /login/magic), Remix loads that module, the import fails, and it hard-reloads /login instead of following the action's redirect to /login/sso. Move the cookie into a .server module so it never evaluates on the client. Co-authored-by: Cursor <cursoragent@cursor.com>
Centralize login route width in LoginPageLayout so all login pages render identically. Tighten the SSO domain policy copy and add an external-link arrow to the "Ask about SSO" link. Co-authored-by: Cursor <cursoragent@cursor.com>
Switch conform shouldValidate from onBlur to onSubmit so autofocused email fields don't flash an error when blurred or on back navigation. Co-authored-by: Cursor <cursoragent@cursor.com>
Open the feedback modal (enterprise inquiry) from the primary Contact us button, drop the secondary link button, and inline the Enterprise badge beside the title. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
UI/layout/copy pass over the org SSO & Directory Sync settings page (formerly "Identity & Access"). No logic, gates, flags, or data flow changed — server-side auth (
manage:sso), Enterprise entitlement, action validation, and data loading are all untouched.SettingsLayoutcomponent system (container, section, header, row, block, actions) modeled on/account/security, and refactored the SSO page onto it (section titles, dividers, left title/subtitle + right action rows).Selectprimitive: additivewrap,popoverClassName, andplacementprops (all default to prior behavior) so role options show a bright title with a wrapping description, right-aligned popover, and no horizontal overflow.ClipboardFieldwith a permanent copy button, removed the redundant Copy link button, and a provider-aware Open label (e.g. "Open in WorkOS") derived from the link host with a safe fallback.SSO page UI
Login with SSO and normal email test (local)
CleanShot.2026-07-09.at.11.30.00.mp4
Test plan
manage:sso: 403