mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 21:10:59 +00:00
`apns-collapse-id` is a replace directive: a push carrying an id supersedes the earlier undelivered push with the same id. Every medication reminder carried the literal string MEDICATION_REMINDER, so three medications due at 08:00 arrived on the phone as one notification naming one of them. The user takes that one and misses the others with nothing on screen to suggest anything was dropped. Key the collapse on the per-slot tag the Web Push sender already coalesces on, falling back to the event type when a payload carries none. Grouping stays on `threadId`, which is what grouping is for. Discreet mode keeps the generic id — no record-identifying string on the lock screen — and a tag over Apple's 64-byte ceiling falls back rather than costing the send.