feat: Mobile-first remote access with QR codes and live sessions

Redesign the web server architecture for simplified mobile remote control:

- Replace per-session web servers with single server using random port and
  auto-generated security token for secure access
- Add "Live Session" toggle to enable/disable individual sessions for remote access
- Add QR code component for easy mobile connection scanning
- Remove tunnel settings and complex authentication management
- Add network utilities for IP address detection

Mobile web interface improvements:
- Device color scheme preference support (light/dark mode)
- Connection status indicator with automatic reconnection
- Offline queue for commands typed while disconnected
- Swipe gestures for common actions
- Quick actions menu for the send button

Update documentation to reflect new mobile-first remote access approach.

Claude ID: 3dd3573f-bed1-4a0e-984c-10081124092a
Maestro ID: 5a166b38-b7e9-47f0-a8ff-0113c65f2682
This commit is contained in:
Pedram Amini
2025-11-27 21:42:03 -06:00
parent f55230d5e7
commit bbf6612f35
21 changed files with 1550 additions and 2058 deletions

View File

@@ -30,7 +30,7 @@ Node.js backend with full system access:
|------|---------|
| `index.ts` | App entry, IPC handlers, window management |
| `process-manager.ts` | PTY and child process spawning |
| `web-server.ts` | Fastify HTTP/WebSocket server (port 8000) |
| `web-server.ts` | Fastify HTTP/WebSocket server for mobile remote control |
| `agent-detector.ts` | Auto-detect CLI tools via PATH |
| `preload.ts` | Secure IPC bridge via contextBridge |
| `utils/execFile.ts` | Safe command execution utility |
@@ -272,7 +272,6 @@ Manages all application settings with automatic persistence.
**What it manages:**
- LLM settings (provider, model, API key)
- Tunnel settings
- Agent settings (default agent)
- Shell settings (default shell)
- Font settings (family, size, custom fonts)
@@ -284,7 +283,6 @@ Manages all application settings with automatic persistence.
**Current Persistent Settings:**
- `llmProvider`, `modelSlug`, `apiKey`
- `tunnelProvider`, `tunnelApiKey`
- `defaultAgent`, `defaultShell`
- `fontFamily`, `fontSize`, `customFonts`
- `activeThemeId`