diff --git a/meshchatx/meshchat.py b/meshchatx/meshchat.py index af44548f..9fa317f8 100644 --- a/meshchatx/meshchat.py +++ b/meshchatx/meshchat.py @@ -5157,7 +5157,8 @@ class ReticulumMeshChat: { "message": ( "RNode serial and Bluetooth are not available on this device. " - "On Android, the app must include usbserial4a (see MeshChatX issue #6)." + "On Android, the app must include usbserial4a and jnius " + "(see MeshChatX issue #6)." ), }, status=422, diff --git a/meshchatx/src/backend/rrc/manager.py b/meshchatx/src/backend/rrc/manager.py index 26cee162..de5aa8cc 100644 --- a/meshchatx/src/backend/rrc/manager.py +++ b/meshchatx/src/backend/rrc/manager.py @@ -482,9 +482,22 @@ class RRCHub: def set_auto_list(self, enabled, save=True): with self._lock: self.auto_list = bool(enabled) + should_list = self.auto_list and self.welcomed if save: self.manager.save() self.manager._notify_change(self) + if should_list: + self._request_room_list() + + def _request_room_list(self): + try: + with self._lock: + self._silent_list_pending += 1 + self.send_command("/list", room=None, record_local=False) + except Exception: + with self._lock: + if self._silent_list_pending > 0: + self._silent_list_pending -= 1 def set_auto_who(self, enabled, save=True): with self._lock: @@ -950,14 +963,7 @@ class RRCHub: self._reconnect_attempts = 0 self.manager._on_welcome(self) if self.auto_list: - try: - with self._lock: - self._silent_list_pending += 1 - self.send_command("/list", room=None, record_local=False) - except Exception: - with self._lock: - if self._silent_list_pending > 0: - self._silent_list_pending -= 1 + self._request_room_list() def _apply_limits(self, limits): if proto.L_MAX_NICK_BYTES in limits: diff --git a/meshchatx/src/frontend/components/relay/RelayChatPage.vue b/meshchatx/src/frontend/components/relay/RelayChatPage.vue index a84cedc3..6e9694b7 100644 --- a/meshchatx/src/frontend/components/relay/RelayChatPage.vue +++ b/meshchatx/src/frontend/components/relay/RelayChatPage.vue @@ -236,13 +236,46 @@