- Add repoContext parameter to Gateway agent method
- Update AgentParamsSchema to include repoContext (owner/name/branch)
- Add repoContext to AgentCommandOpts type
- Pass repoContext through gateway to agent command
- Fix streaming implementation with proper enum usage (MessageRole, ToolCallStatus)
- Add disabled prop to MessageInputView
- Clean up lint issues (remove unused imports)
The mobile app can now send repository context (owner/repo/branch) when starting
a coding session. The gateway will receive this context and pass it to the agent
command, preparing for workspace clone/checkout implementation.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add GitHub API service for fetching user repos and branches
- Add settings view for GitHub username and gateway URL
- Update NewSessionSheet to use real GitHub data
- Add Gateway WebSocket client for real-time communication
- Add useGateway hook for agent event streaming
- Prepare for real-time tool call streaming in ChatView
Co-Authored-By: Claude <noreply@anthropic.com>
Port of SwiftUI iOS app to Expo/React Native for cross-platform support.
- Session list with repository info and status
- Chat view with collapsible tool executions
- Message input with model/repo/branch selection chips
- PR creation flow simulation
- Dark theme matching Claude Code aesthetic
- KeyboardAvoidingView for proper keyboard handling
https://claude.ai/code/session_018qmTB96S8xvNRQFrhcvzJp
- Create new iOS app at apps/ios-github-mobile
- Session list view with repository info and status
- Chat view with collapsible tool executions (Write, Bash, Read)
- Message input with model/repo/branch selection chips
- PR creation flow simulation
- Dark theme matching Claude Code aesthetic
- Mock data for repos, sessions, and tool calls
- Modern SwiftUI with @Observable, NavigationStack
https://claude.ai/code/session_018qmTB96S8xvNRQFrhcvzJp
Add Mattermost as a supported messaging channel with bot API and WebSocket integration. Includes channel state tracking (tint, summary, details), multi-account support, and delivery target routing. Update documentation and tests to include Mattermost alongside existing channels.
- Disable Talk mode start on iOS simulator (no audio input)
- Validate audio input format before installing tap to avoid
AVFAudio assertion crashes on misconfigured devices.
Tested:
- Launched app on iOS simulator and tapping Talk no longer crashes
(shows error path instead).
Use the timeout provided on node invoke requests to ensure node
clients always respond with a result.
This prevents gateway-side node.invoke calls from hanging until the
gateway timeout when a node command stalls.
Tests:
- swift test --filter GatewayNodeSessionTests