diff --git a/apps/api/src/routes/auth.ts b/apps/api/src/routes/auth.ts index 4b2e29c..bbc09b4 100644 --- a/apps/api/src/routes/auth.ts +++ b/apps/api/src/routes/auth.ts @@ -80,7 +80,9 @@ function renderTauriDeepLinkPage(targetUrl: string): Response { const escapedPath = pathAndQuery.replace(/"/g, '"'); // intent:// scheme: Chrome on Android opens the target app by package name // browser_fallback_url: shown if the app isn't installed - const intentUrl = `intent:${escapedPath}#Intent;scheme=zeavisedu;package=com.zeavis.edu;S.browser_fallback_url=${encodeURIComponent(targetUrl)};end`; + // Use intent://login/... to produce data URI zeavisedu://login/login?token=xxx + // which new URL() can parse (single-slash non-hierarchical URLs break WebView) + const intentUrl = `intent://login${escapedPath}#Intent;scheme=zeavisedu;package=com.zeavis.edu;S.browser_fallback_url=${encodeURIComponent(targetUrl)};end`; const html = `
diff --git a/apps/web/src/lib/tauri.ts b/apps/web/src/lib/tauri.ts index cd9ee8c..29b54e7 100644 --- a/apps/web/src/lib/tauri.ts +++ b/apps/web/src/lib/tauri.ts @@ -35,20 +35,25 @@ export async function setupDeepLinkHandler(): Promise