@@ -731,6 +731,10 @@ def append_message(self, event: Event) -> None:
731731 recipient_stream = response ['display_recipient' ]
732732 narrow_stream = self .narrow [0 ][1 ]
733733 append_to_stream = recipient_stream == narrow_stream
734+ unread_data = {'type' : response ['type' ],
735+ 'sender_id' : response ['sender_id' ],
736+ 'subject' : response ['subject' ],
737+ 'display_recipient' : recipient_stream }
734738
735739 if append_to_stream and (len (self .narrow ) == 1 or
736740 (len (self .narrow ) == 2 and
@@ -745,7 +749,10 @@ def append_message(self, event: Event) -> None:
745749 [user ['id' ] for user in response ['display_recipient' ]])
746750 if narrow_recipients == message_recipients :
747751 self .msg_list .log .append (msg_w )
752+ unread_data = {'type' : response ['type' ],
753+ 'display_recipient' : message_recipients }
748754 if 'read' not in response ['flags' ]:
755+ self .index ['unread_msgs' ].update ({response ['id' ]: unread_data })
749756 set_count ([response ['id' ]], self .controller , 1 )
750757 self .controller .update_screen ()
751758
@@ -840,8 +847,10 @@ def update_message_flag_status(self, event: Event) -> None:
840847 self .update_rendered_view (message_id )
841848
842849 if event ['operation' ] == 'add' and flag_to_change == 'read' :
843- set_count (list (message_ids_to_mark & indexed_message_ids ),
850+ set_count (list (message_ids_to_mark ),
844851 self .controller , - 1 )
852+ for key in message_ids_to_mark :
853+ self .index ['unread_msgs' ].pop (key )
845854
846855 def update_rendered_view (self , msg_id : int ) -> None :
847856 # Update new content in the rendered view
0 commit comments