From 0ea17f04140c3125ba00c5214787ac92ebfbcc83 Mon Sep 17 00:00:00 2001 From: Jakub <106778416+MarekZegare4@users.noreply.github.com> Date: Fri, 16 Oct 2026 15:38:26 +0200 Subject: [PATCH] fix(nearby): the ping popup scrolls to its last result row The OLED popup fits 3 rows, a finished ping has 4; UP/DOWN were swallowed so SNR back stayed hidden. Enter on any row sends. Fixes #50. Co-Authored-By: Claude Opus 5.5 --- examples/companion_radio/ui-new/NearbyScreen.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/companion_radio/ui-new/NearbyScreen.h b/examples/companion_radio/ui-new/NearbyScreen.h index e47b5acd..0438de08 100644 --- a/examples/companion_radio/ui-new/NearbyScreen.h +++ b/examples/companion_radio/ui-new/NearbyScreen.h @@ -530,10 +530,10 @@ class NearbyScreen : public UIScreen, protected NearbyModel { if (pingRowCount() != _ping_menu.count()) rebuildPingMenu(); } - // Ping popup input. Result rows are read-only, so UP/DOWN are swallowed to keep - // the highlight on "Send". + // Ping popup input. UP/DOWN scroll: on the OLED the popup fits 3 rows, so a + // full result (Send + RTT + 2 SNR) needs scrolling to show the last one. + // Result rows are read-only, so Enter on any row sends. void handlePingMenuInput(char c) { - if (c == KEY_UP || c == KEY_DOWN) return; auto res = _ping_menu.handleInput(c); if (res == PopupMenu::SELECTED) { const Entry* e = selected();