Fix
Pager alert audio fetch returning HTTP 400 on production
callId, systemId, and talkgroupId were placed into the FCM data payload as raw integers. Go's JSON decoder unmarshals all JSON numbers into float64 when the destination is interface{}, so the relay server converted 29874435 to float64(29874435) and formatted it with %v, producing "2.9874435e+07".
The mobile app then built the audio URL as /api/calls/2.9874435e+07/audio, which the scanner server rejected with HTTP 400 — meaning pager alerts woke the phone via CallKit but never played audio.
All three IDs are now serialised to strings with fmt.Sprintf("%d", ...) before being placed in the payload. The relay receives and forwards them as plain decimal strings unchanged.
Affected path
sendBuildNotificationData in push_notification.go (shared by both sendPushNotification and sendBatchedPushNotificationWithToneSet)