From 096b8e2b1dc374c311723fa729a772219fa3560e Mon Sep 17 00:00:00 2001 From: Jakub <106778416+MarekZegare4@users.noreply.github.com> Date: Fri, 2 Oct 2026 13:49:26 +0200 Subject: [PATCH] feat(ui): drop echo toasts for actions the screen already shows L1: Counters reset, Trail reset, Contact added/deleted, Logged in (admin), Logged out, Channel deleted, Share target / Bot channel / Bot room set, PIN set/cleared, Preset saved/deleted, and Unpinned on the favourites grid. L2: Channel deleted, Counters reset, Region/Preset/Scope/Waypoint deleted, Target cleared, Trail cleared, Message history deleted, Contact added/deleted. Failures and Unpinned where the item leaves the screen stay. Co-Authored-By: Claude Opus 5.5 --- examples/companion_radio/ui-lvgl/ChannelScreen.h | 1 - examples/companion_radio/ui-lvgl/DiagScreen.h | 1 - examples/companion_radio/ui-lvgl/MapRegions.h | 1 - examples/companion_radio/ui-lvgl/NavMap.h | 3 --- examples/companion_radio/ui-lvgl/RadioExtras.h | 2 -- examples/companion_radio/ui-lvgl/StorageScreen.h | 1 - examples/companion_radio/ui-lvgl/UITask.cpp | 2 -- examples/companion_radio/ui-new/AdminScreen.h | 1 - examples/companion_radio/ui-new/MessagesScreen.h | 6 ------ examples/companion_radio/ui-new/NearbyScreen.h | 2 -- examples/companion_radio/ui-new/RepeaterScreen.h | 2 -- examples/companion_radio/ui-new/SettingsScreen.h | 4 ---- examples/companion_radio/ui-new/StatusScreen.h | 1 - examples/companion_radio/ui-new/TrailScreen.h | 1 - examples/companion_radio/ui-new/UITask.cpp | 3 --- 15 files changed, 31 deletions(-) diff --git a/examples/companion_radio/ui-lvgl/ChannelScreen.h b/examples/companion_radio/ui-lvgl/ChannelScreen.h index b28c5fd0..87bf2214 100644 --- a/examples/companion_radio/ui-lvgl/ChannelScreen.h +++ b/examples/companion_radio/ui-lvgl/ChannelScreen.h @@ -145,7 +145,6 @@ void UITask::channelAction(uint8_t act) { if (!tapConfirmed(s_del_lbl, "Delete?")) break; chanctl::remove(idx); navClosePopup(); - showToast("Channel deleted"); showChats(); break; } diff --git a/examples/companion_radio/ui-lvgl/DiagScreen.h b/examples/companion_radio/ui-lvgl/DiagScreen.h index 9f97d572..a2aa8afe 100644 --- a/examples/companion_radio/ui-lvgl/DiagScreen.h +++ b/examples/companion_radio/ui-lvgl/DiagScreen.h @@ -383,5 +383,4 @@ void UITask::diagReset() { diag::resetCounters(); navClosePopup(); refreshDiag(); - showToast("Counters reset"); } diff --git a/examples/companion_radio/ui-lvgl/MapRegions.h b/examples/companion_radio/ui-lvgl/MapRegions.h index 99c1d5eb..2655f1d9 100644 --- a/examples/companion_radio/ui-lvgl/MapRegions.h +++ b/examples/companion_radio/ui-lvgl/MapRegions.h @@ -91,7 +91,6 @@ void UITask::mapRegionAction(uint8_t act) { mapview::labels::flush(); mapview::s_cache.invalidate(); mapRegionsPopup(); - showToast("Region deleted"); return; } } diff --git a/examples/companion_radio/ui-lvgl/NavMap.h b/examples/companion_radio/ui-lvgl/NavMap.h index c03e95ee..8d8134ec 100644 --- a/examples/companion_radio/ui-lvgl/NavMap.h +++ b/examples/companion_radio/ui-lvgl/NavMap.h @@ -540,7 +540,6 @@ void UITask::navPick(int code) { if (navmap::s_tb.active()) { navmap::s_tb.stop(); showToast("Track back stopped"); break; } _core->locator.clearTarget(); prefsSave(); - showToast("Target cleared"); break; case navmap::T_WAYPOINT: { if (idx >= _core->waypoints.count()) return; @@ -734,7 +733,6 @@ void UITask::navWaypointAction(uint8_t act) { if (!tapConfirmed(_nav_del_lbl, "Delete?")) break; _core->waypoints.remove(i); navClosePopup(); - showToast("Waypoint deleted"); rebuildMapMarkers(); layoutMap(); refreshNavBar(); @@ -1332,7 +1330,6 @@ void UITask::navToolAction(uint8_t act) { case navmap::TL_TRAIL_RESET: if (!tapConfirmed(_nav_reset_lbl, "Reset?")) return; tr.reset(); - showToast("Trail cleared"); rebuildMapMarkers(); layoutMap(); break; diff --git a/examples/companion_radio/ui-lvgl/RadioExtras.h b/examples/companion_radio/ui-lvgl/RadioExtras.h index e889d652..899ea0ef 100644 --- a/examples/companion_radio/ui-lvgl/RadioExtras.h +++ b/examples/companion_radio/ui-lvgl/RadioExtras.h @@ -99,7 +99,6 @@ void UITask::presetAction(uint8_t act) { prefsSave(); navClosePopup(); rebuildRadio(); - showToast("Preset deleted"); break; } } @@ -217,7 +216,6 @@ void UITask::scopeAction(uint8_t act) { if (s_scope > 0) the_mesh.removeScope((uint8_t)s_scope); navClosePopup(); buildScopes(); - showToast("Scope deleted"); break; } } diff --git a/examples/companion_radio/ui-lvgl/StorageScreen.h b/examples/companion_radio/ui-lvgl/StorageScreen.h index d778045d..a8d72f63 100644 --- a/examples/companion_radio/ui-lvgl/StorageScreen.h +++ b/examples/companion_radio/ui-lvgl/StorageScreen.h @@ -355,7 +355,6 @@ void UITask::storageClearHistory() { s_archive.clearAll(); _core->history.clearAll(); _core->markAllRead(); - showToast("Message history deleted"); startWalk(); } diff --git a/examples/companion_radio/ui-lvgl/UITask.cpp b/examples/companion_radio/ui-lvgl/UITask.cpp index fb71982f..0439da97 100644 --- a/examples/companion_radio/ui-lvgl/UITask.cpp +++ b/examples/companion_radio/ui-lvgl/UITask.cpp @@ -3787,7 +3787,6 @@ void UITask::nodeAction(uint8_t action) { break; case NODE_ADD: if (the_mesh.addDiscoveredContact(e.pub_key, e.name, e.type)) { - showToast("Contact added"); _screen = SCR_NEARBY; buildNearby(); } else { @@ -3826,7 +3825,6 @@ void UITask::nodeAction(uint8_t action) { break; } if (the_mesh.deleteContactByKey(e.pub_key)) { - showToast("Contact deleted"); _screen = SCR_NEARBY; buildNearby(); } diff --git a/examples/companion_radio/ui-new/AdminScreen.h b/examples/companion_radio/ui-new/AdminScreen.h index 0beed646..2d7ed42a 100644 --- a/examples/companion_radio/ui-new/AdminScreen.h +++ b/examples/companion_radio/ui-new/AdminScreen.h @@ -140,7 +140,6 @@ public: case AdminSession::LOGGED_IN: _tab = admin::TAB_SYSTEM; _row_sel = _row_scroll = 0; - _task->showAlert("Logged in (admin)", 1000); break; case AdminSession::NOT_ADMIN: _task->showAlert("Not admin on this node", 1600); returnToOrigin(); break; case AdminSession::LOGIN_FAILED: _task->showAlert("Login failed", 1400); returnToOrigin(); break; diff --git a/examples/companion_radio/ui-new/MessagesScreen.h b/examples/companion_radio/ui-new/MessagesScreen.h index 5888ee68..0316c5cd 100644 --- a/examples/companion_radio/ui-new/MessagesScreen.h +++ b/examples/companion_radio/ui-new/MessagesScreen.h @@ -1043,7 +1043,6 @@ public: the_mesh.savePrefs(); } _pick_target = false; - _task->showAlert("Share target set", 1200); _task->gotoLiveShareScreen(); } @@ -1086,7 +1085,6 @@ public: the_mesh.savePrefs(); } _pick_bot_channel = false; - _task->showAlert("Bot channel set", 1200); _task->gotoBotScreen(); } @@ -1112,7 +1110,6 @@ public: } _pick_bot_room = false; _room_mode = false; - _task->showAlert("Bot room set", 1200); _task->gotoBotScreen(); } @@ -1130,7 +1127,6 @@ public: the_mesh.savePrefs(); } _pick_target = false; - _task->showAlert("Share target set", 1200); _task->gotoLiveShareScreen(); } @@ -1961,7 +1957,6 @@ public: } else if (sel != _ctx_fav_idx) { // Logout: only reachable when isRoomLoggedIn() added this item. _task->core().rooms.logout(_sel_contact.id.pub_key); - _task->showAlert("Logged out", 1000); } // Fav is a value row -- Enter never selects it (see cycleRoomCtxValue). } @@ -2132,7 +2127,6 @@ public: // Delete/Cancel sub-menu, defaults to Cancel (see where it's opened). if (res == PopupMenu::SELECTED && _ctx_menu.selectedIndex() == 0) { // "Delete" chanctl::remove(_ctx_ch_idx); - _task->showAlert("Channel deleted", 1000); } if (res != PopupMenu::NONE) { _ch_delete_confirm_active = false; diff --git a/examples/companion_radio/ui-new/NearbyScreen.h b/examples/companion_radio/ui-new/NearbyScreen.h index c99264e4..067d4229 100644 --- a/examples/companion_radio/ui-new/NearbyScreen.h +++ b/examples/companion_radio/ui-new/NearbyScreen.h @@ -194,7 +194,6 @@ class NearbyScreen : public UIScreen, protected NearbyModel { uint8_t key[PUB_KEY_SIZE]; memcpy(key, e->pub_key, PUB_KEY_SIZE); if (the_mesh.deleteContactByKey(key)) { - _task->showAlert("Contact deleted", 1200); _detail = false; // the node this detail/nav view showed is gone _nav = false; refresh(); @@ -404,7 +403,6 @@ class NearbyScreen : public UIScreen, protected NearbyModel { const Entry* e = selected(); if (e && e->has_key) { if (the_mesh.addDiscoveredContact(e->pub_key, e->name, e->type)) { - _task->showAlert("Contact added", 1200); refresh(); // now a known contact — re-sort / re-mark this pass } else { _task->showAlert("Contacts full", 1200); diff --git a/examples/companion_radio/ui-new/RepeaterScreen.h b/examples/companion_radio/ui-new/RepeaterScreen.h index 50d61755..d7b031e0 100644 --- a/examples/companion_radio/ui-new/RepeaterScreen.h +++ b/examples/companion_radio/ui-new/RepeaterScreen.h @@ -182,7 +182,6 @@ public: if (res == KeyboardWidget::DONE) { if (_picker.save(p, _task->keyboard().buf, rptTarget(p))) { _dirty = true; - _task->showAlert("Preset saved", 800); } _picker.saving = false; } else if (res == KeyboardWidget::CANCELLED) { @@ -224,7 +223,6 @@ public: break; case RadioPresetPicker::DELETED: _dirty = true; - _task->showAlert("Preset deleted", 800); break; case RadioPresetPicker::NONE: break; diff --git a/examples/companion_radio/ui-new/SettingsScreen.h b/examples/companion_radio/ui-new/SettingsScreen.h index a171ebe9..cac5c9ba 100644 --- a/examples/companion_radio/ui-new/SettingsScreen.h +++ b/examples/companion_radio/ui-new/SettingsScreen.h @@ -746,7 +746,6 @@ public: } _edit_lock_pass = false; _lock_pass_first[0] = '\0'; - _task->showAlert("PIN set", 900); } } else if (res == KeyboardWidget::CANCELLED) { _edit_lock_pass = false; @@ -837,7 +836,6 @@ public: if (res == KeyboardWidget::DONE) { if (p && _picker.save(p, _kb->buf, radioTarget(p))) { _dirty = true; - _task->showAlert("Preset saved", 800); } _picker.saving = false; } else if (res == KeyboardWidget::CANCELLED) { @@ -862,7 +860,6 @@ public: break; case RadioPresetPicker::DELETED: _dirty = true; - _task->showAlert("Preset deleted", 800); break; case RadioPresetPicker::NONE: break; @@ -981,7 +978,6 @@ public: if (_task->passwordLockEnabled()) { _task->setNodeLockPassword(""); the_mesh.savePrefs(); - _task->showAlert("PIN cleared", 900); } else { _edit_lock_pass = true; _lock_pass_first[0] = '\0'; diff --git a/examples/companion_radio/ui-new/StatusScreen.h b/examples/companion_radio/ui-new/StatusScreen.h index caf7f92b..ea14e686 100644 --- a/examples/companion_radio/ui-new/StatusScreen.h +++ b/examples/companion_radio/ui-new/StatusScreen.h @@ -384,7 +384,6 @@ public: if (res == PopupMenu::SELECTED && _reset_menu.selectedIndex() == 0) { diag::resetCounters(); _last_rx = 0; - _task->showAlert("Counters reset", 800); } return true; } diff --git a/examples/companion_radio/ui-new/TrailScreen.h b/examples/companion_radio/ui-new/TrailScreen.h index df18593a..f99b9f5d 100644 --- a/examples/companion_radio/ui-new/TrailScreen.h +++ b/examples/companion_radio/ui-new/TrailScreen.h @@ -271,7 +271,6 @@ private: } void handleReset() { _task->core().trail.reset(); - _task->showAlert("Trail reset", 800); } void handleSave() { TrailEngine::FileResult r = _task->core().trail.save(); diff --git a/examples/companion_radio/ui-new/UITask.cpp b/examples/companion_radio/ui-new/UITask.cpp index 96066b2f..7546febc 100644 --- a/examples/companion_radio/ui-new/UITask.cpp +++ b/examples/companion_radio/ui-new/UITask.cpp @@ -1553,9 +1553,6 @@ public: } _task->clearFavouriteSlot(_pin_target_slot); the_mesh.savePrefs(); - char alert[24]; - snprintf(alert, sizeof(alert), "Unpinned (slot %d)", _pin_target_slot + 1); - _task->showAlert(alert, 800); } if (res != PopupMenu::NONE) _pin_target_slot = -1; return true;