From ad3138983ba714fd787ce78e47b625fdf36ea08d Mon Sep 17 00:00:00 2001 From: Nick <2506116+k5njm@users.noreply.github.com> Date: Thu, 2 Jul 2026 17:17:50 -0500 Subject: [PATCH] fix: clear the BT-paused popup with an immediate redraw (toast semantics) The popup lingered until the next page turn. E-ink has no free timers -- clearing costs a refresh whenever it happens -- so request the redraw right away: the popup shows for the ~2 s page re-render, then clears. --- src/main.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 66ca4c61..69f00118 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -532,9 +532,15 @@ void updateBluetoothLifecycle() { // existing framebuffer (no heap); the next page render clears it via ghost cleanup. if (!deferralAnnounced && activityManager.isReaderActivity() && BleHid.pairedCount() > 0) { deferralAnnounced = true; - RenderLock renderLock; - GUI.drawPopup(renderer, tr(STR_BT_PAUSED_LOW_MEM_POPUP)); - activityManager.requestGhostCleanup(); + { + RenderLock renderLock; + GUI.drawPopup(renderer, tr(STR_BT_PAUSED_LOW_MEM_POPUP)); + activityManager.requestGhostCleanup(); + } + // Toast semantics: request a redraw so the popup clears after the (~2 s) page + // re-render instead of lingering until the next page turn. E-ink has no free + // timers -- clearing costs one refresh whenever it happens, so do it now. + activityManager.requestUpdate(); } return; }