Commit Graph

3 Commits

Author SHA1 Message Date
e1aa8b1bdb feat: integrate Tauri v2 with Android widget and voice assistant
- Add Tauri v2 shell (Cargo, tauri.conf.json, capabilities, plugins)
- Migrate all fetch() calls to apiFetch() for Tauri-aware HTTP
- Migrate WebSocket endpoints to resolveEndpoints() for dynamic URLs
- Add ServerConfigDialog for remote server URL configuration
- Add tauri.ts lib with isTauri detection, apiFetch wrapper, plugin helpers
- Add server-config Pinia store with persistence via plugin-store
- Conditional PWA (disabled in Tauri builds)
- Android: home screen transcript widget (last 5 messages, 30s refresh)
- Android: voice command / share activity (SpeechRecognizer + WebSocket)
- Android: signed release APK with auto-copy to installers/
- Remove stale frontend/src-tauri directory
2026-02-23 15:33:43 -06:00
ba4a1a0059 fix: validate transcript sessions before resume and fix FAB race condition
Server now checks that transcript .jsonl files exist before creating
terminals, preventing dead sessions from --resume errors. Frontend
shows error banner in modal when resume fails. Fixed race condition
where init() would overwrite FAB terminal selection after page refresh
by guarding with pendingSwitchTarget flag.
2026-02-21 12:51:15 -06:00
88a857f645 feat: new session modal, status bar controls (Esc, C-m, close), sendRaw
- NewSessionModal with tabs: new session (agent + optional initial prompt)
  and resume existing (filterable by agent)
- Status bar: +new, Esc, Ctrl+M, terminal buttons; close with confirm
- sendRaw on EphemeralTerminal for raw control characters
- createNewSession accepts optional initialPrompt, auto-sent on ready
2026-02-20 14:54:49 -06:00