chore(ui): Add wizard steps to <ConfigureSSO />#8468
chore(ui): Add wizard steps to <ConfigureSSO />#8468LauraBeatris wants to merge 11 commits intomainfrom
<ConfigureSSO />#8468Conversation
🦋 Changeset detectedLatest commit: a7f1340 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
67fbe0d to
bcc4254
Compare
ff61174 to
e8b8f9a
Compare
e8b8f9a to
18f5bfd
Compare
7d5575c to
24fadad
Compare
24fadad to
e4b796e
Compare
e4b796e to
541f9aa
Compare
541f9aa to
b5e2c1a
Compare
b5e2c1a to
0caf48e
Compare
0caf48e to
1db042b
Compare
1db042b to
265c4b1
Compare
c0e5daf to
aa04cf0
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/ui/src/components/ConfigureSSO/ConfigureSSO.tsx`:
- Line 1: The import line in ConfigureSSO.tsx duplicates useUser, causing an
import/no-duplicates lint error; edit the import statement `import {
__internal_useUserEnterpriseConnections, useOrganization, useUser, useUser }
from '@clerk/shared/react';` to remove the second `useUser` so each symbol is
only listed once (keep `__internal_useUserEnterpriseConnections`,
`useOrganization`, and `useUser`).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: 57d13034-c273-46f4-8e70-b521d99cd2d8
📒 Files selected for processing (2)
packages/ui/src/components/ConfigureSSO/ConfigureSSO.tsxpackages/ui/src/components/ConfigureSSO/ConfigureSSOContext.tsx
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/ui/src/components/ConfigureSSO/wizard/ConfigureSSOWizard.tsx`:
- Around line 180-181: The isFirstStep and isLastStep flags in
ConfigureSSOWizard.tsx are incorrectly computed to force nested wizards to never
be absolute-first/last by ANDing with !parentWizard; update the logic so
isFirstStep becomes (index <= 0) and isLastStep becomes (index ===
activeSteps.length - 1) regardless of parentWizard, while preserving any
existing local/relative navigation behavior elsewhere; adjust any places that
relied on the old flags (e.g., footer/navigation render) to respect the absolute
boundary flags so Previous/Next become no-op-disabled at true first/last
positions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: 4d798647-9ece-48ff-86be-e806b52877e1
📒 Files selected for processing (4)
packages/ui/src/components/ConfigureSSO/ConfigureSSO.tsxpackages/ui/src/components/ConfigureSSO/ConfigureSSOContext.tsxpackages/ui/src/components/ConfigureSSO/steps/index.tspackages/ui/src/components/ConfigureSSO/wizard/ConfigureSSOWizard.tsx
aa04cf0 to
8c7e926
Compare
8c7e926 to
551b23a
Compare
| return; | ||
| } | ||
|
|
||
| if (noUserExists(this)) { |
There was a problem hiding this comment.
Added this one that got missed on the first PR
8ff7711 to
17a34d2
Compare
17a34d2 to
a52fec0
Compare
a52fec0 to
bb1e4e2
Compare
bb1e4e2 to
a7f1340
Compare
iagodahlem
left a comment
There was a problem hiding this comment.
The declarative shape is great 👏 — I think we still need some improvements to better structure it and separate the wizard responsibilities into more layers, so we can easily extract those components for reuse later, but I think it's good enough as it is for now and we can follow up. Just two small alignment items I'd flag for this PR before the bigger refactor lands as a follow-up:
Flow.Part part=naming convention.isLoadingflowing throughConfigureSSOFlowContext.
| label='Configure' | ||
| > | ||
| <ConfigureSSOWizard> | ||
| {/* TODO: Implement configure steps */} |
There was a problem hiding this comment.
| {/* TODO: Implement configure steps */} |
| > | ||
| <ConfigureSSOFlowProvider | ||
| enterpriseConnection={enterpriseConnection} | ||
| isLoading={isLoadingEnterpriseConnections} |
There was a problem hiding this comment.
I think passing the initial isLoading down to the context and rendering it on the wizard might lead us to issues when invalidating the query, and also for instance, when we start determining the current step after a refresh I think it would be good to have the loading before the wizard even renders, so what do you think of lifting the initial loading state here to ConfigureSSO root? Something like:
const AuthenticatedContent = withCoreUserGuard(() => {
const { data, isLoading } = __internal_useUserEnterpriseConnections({ enabled: true });
if (isLoading && !data) {
return <FullSpinner />;
}
return (
// …existing layout…
<ConfigureSSOFlowProvider enterpriseConnection={data?.[0]}>
<ConfigureSSOSteps />
</ConfigureSSOFlowProvider>
);
});Happy to take this as a separate PR if you'd rather keep this one tight.
|
|
||
| export const TestConfigurationStep = (): JSX.Element => { | ||
| return ( | ||
| <Flow.Part part='test-sso'> |
There was a problem hiding this comment.
I think the convention for Flow.Part part= is camelCase across Sign-In / Sign-Up / SessionTasks / UserVerification (phoneCode2Fa, alternativeMethods, enterpriseConnections, chooseOrganization, etc.). The four other ConfigureSSO steps already follow that — only test-sso here and sso-confirmation in ConfirmationStep are kebab-case.
Description
Flow.Partper step typeTo be handled in next PRs:
CleanShot.2026-05-05.at.00.18.48.mp4
Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change