Skip to content

feat: auto retry text message send on max retransmit#4124

Merged
jamesarich merged 4 commits into
meshtastic:mainfrom
mdecourcy:feat/auto-retry-max-retransmit
Jan 3, 2026
Merged

feat: auto retry text message send on max retransmit#4124
jamesarich merged 4 commits into
meshtastic:mainfrom
mdecourcy:feat/auto-retry-max-retransmit

Conversation

@mdecourcy

Copy link
Copy Markdown
Contributor

Capped at 5 max retries, 5 seconds between each.

No settings for these as I don't want to add settings bloat or over complicate the settings menu

@github-actions github-actions Bot added the enhancement New feature or request label Jan 3, 2026
@codecov

codecov Bot commented Jan 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (c9259c7) to head (32b98b6).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #4124   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files          2       2           
  Lines         19      19           
  Branches       7       7           
=====================================
  Misses        19      19           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jamesarich jamesarich added this pull request to the merge queue Jan 3, 2026
Merged via the queue into meshtastic:main with commit 6bb40e4 Jan 3, 2026
6 checks passed
@shalberd

shalberd commented Jan 30, 2026

Copy link
Copy Markdown

Hi @mdecourcy could it be that this feature, when used in busy meshes where messages actually go out, but the 0-hop ACK is not received, causes harm? Just because no ACK comes in from the first node receiving a new packet does not mean that it is not in fact sent onto the mesh.

See main body of #4354

Maybe adding a switch or settings toggle for this kind of behavior would be good, with default "no not auto retry".

As the other poster suggests: Add the switch for user to have a choice autoretry or not.

I do not agree with your comment "no switch for this .." something like automatically re-sending messages, even if shown a popup / overlay in the App, is so impactful and potentially harmful that it needs to be optional and toggle-able. A popup message, as it currently is, is good to have for informational purposes, but it does not take away the need to change the behavior.

Side note: I really like your work on the MapLibre feature, keep up the good work

I really want you and the Meshtastic core maintainers here to see my comment as something we are seeing in the wild ... auto auto-retry is not a good thing, the idea behind the feature is understandable, just add a toogle switch and default "false" for it, please, in the next app version. Alternatively, in the upper right of the message itself, or in the options panel, as a "send message again" button when message status has no ACK.

@fifieldt @GUVWAF FYI this happens now in Android App 2.7.11, auto-retry sending a message, without user intenvention, when no ACK from the mesh is received.

@Jckf

Jckf commented Feb 9, 2026

Copy link
Copy Markdown

We are seeing a lot of duplicate messages after this was introduced. Giving the user the option to retransmit is okay, but automatically sending the same message up to 5 times with unique packet IDs was a really bad decision, in my opinion.

Please reconsider.

@GUVWAF

GUVWAF commented Feb 9, 2026

Copy link
Copy Markdown
Member

Yes, I do agree with @shalberd and @Jckf. If this is deemed necessary and useful, IMO it would be much better to increase the number of retransmissions in the firmware, where we already have 3 retransmissions to begin with. It then also calculates the appropriate delays based on packet length and LoRa settings rather than just 5 seconds, and it uses the same packet ID.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants