feat: PWA push notifications — service worker, VAPID, subscription management
- Add web-push VAPID backend with push_subscriptions table (migration 078) - Backend push module with sendPushToUser/sendPushToRoom helpers - Push routes: GET vapid-key, POST subscribe, DELETE unsubscribe - Trigger push on new chat messages in direct/group rooms - PWA manifest, service worker, and icons (72–512px) - Frontend push lib: SW registration, subscribe/unsubscribe helpers - Push API in api.ts, SW registered in main.tsx - usePushSubscription hook for auto-subscribe on permission grant - PushPermissionRow component in ChatWidget settings view Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BIN
public/icons/icon-128.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/icons/icon-144.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icons/icon-152.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/icons/icon-180.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
public/icons/icon-192.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/icons/icon-384.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
public/icons/icon-512.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/icons/icon-72.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/icons/icon-96.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |