diff --git a/keyserver/src/push/crypto.js b/keyserver/src/push/crypto.js --- a/keyserver/src/push/crypto.js +++ b/keyserver/src/push/crypto.js @@ -35,7 +35,8 @@ }> { invariant( !notification.collapseId, - 'Collapsible notifications encryption currently not implemented', + `Collapse ID can't be directly stored in apn.Notification object due ` + + `to security reasons. Please put it in payload property`, ); const encryptedNotification = new apn.Notification(); diff --git a/keyserver/src/push/send.js b/keyserver/src/push/send.js --- a/keyserver/src/push/send.js +++ b/keyserver/src/push/send.js @@ -967,7 +967,7 @@ if (platformDetails.codeVersion && platformDetails.codeVersion > 198) { notification.mutableContent = true; } - if (collapseKey && canDecryptAllNotifTypes) { + if (collapseKey && (canDecryptAllNotifTypes || canDecryptMacOSNotifs)) { notification.payload.collapseID = collapseKey; } else if (collapseKey) { notification.collapseId = collapseKey;