You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-28 05:03:59 +03:00
Calculate unread badges for encrypted events
This commit is contained in:
@@ -2304,7 +2304,20 @@ function _membershipChange(client, roomId, userId, membership, reason, callback)
|
|||||||
*/
|
*/
|
||||||
MatrixClient.prototype.getPushActionsForEvent = function(event, ignoreCache = false) {
|
MatrixClient.prototype.getPushActionsForEvent = function(event, ignoreCache = false) {
|
||||||
if (!event.getPushActions() || ignoreCache) {
|
if (!event.getPushActions() || ignoreCache) {
|
||||||
event.setPushActions(this._pushProcessor.actionsForEvent(event));
|
const oldActions = event.getPushActions();
|
||||||
|
const actions = this._pushProcessor.actionsForEvent(event);
|
||||||
|
event.setPushActions(actions);
|
||||||
|
|
||||||
|
// Ensure the unread counts are kept up to date if the event is encrypted
|
||||||
|
const oldHighlight = oldActions && oldActions.tweaks ? !!oldActions.tweaks.highlight : false;
|
||||||
|
const newHighlight = actions && actions.tweaks ? !!actions.tweaks.highlight : false;
|
||||||
|
if (oldHighlight !== newHighlight && event.isEncrypted()) {
|
||||||
|
const room = this.getRoom(event.getRoomId());
|
||||||
|
if (room) {
|
||||||
|
const current = room.getUnreadNotificationCount("highlight");
|
||||||
|
room.setUnreadNotificationCount("highlight", newHighlight ? current + 1 : current - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return event.getPushActions();
|
return event.getPushActions();
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user