Architecture: Which deep link URL scheme should Vitto Mobile use — vitto:/...

Documentation for Sessions

🏗️ Architecture: Which deep link URL scheme should Vitto Mobile use — vitto:/...

Date: 2026-02-26
Time: 22:13:10 UTC
Session: gspace1-148.4
Agent: angular
Confidence: 93%
Status: ✅ Documented


📋 Decision Context

Question:

Which deep link URL scheme should Vitto Mobile use — vitto:// or gograb-ai://?

Task: Unify deep link URL scheme for Vitto Mobile


🎯 Decision Made

Chosen:

Unified vitto:// scheme for both desktop and mobile. Same scheme as Tauri desktop app.

Options Considered:

  1. gograb-ai:// for mobile, vitto:// for desktop
  2. vitto:// for both platforms
  3. Use Universal Links / App Links (HTTPS-based) instead of custom schemes

💭 Reasoning

ROOT CAUSE: Session 144 scaffolded the Capacitor config with a comment saying 'gograb-ai://auth?token=...' but DesktopOAuthService.buildDeepLink() defaults to scheme 'vitto'. The Tauri desktop already registers and handles vitto://auth. Using a different scheme for mobile creates: (1) confusion about which scheme does what, (2) the need to pass a platform-specific scheme parameter to the auth page, (3) divergent configuration across platforms. ALTERNATIVES: (1) gograb-ai:// for mobile, vitto:// for desktop — rejected: requires auth page to know which platform launched it. (2) vitto:// for both — chosen: auth page always redirects to vitto://auth, both Tauri and Capacitor register vitto:// as their URL scheme. On macOS, Tauri owns vitto://. On iOS/Android, Capacitor owns it. No conflict since Tauri and Capacitor never run on the same OS. WHY THIS COULD BE WRONG: If Tauri ever ships an iOS/Android build (Tauri v3 roadmap), both apps would fight over vitto://. Mitigation: use Associated Domains / App Links (HTTPS-based) instead of custom schemes at that point.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation