Adds missing action features to match the web dashboard:
- Merge PR button: green button when PR is mergeable, calls /api/prs/:id/merge
- CI checks list: individual checks with status icons and links
- "Ask to fix CI" button: sends "Please fix the failing CI checks" to agent
- Unresolved review comments: per-comment card with author, path, body
- "Ask Agent to Fix" per comment: sends context-specific message with file path
- Alert cards: CI failures, merge conflicts, changes requested warnings
- Spawn Session screen: create new sessions with project ID and optional issue ID
- "+" button on home screen header to spawn sessions
- PR title is now tappable (opens in browser)
- Color-coded CI/review/mergeability status values
- PR blockers list display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds `packages/mobile` — an Expo SDK 53 React Native app for monitoring
agent sessions from a phone.
Features:
- Home screen: Kanban-style session list sorted by attention level
- Session detail: metadata, PR link, CI status, branch info
- Terminal screen: full xterm.js terminal via WebView (port 14801)
- Settings screen: configurable backend URL (LAN IP or ngrok)
- Push notifications: background polling for attention-level changes
Improvements over PR #235:
- Fixed terminal onmessage handler to filter JSON control messages
(resize echoes no longer render as garbage text)
- Removed duplicate terminal.html (single source of truth in
terminal-html.ts)
- Fixed isDone check to include "cleanup" status using isTerminal()
Tech: Expo SDK 53, React Navigation 6, React Native WebView.
Two server connections: REST API (port 3000) + WebSocket terminal (14801).
The mobile package is excluded from the pnpm workspace to avoid
interfering with the monorepo toolchain.
Closes#265
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>