The iOS push work needs two things the shipped feature does not provide: deregistration needs the device row id, and the app icon needs a badge count.
notifications device addnow returns the row idAddPushDevicealready had, instead of discarding it. A client that wants to deregister previously had to list devices and match its own token against the truncated display value.DuePushnow counts the recipient's unread inbox rows in a subquery and carries it asQueuedPush.Badge. Counted at send time rather than at enqueue, so an inbox cleared in the seconds before delivery is reflected.Sendgains abadge intparameter (afteruser) and puts it inaps.badge.
No schema change, no new Go module dependency.
Ref #89