Read pushes on feat/ui-redesign (ported from PR #33): the APNs token asks mod_apush for them (apushRead: 1, never the PushKit one), and a silent background push of kind: read withdraws the chat's delivered notices by its thread, so a chat read or a… #35
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/push-read-withdraw-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
…nswered on another device no longer leaves its notice on the lock screen of a phone whose app is frozen or killed (the user, 2026-11-06: "72 new messages" for a room read on the desktop). anotherim-server feat/read-push (8938a8c) and apushd feat/read-push (0e24a35) send it as an APNs
backgroundpush with the sealed summary.AppDelegate (iOS) gets the background-push handler; it reuses ChatNotificationWithdrawal, whose
withdrawis now async so the handler waits for it before iOS suspends the app (the OwnRead path runs it in a Task). AppPushPayload readskind: "read"with a chat as.read(account:chat:). Unlike the master PR, a message summary withcount: 0stays a message (as PushEnvelopeTests pinned since8846f6a): it comes as an alert through the notification service extension, which shows only a summary. project.yml adds theremote-notificationbackground mode, without which iOS delivers no silent push; wake pushes now reach the app too and are answered.noData.Tests: PushEnvelopeTests (the read push, one without a chat refused, apushRead only on the APNs token), TackyAPITests' set_target frame. All 572 AnotherIMTests pass on the iOS 27 simulator; the macOS app builds. Not yet tried end to end on a device.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
apushRead: 1, never the PushKit one), and a silent background push ofkind: readwithdraws the chat's delivered notices by its thread, so a chat read or answered on another device no longer leaves its notice on the lock screen of a phone whose app is frozen or killed (the user, 2026-11-06: "72 new messages" for a room read on the desktop). anotherim-server feat/read-push (8938a8c) and apushd feat/read-push (0e24a35) send it as an APNsbackgroundpush with the sealed summary. fb7c26432bfb7c26432btod4900cb588