diff --git a/tui/src/birdcage_tui/screens/signal.py b/tui/src/birdcage_tui/screens/signal.py index 1a5ab17..591db54 100644 --- a/tui/src/birdcage_tui/screens/signal.py +++ b/tui/src/birdcage_tui/screens/signal.py @@ -447,15 +447,17 @@ class SignalScreen(Container): "Firmware sweep failed, falling back to software", exc_info=True, ) - self.app.call_from_thread( - self._set_sweep_status, - "Firmware sweep failed -- falling back...", - ) + with contextlib.suppress(Exception): + self.app.call_from_thread( + self._set_sweep_status, + "Firmware sweep failed -- falling back...", + ) self._do_sweep_software(device) finally: self._sweeping = False - self.app.call_from_thread(self._reset_sweep_buttons) + with contextlib.suppress(Exception): + self.app.call_from_thread(self._reset_sweep_buttons) def _do_sweep_firmware(self, device: DeviceLike) -> None: """Firmware-accelerated sweep via azscanwxp (runs in worker thread).""" @@ -674,7 +676,8 @@ class SignalScreen(Container): self._do_scan_inner(device) finally: self._scanning = False - self.app.call_from_thread(self._reset_scan_buttons) + with contextlib.suppress(Exception): + self.app.call_from_thread(self._reset_scan_buttons) def _do_scan_inner(self, device: DeviceLike) -> None: """Inner scan logic (called from _do_scan worker thread)."""