Originally created by: kristofferR
On macOS, Carrier attaches the sender's avatar as an image attachment (macos/notifications.rs:401). The app icon stays the main image, and group chats don't get their name and picture the way Messages and other chat apps do.
INSendMessageIntent with an INPerson sender (name, avatar, stable handle from the real senderId) and, for groups, a speakable group name and the group picture, then update the notification content from the intent. macOS then shows the sender's face in place of the app icon and groups notifications per conversation. fMess reference: notify.rs:466-532.com.apple.developer.usernotifications.communication entitlement, which needs a provisioning profile (works with Developer ID), plus NSUserActivityTypes in Info.plist. See fMess's Entitlements.signed.plist (github.com).1:1 and group notifications on macOS 13+ in a Developer ID–signed build; quick reply and clear-on-read still work; ad-hoc debug builds fall back cleanly.
Part of [#349].
Originally posted by: kristofferR
A group notification's
INSendMessageIntentnow carries the group's own picture as the image forspeakableGroupName, as Messages shows it. It comes from Messenger'sgetLSMediaThreadPictureUrl(the photo set for the group; https only), is converted like the sender avatar, and is decoded and size-limited natively by the same path. A group without its own photo gets no image, so macOS draws it from its members; a member's face is never used for the group.Not live-tested: no group chat with both test accounts was available, so the group picture is covered by unit tests only. On the Mac (CI-signed build with the communication entitlement), one-to-one notifications were confirmed unchanged: still communication notifications with the sender's face (
MessagingDirect, sender image) in the unified log.Related
Tickets:
#395Tickets:
#408Ticket changed by: kristofferR