Skip to content

feat: add push notifications with VAPID and OAuth MCP authentication#109

Closed
chriswritescode-dev wants to merge 13 commits intomainfrom
dev
Closed

feat: add push notifications with VAPID and OAuth MCP authentication#109
chriswritescode-dev wants to merge 13 commits intomainfrom
dev

Conversation

@chriswritescode-dev
Copy link
Owner

Summary

  • Push Notifications - Background alerts for agent events when PWA is closed using VAPID
  • OAuth MCP Authentication - Support OAuth flow for remote MCP servers
  • Mobile UI Improvements - Better text sizing and virtualized file viewer
  • Icon Fixes - Replace SquareFill with proper Lucide icons

Changes

Push Notifications

  • Add NotificationService with VAPID configuration and subscription management
  • Implement client visibility tracking to prevent duplicate notifications
  • Add notification routes for subscribe/test/manage subscriptions
  • Support permissionAsked, questionAsked, sessionError, and sessionIdle events
  • Configure browser service worker for push notification handling
  • Add PWA icons (192x192, 512x512) and maskable variants

MCP OAuth

  • Add OAuth authentication dialog for MCP servers
  • Support per-directory OAuth credentials
  • Handle OAuth start/complete flows with PKCE

UI Improvements

  • Responsive text sizing for mobile (15px base on small screens)
  • Increase FilePreview virtualization threshold to 50KB
  • Fix recording and stop button icons (MicOff, X instead of SquareFill)

- Add structured logging throughout push notification flow
- Improve error handling with detailed diagnostics
- Add /api/notifications/debug endpoint for troubleshooting
- Enhanced test notification response with per-subscription results
- Add service worker logging and better install/activate handling
…ter defaults

- Add validation warnings for VAPID_SUBJECT format (requires mailto: prefix for iOS/Safari)
- Expose VAPID details via notifications API endpoint
- Update default VAPID_SUBJECT from mailto:admin@opencode.local to empty string
- Enhance VAPID logging with key lengths and subject info
- Improve documentation in .env.example with setup instructions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant