File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 3737 'search' : Set [int ], # {message_id, ...}
3838 # Downloaded message data
3939 'messages' : Dict [int , Message ], # message_id: Message
40+ # unread message data
41+ 'unread_msgs' : Set [int ] # message_ids
4042})
4143
4244initial_index = Index (
5153 topics = defaultdict (list ),
5254 search = set (),
5355 messages = defaultdict (dict ),
56+ unread_msgs = set (),
5457)
5558
5659
@@ -350,6 +353,22 @@ def index_messages(messages: List[Any],
350353 return index
351354
352355
356+ def index_unread_messsages (unread_msgs : Dict [str , Any ], index : Index ) -> Index :
357+
358+ for pm in unread_msgs ['pms' ]:
359+ message_ids = pm ['unread_message_ids' ]
360+ index ['unread_msgs' ].update (message_ids )
361+
362+ for stream in unread_msgs ['streams' ]:
363+ message_ids = stream ['unread_message_ids' ]
364+ index ['unread_msgs' ].update (message_ids )
365+
366+ for group_pm in unread_msgs ['huddles' ]:
367+ message_ids = group_pm ['unread_message_ids' ]
368+ index ['unread_msgs' ].update (message_ids )
369+
370+ return index
371+
353372def classify_unread_counts (model : Any ) -> UnreadCounts :
354373 # TODO: support group pms
355374 unread_msg_counts = model .initial_data ['unread_msgs' ]
Original file line number Diff line number Diff line change 2222 initial_index ,
2323 Message ,
2424 notify ,
25+ index_unread_messsages ,
2526)
2627from zulipterminal .ui_tools .utils import create_msg_box_list
2728
@@ -446,6 +447,7 @@ def _update_initial_data(self) -> None:
446447 self .user_email = self .initial_data ['email' ]
447448 self .user_full_name = self .initial_data ['full_name' ]
448449 self .server_name = self .initial_data ['realm_name' ]
450+ self .index = index_unread_messsages (self .initial_data ['unread_msgs' ], self .index )
449451 else :
450452 failures = [name for name , result in results .items () if not result ]
451453 raise ServerConnectionFailure (", " .join (failures ))
You can’t perform that action at this time.
0 commit comments