# Alfred Mobile - Changelog

## [Unreleased] - 2026-02-03

### Fixed
- **NO_REPLY filtering**: Internal NO_REPLY messages no longer appear in chat UI
- **Text selection**: Long-press text selection restored (regression fix - moved SelectionContainer outside Card)
- **VAD timing**: Increased silence thresholds to allow for thinking pauses and natural speech
  - Complete silence: 5s → 6.5s
  - Possibly complete: 4s → 5s
  - Minimum recording: 10s → 12s

### Added
- **Auto-reconnection**: Automatic reconnection with exponential backoff when connection drops
  - 10 max attempts with 1s → 2s → 4s → 8s → 16s → 30s delays
  - Status bar shows reconnection progress
  - Battery-friendly with max retry limits
- **Mobile notifications**: Complete push notification system via mobile-notify CLI
  - Instant alerts
  - Countdown timers
  - Scheduled reminders
  - Background notifications
- **Alarm system**: Repeating alarms that require dismissal
  - `AlarmManager.kt` - Manages repeating sound + vibration
  - `mobile-notify alarm` command for scheduled alarms
  - `--alarm` flag for instant alarms
  - Plays system alarm sound on loop until dismissed
  - Persistent notification that can't auto-dismiss
  - Say "dismiss alarm" to stop
- **Reminders skill**: Alfred now knows how to use mobile-notify for mobile reminders and when to use alarms vs notifications

### Documentation
- Added `ARCHITECTURE.md` - Complete system architecture diagrams (sanitized for sharing)
- Added `RECONNECTION.md` - Auto-reconnection feature documentation
- Added `AGENT_TOOLS.md` - Mobile notification integration guide
- Added `skills/reminders/SKILL.md` - Reminder skill for Alfred
- Updated `android-app-todo.md` - Tracked bug fixes and remaining issues

## [1.0.0] - 2026-02-02

### Added
- Initial release
- OAuth2 authentication via Authentik
- WebSocket connection to OpenClaw gateway
- Chat interface with message history
- Voice-to-text (Android SpeechRecognizer)
- Text-to-speech (ElevenLabs API)
- Wake word detection (Vosk offline)
- Conversation persistence
- Background notifications
- Lifecycle-aware behavior

### Security
- Two-token architecture (OAuth + OpenClaw tokens)
- Localhost-only OpenClaw gateway
- OAuth proxy for token validation
- SSL termination at HAProxy
- Token expiry validation with 30s buffer
