From 67f9f74509e57dd8cd150b4b4f239bb23aa5dc07 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Mon, 19 Jan 2026 18:11:28 -0600 Subject: [PATCH] Shorter timeout still needed for pubkey unkown and ad-hoc send --- src/modules/NodeInfoModule.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/NodeInfoModule.cpp b/src/modules/NodeInfoModule.cpp index 5c5c0192b..8e089bd53 100644 --- a/src/modules/NodeInfoModule.cpp +++ b/src/modules/NodeInfoModule.cpp @@ -133,10 +133,15 @@ meshtastic_MeshPacket *NodeInfoModule::allocReply() // Use graduated scaling based on active mesh size (10 minute base, scales with congestion coefficient) uint32_t timeoutMs = Default::getConfiguredOrDefaultMsScaled(0, 10 * 60, nodeStatus->getNumOnline()) * 1000; - if (lastSentToMesh && Throttle::isWithinTimespanMs(lastSentToMesh, timeoutMs)) { + if (!shorterTimeout && lastSentToMesh && Throttle::isWithinTimespanMs(lastSentToMesh, timeoutMs)) { LOG_DEBUG("Skip send NodeInfo since we sent it <%us ago", timeoutMs / 1000); ignoreRequest = true; // Mark it as ignored for MeshModule return NULL; + } else if (shorterTimeout && lastSentToMesh && Throttle::isWithinTimespanMs(lastSentToMesh, 60 * 1000)) { + // For interactive/urgent requests (e.g., user-triggered or implicit requests), use a shorter 60s timeout + LOG_DEBUG("Skip send NodeInfo since we sent it <60s ago"); + ignoreRequest = true; + return NULL; } else { ignoreRequest = false; // Don't ignore requests anymore meshtastic_User &u = owner;