Console Mobile
A React Native mobile console built with Expo Router, covering the same operations surface as the web console: streaming console chat, integrations, autonomous sessions, and settings.Stack
Tabs
console, integrations, autonomous, and settings.
Streaming console
Messages stream over SSE into a Zustand store, with header actions for starting a new chat and stopping a stream in progress. Behavior that matters on mobile specifically:- Streaming pauses automatically when the app moves to background.
- A stream idle timeout retries and re-queues rather than hanging.
- Grouped messages, time separators for long gaps and day changes, and an unread counter on the “Latest” button while scrolled away.
- Per-message retry on failed user messages.
- Markdown rendering with tool-call cards, and a detail modal for long tool payloads.
- Long-press a bubble to share it; one-tap copy of the last assistant response.
Offline and network handling
- SQLite-backed offline persistence for console, integrations, and autonomous data.
- An offline send queue with retry and clear actions, auto-retrying while the app is active.
- Network-aware queueing wired into React Query’s online manager.
- React Query cache hydration, pull-to-refresh, and a focus manager that refetches on app resume.
Approvals
Human-in-the-loop approvals carry through to mobile: push notifications and deep links for approval requests, plus an approval history modal with pending counts.Security
- SecureStore-backed auth with cookie headers.
- Biometric and PIN lock with an inactivity timeout, lockout after failed attempts, and a trusted-device toggle.
- A sign-in guardrail that refuses a misconfigured production API base rather than silently pointing at the wrong environment.