-
Notifications
You must be signed in to change notification settings - Fork 600
fix: a user cannot click outside of the org selection modal #5031
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mcstepp
wants to merge
6
commits into
main
Choose a base branch
from
ENG-2460-fix-workspace-picker
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
7d049e9
fix: a user cannot click outside of the org selection modal
mcstepp 379b074
use errorMessage instead of hard coding messages
mcstepp dd7923d
restore x closing functionality
mcstepp 83ad69b
fix rabbit, fix flash of empty state
mcstepp 42bae77
clear last used workspace when auto-selection fails
mcstepp 83fd659
Merge branch 'main' into ENG-2460-fix-workspace-picker
mcstepp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,13 @@ | ||
| "use client"; | ||
|
|
||
| import { FadeIn } from "@/components/landing/fade-in"; | ||
| import { getCookie } from "@/lib/auth/cookies"; | ||
| import { PENDING_SESSION_COOKIE, UNKEY_LAST_ORG_COOKIE } from "@/lib/auth/types"; | ||
| import { deleteCookie, getCookie } from "@/lib/auth/cookies"; | ||
| import { | ||
| AuthErrorCode, | ||
| PENDING_SESSION_COOKIE, | ||
| UNKEY_LAST_ORG_COOKIE, | ||
| errorMessages, | ||
| } from "@/lib/auth/types"; | ||
| import { ArrowRight } from "@unkey/icons"; | ||
| import { Empty, Loading } from "@unkey/ui"; | ||
| import Link from "next/link"; | ||
|
|
@@ -77,15 +82,31 @@ function SignInContent() { | |
| completeOrgSelection(lastUsedOrgId) | ||
| .then((result) => { | ||
| if (!result.success) { | ||
| // Auto-selection failed - clear last used workspace to prevent retry loop | ||
| deleteCookie(UNKEY_LAST_ORG_COOKIE).catch(() => { | ||
| // Ignore cookie deletion errors | ||
| }); | ||
|
|
||
| setError(result.message); | ||
| setIsLoading(false); | ||
| setIsAutoSelecting(false); | ||
|
|
||
| // If session expired, the pending auth was already cleared | ||
| // Just show the error and let user see org selector | ||
| if (result.code === AuthErrorCode.PENDING_SESSION_EXPIRED) { | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this seems pointless, why are we doing an if check if we don't run any conditional code? |
||
| // Session expired error already shown, user will see sign-in form | ||
| } | ||
| return; | ||
| } | ||
| // On success, redirect to the dashboard | ||
| router.push(result.redirectTo); | ||
| }) | ||
| .catch((_err) => { | ||
| // Clear last used workspace on error | ||
| deleteCookie(UNKEY_LAST_ORG_COOKIE).catch(() => { | ||
| // Ignore cookie deletion errors | ||
| }); | ||
|
|
||
| setError("Failed to automatically sign in. Please select your workspace."); | ||
| setIsLoading(false); | ||
| setIsAutoSelecting(false); | ||
|
|
@@ -150,7 +171,7 @@ function SignInContent() { | |
| const checkSessionValidity = async () => { | ||
| const pendingSession = await getCookie(PENDING_SESSION_COOKIE); | ||
| if (!pendingSession) { | ||
| setError("Your session has expired. Please sign in again."); | ||
| setError(errorMessages[AuthErrorCode.PENDING_SESSION_EXPIRED]); | ||
| // Clear the orgs query parameter to reset to sign-in form | ||
| router.push("/auth/sign-in"); | ||
| } | ||
|
|
@@ -178,14 +199,9 @@ function SignInContent() { | |
| ); | ||
| } | ||
|
|
||
| const handleOrgSelectorClose = () => { | ||
| // When user closes the org selector, navigate back to clean sign-in page | ||
| router.push("/auth/sign-in"); | ||
| }; | ||
|
|
||
| // Only show org selector if we have pending auth and we're not actively auto-selecting | ||
| return hasPendingAuth && !isAutoSelecting ? ( | ||
| <OrgSelector organizations={orgs} lastOrgId={lastUsedOrgId} onClose={handleOrgSelectorClose} /> | ||
| <OrgSelector organizations={orgs} lastOrgId={lastUsedOrgId} /> | ||
| ) : ( | ||
| <div className="flex flex-col gap-10"> | ||
| {accountNotFound && ( | ||
|
|
||
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.