diff --git a/src/meshcore_console/mock/client.py b/src/meshcore_console/mock/client.py index 9ab8008..ff0c742 100644 --- a/src/meshcore_console/mock/client.py +++ b/src/meshcore_console/mock/client.py @@ -325,8 +325,11 @@ def logout_from_repeater(self, peer_name: str) -> None: self._append_event({"type": EventType.REPEATER_LOGOUT, "data": {"peer_name": peer_name}}) def send_repeater_command(self, peer_name: str, command: str) -> dict: - cmd_key = command.strip().split()[0].lower() if command.strip() else "" - response_text = MOCK_CLI_RESPONSES.get(cmd_key, f"OK: {command}") + stripped = command.strip().lower() + cmd_key = stripped.split()[0] if stripped else "" + response_text = MOCK_CLI_RESPONSES.get(stripped) or MOCK_CLI_RESPONSES.get( + cmd_key, f"OK: {command}" + ) self._append_event( { "type": EventType.REPEATER_COMMAND_RESPONSE, diff --git a/src/meshcore_console/mock/data.py b/src/meshcore_console/mock/data.py index ff4f865..b247915 100644 --- a/src/meshcore_console/mock/data.py +++ b/src/meshcore_console/mock/data.py @@ -45,6 +45,7 @@ " Bob -82 dBm SNR 3.2 0 hops\n" " Charlie -91 dBm SNR -1.0 0 hops" ), + "get repeat": "repeat: ON", "telemetry": ( "Battery: 3.82V (74%)\n" "Temperature: 32.1 C\n" diff --git a/src/meshcore_console/ui_gtk/views/admin.py b/src/meshcore_console/ui_gtk/views/admin.py index 90c2a02..b98ebd5 100644 --- a/src/meshcore_console/ui_gtk/views/admin.py +++ b/src/meshcore_console/ui_gtk/views/admin.py @@ -196,7 +196,7 @@ def _build_console_tab(self) -> Gtk.Box: quick_row.set_margin_end(8) quick_row.set_margin_top(8) quick_row.set_margin_bottom(4) - for cmd in ("neighbors", "telemetry", "reboot", "ver"): + for cmd in ("neighbors", "telemetry", "get repeat", "reboot", "ver"): btn = Gtk.Button.new_with_label(cmd) btn.add_css_class("quick-cmd-btn") btn.connect("clicked", self._on_quick_cmd, cmd)