diff --git a/.changeset/happy-radios-juggle.md b/.changeset/happy-radios-juggle.md new file mode 100644 index 00000000000..3a0199b6f5a --- /dev/null +++ b/.changeset/happy-radios-juggle.md @@ -0,0 +1,7 @@ +--- +'@clerk/clerk-js': patch +'@clerk/clerk-react': patch +'@clerk/types': patch +--- + +Rename ` __experimental_nextTask` to `__experimental_navigateToTask` diff --git a/packages/clerk-js/src/core/__tests__/clerk.test.ts b/packages/clerk-js/src/core/__tests__/clerk.test.ts index 13625f98461..b8238723cb1 100644 --- a/packages/clerk-js/src/core/__tests__/clerk.test.ts +++ b/packages/clerk-js/src/core/__tests__/clerk.test.ts @@ -2284,7 +2284,7 @@ describe('Clerk singleton', () => { await sut.load(mockedLoadOptions); await sut.setActive({ session: mockResource as any as PendingSessionResource }); - await sut.__experimental_nextTask(); + await sut.__experimental_navigateToTask(); expect(mockNavigate.mock.calls[0][0]).toBe('/sign-in#/tasks/add-organization'); }); @@ -2328,7 +2328,7 @@ describe('Clerk singleton', () => { await sut.setActive({ session: mockSession as any as ActiveSessionResource }); const redirectUrlComplete = '/welcome-to-app'; - await sut.__experimental_nextTask({ redirectUrlComplete }); + await sut.__experimental_navigateToTask({ redirectUrlComplete }); console.log(mockNavigate.mock.calls); diff --git a/packages/clerk-js/src/core/clerk.ts b/packages/clerk-js/src/core/clerk.ts index 2d2e9ae77ca..2e693490fd0 100644 --- a/packages/clerk-js/src/core/clerk.ts +++ b/packages/clerk-js/src/core/clerk.ts @@ -1198,7 +1198,7 @@ export class Clerk implements ClerkInterface { this.#emit(); }; - public __experimental_nextTask = async ({ redirectUrlComplete }: NextTaskParams = {}): Promise => { + public __experimental_navigateToTask = async ({ redirectUrlComplete }: NextTaskParams = {}): Promise => { const session = await this.session?.reload(); if (!session || !this.environment) { return; @@ -1215,7 +1215,7 @@ export class Clerk implements ClerkInterface { } const tracker = createBeforeUnloadTracker(this.#options.standardBrowser); - const defaultRedirectUrlComplete = this.client?.signUp ? this.buildAfterSignUpUrl() : this.buildAfterSignUpUrl(); + const defaultRedirectUrlComplete = this.client?.signUp ? this.buildAfterSignUpUrl() : this.buildAfterSignInUrl(); this.#setTransitiveState(); diff --git a/packages/clerk-js/src/ui/components/SessionTasks/index.tsx b/packages/clerk-js/src/ui/components/SessionTasks/index.tsx index dc97a5cb0f5..5aecb49e7e4 100644 --- a/packages/clerk-js/src/ui/components/SessionTasks/index.tsx +++ b/packages/clerk-js/src/ui/components/SessionTasks/index.tsx @@ -21,7 +21,7 @@ const SessionTasksStart = withCardStateProvider(() => { useEffect(() => { // Simulates additional latency to avoid a abrupt UI transition when navigating to the next task const timeoutId = setTimeout(() => { - void clerk.__experimental_nextTask({ redirectUrlComplete }); + void clerk.__experimental_navigateToTask({ redirectUrlComplete }); }, 500); return () => clearTimeout(timeoutId); }, [navigate, clerk, redirectUrlComplete]); @@ -80,7 +80,7 @@ export function SessionTask(): JSX.Element { }, [clerk, navigate, redirectUrlComplete]); const nextTask = useCallback( - () => clerk.__experimental_nextTask({ redirectUrlComplete }), + () => clerk.__experimental_navigateToTask({ redirectUrlComplete }), [clerk, redirectUrlComplete], ); diff --git a/packages/react/src/isomorphicClerk.ts b/packages/react/src/isomorphicClerk.ts index 5b9e282e060..86907ce5c04 100644 --- a/packages/react/src/isomorphicClerk.ts +++ b/packages/react/src/isomorphicClerk.ts @@ -693,9 +693,9 @@ export class IsomorphicClerk implements IsomorphicLoadedClerk { } }; - __experimental_nextTask = async (params?: NextTaskParams): Promise => { + __experimental_navigateToTask = async (params?: NextTaskParams): Promise => { if (this.clerkjs) { - return this.clerkjs.__experimental_nextTask(params); + return this.clerkjs.__experimental_navigateToTask(params); } else { return Promise.reject(); } diff --git a/packages/types/src/clerk.ts b/packages/types/src/clerk.ts index e128fa2407f..2a25b82e7dd 100644 --- a/packages/types/src/clerk.ts +++ b/packages/types/src/clerk.ts @@ -706,10 +706,10 @@ export interface Clerk { /** * Navigates to the next task or redirects to completion URL. * If the current session has pending tasks, it navigates to the next task. - * If all tasks are complete, it navigates to the provided completion URL. + * If all tasks are complete, it navigates to the provided completion URL or defaults to the origin redirect URL (either from sign-in or sign-up). * @experimental */ - __experimental_nextTask: (params?: NextTaskParams) => Promise; + __experimental_navigateToTask: (params?: NextTaskParams) => Promise; /** * This is an optional function.