feat(android): APK loads live web, fix cold-start deep links for Google OAuth

APK architecture change: replaces bundled React SPA with minimal redirect
page that always loads live web content. No more APK rebuilds for web changes.

Root cause of OAuth failure on Android:
1. Cold-start deep links lost — APK's old bundled JS called onOpenUrl()
   (warm-start listener only) but NOT getCurrent() which is required for
   cold-start deep links. Fix: redirect page + setupDeepLinkHandler both
   call getCurrent() before redirecting/navigating.
2. Session cookie was dropped — renderTauriDeepLinkPage returned a raw
   new Response() which overwrote the Set-Cookie header set by the
   callback handler. Fix: inject Set-Cookie into the Response.
3. tauri.conf.json frontendDist → "./web/dist-tauri" (redirect page)
4. Added @tauri-apps/plugin-deep-link and @tauri-apps/plugin-opener as
   web app deps so live-web imports work in Tauri WebView.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-16 03:47:22 +07:00
co-authored by Claude
parent 96f337ef46
commit 7148e1026e
6 changed files with 90 additions and 26 deletions
+3 -3
View File
@@ -4,10 +4,10 @@
"version": "0.1.0",
"identifier": "com.zeavis.edu",
"build": {
"frontendDist": "../web/dist",
"frontendDist": "../web/dist-tauri",
"devUrl": "http://localhost:5173",
"beforeBuildCommand": "cd ../web && bun run build",
"beforeDevCommand": "cd ../web && bun run dev"
"beforeBuildCommand": "echo 'Nothing to build (APK loads live web content)'",
"beforeDevCommand": "echo 'Dev mode - connect to localhost:5173'"
},
"app": {
"withGlobalTauri": false,