From ace63eee8d5710b82fbeb42fcbb01f9525e52c5c Mon Sep 17 00:00:00 2001 From: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com> Date: Tue, 13 May 2025 14:15:56 -0400 Subject: [PATCH] Fix for dismissing channel frame when replied. --- src/graphics/Screen.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index d935881ae..5b97a5f80 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -4387,13 +4387,18 @@ int Screen::handleStatusUpdate(const meshtastic::Status *arg) return 0; } -// Handles when message is received would jump to text message frame. +// Handles when message is received; will jump to text message frame. int Screen::handleTextMessage(const meshtastic_MeshPacket *packet) { if (showingNormalScreen) { if (packet->from == 0) { - // Outgoing message - setFrames(FOCUS_PRESERVE); // Stay on same frame, silently add/remove frames + // Outgoing message (likely sent from phone) + devicestate.has_rx_text_message = false; + memset(&devicestate.rx_text_message, 0, sizeof(devicestate.rx_text_message)); + dismissedFrames.textMessage = true; + hasUnreadMessage = false; // Clear unread state when user replies + + setFrames(FOCUS_PRESERVE); // Stay on same frame, silently update frame list } else { // Incoming message devicestate.has_rx_text_message = true; // Needed to include the message frame @@ -4412,7 +4417,6 @@ int Screen::handleTextMessage(const meshtastic_MeshPacket *packet) String banner; // Match bell character or exact alert text - // if (msg == "\x07" || msg.indexOf("Alert Bell Character") != -1) { if (msg.indexOf("\x07") != -1) { banner = "Alert Received"; } else {