You will be automatically redirected back to your app shortly.
++ If you are not redirected, please click on the following + link. +
+diff --git a/src/routes/auth/oauth2/failure/+page.svelte b/src/routes/auth/oauth2/failure/+page.svelte
index 359c6ffdca..928ad82c4e 100644
--- a/src/routes/auth/oauth2/failure/+page.svelte
+++ b/src/routes/auth/oauth2/failure/+page.svelte
@@ -2,20 +2,56 @@
import { goto } from '$app/navigation';
import { page } from '$app/stores';
import { Heading } from '$lib/components';
- import { onMount } from 'svelte';
- onMount(async () => {
- const project = $page.url.searchParams.get('project');
- if (project) {
- await goto(`appwrite-callback-${project}://${$page.url.search}`);
+ const project = $page.url.searchParams.get('project');
+ const link = `appwrite-callback-${project}://${$page.url.search}`;
+
+ const redirect = new Promise((resolve, reject) => {
+ if (!project) {
+ reject('no-project');
}
+ // this timeout is needed because goto does not
+ // throw an exception if the redirect does not work
+ setTimeout(() => reject('timeout'), 500);
+ // goto will resolve on successful redirect
+ goto(link).then(resolve);
});
-
- Your OAuth login flow is missing a proper redirect URL. Please check the - OAuth docs - and send request for new session with a valid callback URL. -
+{#await redirect then} +You will be automatically redirected back to your app shortly.
++ If you are not redirected, please click on the following + link. +
++ Your OAuth login flow is missing a proper redirect URL. Please check the + OAuth docs + and send request for new session with a valid callback URL. +
+- Your OAuth login flow is missing a proper redirect URL. Please check the - OAuth docs - and send request for new session with a valid callback URL. -
+{#await redirect then} +You will be automatically redirected back to your app shortly.
++ If you are not redirected, please click on the following + link. +
++ Your OAuth login flow is missing a proper redirect URL. Please check the + OAuth docs + and send request for new session with a valid callback URL. +
+