Skip to content

Commit 655ed7e

Browse files
committed
chore: scope oauth retry fix
1 parent ab7de70 commit 655ed7e

3 files changed

Lines changed: 5 additions & 47 deletions

File tree

.changeset/curly-cameras-laugh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"@clerk/clerk-js": patch
33
---
44

5-
Fix Core 3 OAuth retry routing to the previously selected provider after an abandoned redirect or BFCache restore.
5+
Fix Core 3 OAuth retry routing to the previously selected provider after an abandoned redirect.

packages/clerk-js/src/utils/__tests__/runAsyncResourceTask.test.ts

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -62,30 +62,4 @@ describe('runAsyncTask', () => {
6262
status: 'idle',
6363
});
6464
});
65-
66-
it('resets fetch status when a pending task is restored from bfcache', async () => {
67-
const emitSpy = vi.spyOn(eventBus, 'emit');
68-
let resolveTask: () => void;
69-
const task = vi.fn(
70-
() =>
71-
new Promise<void>(resolve => {
72-
resolveTask = resolve;
73-
}),
74-
);
75-
76-
const pendingTask = runAsyncResourceTask(resource, task);
77-
await Promise.resolve();
78-
79-
const pageShowEvent = new Event('pageshow') as PageTransitionEvent;
80-
Object.defineProperty(pageShowEvent, 'persisted', { value: true });
81-
window.dispatchEvent(pageShowEvent);
82-
83-
expect(emitSpy).toHaveBeenNthCalledWith(3, 'resource:fetch', {
84-
resource,
85-
status: 'idle',
86-
});
87-
88-
resolveTask!();
89-
await pendingTask;
90-
});
9165
});

packages/clerk-js/src/utils/runAsyncResourceTask.ts

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,6 @@ export async function runAsyncResourceTask<T>(
1111
resource: BaseResource,
1212
task: () => Promise<T>,
1313
): Promise<{ result?: T; error: ClerkError | null }> {
14-
const resetFetchStatus = () => {
15-
eventBus.emit('resource:fetch', {
16-
resource,
17-
status: 'idle',
18-
});
19-
};
20-
const resetFetchStatusOnPageShow = (event: PageTransitionEvent) => {
21-
if (event.persisted) {
22-
resetFetchStatus();
23-
}
24-
};
25-
26-
if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {
27-
window.addEventListener('pageshow', resetFetchStatusOnPageShow);
28-
}
29-
3014
eventBus.emit('resource:error', { resource, error: null });
3115
eventBus.emit('resource:fetch', {
3216
resource,
@@ -41,9 +25,9 @@ export async function runAsyncResourceTask<T>(
4125
// TODO @userland-errors:
4226
return { error: err };
4327
} finally {
44-
if (typeof window !== 'undefined' && typeof window.removeEventListener === 'function') {
45-
window.removeEventListener('pageshow', resetFetchStatusOnPageShow);
46-
}
47-
resetFetchStatus();
28+
eventBus.emit('resource:fetch', {
29+
resource,
30+
status: 'idle',
31+
});
4832
}
4933
}

0 commit comments

Comments
 (0)