@@ -150,6 +150,7 @@ def __init__(self, controller: Any) -> None:
150
150
("update_display_settings" , self ._handle_update_display_settings_event ),
151
151
("user_settings" , self ._handle_user_settings_event ),
152
152
("realm_emoji" , self ._handle_update_emoji_event ),
153
+ ("realm_user" , self ._handle_realm_user_event ),
153
154
]
154
155
)
155
156
@@ -1747,6 +1748,18 @@ def _handle_update_display_settings_event(self, event: Event) -> None:
1747
1748
view .message_view .log [msg_pos ] = msg_w_list [0 ]
1748
1749
self .controller .update_screen ()
1749
1750
1751
+ def _handle_realm_user_event (self , event : Event ) -> None :
1752
+ """
1753
+ Handle change to user(s) metadata (Eg: full_name, timezone, etc.)
1754
+ """
1755
+ assert event ["type" ] == "realm_user"
1756
+ if event ["op" ] == "update" :
1757
+ updated_details = event ["person" ]
1758
+ for realm_user in self .initial_data ["realm_users" ]:
1759
+ if realm_user ["user_id" ] == updated_details ["user_id" ]:
1760
+ realm_user .update (updated_details )
1761
+ break
1762
+
1750
1763
def _register_desired_events (self , * , fetch_data : bool = False ) -> str :
1751
1764
fetch_types = None if not fetch_data else self .initial_data_to_fetch
1752
1765
event_types = list (self .event_actions )
0 commit comments