Skip to content

fix: allow TRACE packets to reach engine for MQTT/LetsMesh publishing#171

Open
dmduran12 wants to merge 1 commit intorightup:devfrom
dmduran12:fix/trace-mqtt-publish
Open

fix: allow TRACE packets to reach engine for MQTT/LetsMesh publishing#171
dmduran12 wants to merge 1 commit intorightup:devfrom
dmduran12:fix/trace-mqtt-publish

Conversation

@dmduran12
Copy link
Copy Markdown

Problem

TRACE packets were silently dropped from the MQTT/LetsMesh publishing path since commit fa0261d (Dec 1, 2025). The processed_by_injection = True flag in packet_router.py prevented trace responses from reaching the engine's storage and telemetry publishing.

This meant:

  • Trace responses with per-hop SNR data were consumed locally by the trace helper (terminal display works) but never published to MQTT or LetsMesh
  • Telemetry platforms (e.g. waev) received trace requests (the outgoing ping) but never trace responses (the reply with SNR data)
  • Observers on main (which doesn't have packet_router.py) still publish traces normally

Fix

Replace processed_by_injection = True with packet.mark_do_not_retransmit(), matching the existing pattern used by ControlHandler (line 180).

Before: trace helper processes → processed_by_injection = True → engine skipped → no MQTT
After: trace helper processes → mark_do_not_retransmit() → engine records + publishes to MQTT/LetsMesh → RF retransmit blocked

What stays the same

  • Trace helper still processes the packet for local terminal display (RTT/SNR)
  • No RF re-broadcast (mark_do_not_retransmit prevents flood_forward/direct_forward)
  • All other packet type routing unchanged

1 file changed, 4 insertions, 3 deletions

Co-Authored-By: Oz oz-agent@warp.dev

@dmduran12 dmduran12 closed this Apr 7, 2026
@dmduran12 dmduran12 reopened this Apr 7, 2026
TRACE packets were short-circuited by processed_by_injection=True (fa0261d),
preventing them from reaching the engine's storage/MQTT/LetsMesh publishing path.
This meant trace responses with per-hop SNR data were consumed locally by the
trace helper but never published to telemetry platforms.

Fix: replace processed_by_injection with mark_do_not_retransmit(), matching the
existing pattern used by ControlHandler. The trace helper still processes the
packet for local terminal display (RTT/SNR). The engine records it to storage
and publishes to MQTT/LetsMesh, but does not re-broadcast over RF.

Co-Authored-By: Oz <oz-agent@warp.dev>
@dmduran12 dmduran12 force-pushed the fix/trace-mqtt-publish branch from 8eeea68 to 5949ae7 Compare April 7, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant