forked from MirrorHub/synapse
Don't work out unread_notifs_for_room_id unless needed
This commit is contained in:
parent
b18114e19e
commit
ea320d3464
1 changed files with 12 additions and 11 deletions
|
@ -697,17 +697,6 @@ class SyncHandler(BaseHandler):
|
|||
if just_joined:
|
||||
state = yield self.get_state_at(room_id, now_token)
|
||||
|
||||
notifs = yield self.unread_notifs_for_room_id(
|
||||
room_id, sync_config, all_ephemeral_by_room
|
||||
)
|
||||
|
||||
unread_notifications = {}
|
||||
if notifs is not None:
|
||||
unread_notifications["notification_count"] = len(notifs)
|
||||
unread_notifications["highlight_count"] = len([
|
||||
1 for notif in notifs if _action_has_highlight(notif["actions"])
|
||||
])
|
||||
|
||||
state = {
|
||||
(e.type, e.state_key): e
|
||||
for e in sync_config.filter_collection.filter_room_state(state.values())
|
||||
|
@ -725,6 +714,7 @@ class SyncHandler(BaseHandler):
|
|||
ephemeral_by_room.get(room_id, [])
|
||||
)
|
||||
|
||||
unread_notifications = {}
|
||||
room_sync = JoinedSyncResult(
|
||||
room_id=room_id,
|
||||
timeline=batch,
|
||||
|
@ -734,6 +724,17 @@ class SyncHandler(BaseHandler):
|
|||
unread_notifications=unread_notifications,
|
||||
)
|
||||
|
||||
if room_sync:
|
||||
notifs = yield self.unread_notifs_for_room_id(
|
||||
room_id, sync_config, all_ephemeral_by_room
|
||||
)
|
||||
|
||||
if notifs is not None:
|
||||
unread_notifications["notification_count"] = len(notifs)
|
||||
unread_notifications["highlight_count"] = len([
|
||||
1 for notif in notifs if _action_has_highlight(notif["actions"])
|
||||
])
|
||||
|
||||
logger.debug("Room sync: %r", room_sync)
|
||||
|
||||
defer.returnValue(room_sync)
|
||||
|
|
Loading…
Reference in a new issue