# 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.
