v0.8.25 - Push Notifications Support
Major Features
Push Notifications with VAPID
- Added background push notification support for agent events when PWA is closed
- Implemented VAPID (Voluntary Application Server Identification) for browser push notifications
- Client visibility tracking to prevent duplicate notifications when app is open
- Support for 4 event types:
- permissionAsked - Agent requests permission for an action
- questionAsked - Agent asks a clarifying question
- sessionError - Session encounters an error
- sessionIdle - Session completes successfully
- Full subscription management: subscribe, unsubscribe, list devices, test notifications
- Per-user notification preferences with granular event control
PWA Enhancements
- Added PWA icons (192x192, 512x512) for better mobile home screen experience
- Added maskable icon variants for adaptive icon support on Android
- Apple touch icon for iOS PWA installation
- Enhanced manifest.json with proper icon metadata
- Service worker configuration for push notification handling
Notification Service Architecture
- New NotificationService backend service with VAPID configuration
- Database schema for push subscription management
- Automatic expired subscription cleanup
- Integration with SSE aggregator for event-driven notifications
- Settings service integration for user preferences
Documentation
- Comprehensive push notifications setup guide in docs/features/notifications.md
- Environment variable documentation for VAPID configuration
- Browser compatibility notes including iOS/Safari specific requirements
- VAPID_SUBJECT validation warnings for Apple Push Notification Service
- README updates with push notification feature description
Frontend Improvements
Notification Settings UI
- New NotificationSettings component for managing push subscriptions
- Real-time permission status display and enable/disable controls
- Device list showing endpoint, device name, and last used timestamp
- Test notification button for verification
- Granular event preference toggles
Icon Improvements
- Replace SquareFill with proper Lucide icons for recording controls
- MicOff icon for stop recording buttons
- X icon for stop generation buttons
- Better visual consistency with Lucide icon set
Installation
Docker users:
```bash
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latest
```
Or specific version:
```bash
docker pull ghcr.io/chriswritescode-dev/opencode-manager:v0.8.25
```
Stats
- Files changed: 48
- Lines added: +7,279
- Lines removed: -2,840
- Net change: +4,439 lines
Full changelog: v0.8.24...v0.8.25