diff --git a/nomadnet/RRC.py b/nomadnet/RRC.py index bc1766c..982dbe1 100644 --- a/nomadnet/RRC.py +++ b/nomadnet/RRC.py @@ -745,14 +745,14 @@ class RRCHub: if self_join: if not silent: self._record_system(r, "You joined #"+r) - if self.auto_who: - try: - with self._lock: - self._silent_who_rooms.add(r) - self.send_command("/who "+r, room=r) - except Exception: - with self._lock: - self._silent_who_rooms.discard(r) + if self.auto_who: + try: + with self._lock: + self._silent_who_rooms.add(r) + self.send_command("/who "+r, room=r) + except Exception: + with self._lock: + self._silent_who_rooms.discard(r) self.manager.save() else: joiner = None diff --git a/nomadnet/ui/textui/Channels.py b/nomadnet/ui/textui/Channels.py index 0e62a7c..4043529 100644 --- a/nomadnet/ui/textui/Channels.py +++ b/nomadnet/ui/textui/Channels.py @@ -1503,7 +1503,15 @@ class ChannelsDisplay(): pass def _on_rrc_change(self, hub): - self._wake(self.update_list) + def action(): + self.update_list() + if (self.current_room_widget is not None + and self.current_room_widget.hub is hub): + try: + self.current_room_widget._refresh_users_pane() + except Exception: + pass + self._wake(action) def _on_rrc_message(self, hub, msg): def action():