36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# Push Notification Testing — Shark Game
|
|
|
|
## iOS Safari Limitation
|
|
|
|
PushManager is NOT available in Safari on iPhone when browsing normally. It ONLY
|
|
works when the page is launched from a Home Screen PWA icon (Add to Home Screen).
|
|
|
|
Test flow for iOS:
|
|
1. Visit shark.iamgmb.com/push-test.html
|
|
2. Tap Share icon -> Add to Home Screen
|
|
3. Open the test page from the Home Screen icon
|
|
4. Tap Enable Push Notifications — all steps should pass
|
|
|
|
## Standalone Test Page
|
|
|
|
/push-test.html at /var/www/shark-game/push-test.html shows a full diagnostic
|
|
log of each push setup step. No login required.
|
|
|
|
## Subscription Endpoint
|
|
|
|
POST /api/push/subscribe requires JWT auth.
|
|
POST /api/push/subscribe-noauth stores under user_id=0 (for testing only).
|
|
|
|
Both expect: {endpoint, p256dh, auth}
|
|
|
|
## Banner Visibility Bug
|
|
|
|
The pushBanner div starts with style="display:none". The JS function
|
|
showNotificationBanner() must explicitly set banner.style.display = 'block'.
|
|
Without this, the banner exists in the DOM but is never visible.
|
|
|
|
## VAPID Keys
|
|
|
|
Generated once, stored in /root/shark-game/backend/server.py as module-level
|
|
variables. Public key exposed at GET /api/push/vapid-public-key.
|