Architecture: Where should the vitto:// deep link redirect logic live?
Documentation for Sessions
🏗️ Architecture: Where should the vitto:// deep link redirect logic live?
Date: 2026-02-25
Time: 03:31:25 UTC
Session: gspace1-141.4
Agent: angular
Confidence: 92%
Status: ✅ Documented
📋 Decision Context
Question:
Where should the vitto:// deep link redirect logic live?
Task: Vitto desktop auth - DRY reusable OAuth service
🎯 Decision Made
Chosen:
DesktopOAuthService in @libs-ui/auth-ui — two methods: redirectToNativeApp() (browser side) and restoreFromDeepLinkPayload() (Tauri WebView side)
Options Considered:
- No alternatives documented
💭 Reasoning
Per user requirement: auth logic must be DRY and reusable across Tauri desktop, Chrome extension, VSCode extension. Placing in auth-ui lib (same pattern as @libs-api/auth-core for backend) means any new native client gets the handshake for free. Both DesktopAuthPageComponent and DesktopWelcomeComponent now use the service instead of duplicating the btoa/encode/redirect logic.
📁 Files Involved
libs/libs-ui/auth-ui/src/lib/services/desktop-oauth.service.tslibs/libs-ui/auth-ui/src/lib/services/index.tsapps/gograb-ai/src/app/pages/desktop-auth/desktop-auth.component.tsapps/gograb-ai/src/app/pages/desktop-welcome/desktop-welcome.component.ts
🔗 Related
- Decision ID:
dev_1771990285058_6qu0g7g - Session: 141
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation