# Push Notification Test Payloads

Simulate push notifications on iOS Simulator without a server.

## Usage

```bash
# Find booted simulator ID
xcrun simctl list devices booted

# Send message push (triggers NSE — mutable-content)
xcrun simctl push booted com.rosetta.dev tools/push-test/message.apns

# Send read push (triggers AppDelegate — content-available)
xcrun simctl push booted com.rosetta.dev tools/push-test/read.apns

# Send call push
xcrun simctl push booted com.rosetta.dev tools/push-test/call.apns
```

## Testing the read eligibility fix

1. Open a chat, scroll to bottom
2. Background the app (Cmd+Shift+H)
3. Send a message push: `xcrun simctl push booted com.rosetta.dev tools/push-test/message.apns`
4. Return to app
5. Verify: message should NOT be auto-marked as read

## Notes

- `mutable-content: 1` — NSE processes (badge, sound, mute filter)
- `content-available: 1` — AppDelegate `didReceiveRemoteNotification` fires
- NSE does NOT run on Simulator — only AppDelegate path is testable
- For full NSE testing, use a physical device with TestFlight
