Skip to content

Conversation

@korbinianbauer
Copy link
Contributor

@korbinianbauer korbinianbauer commented Nov 6, 2025

As requested by @NomDeTom on discord in #transport-layer

Hey, could you do a favour here and make the changes to firmware to make client_base act like router_late for favourite nodes, please?
We're discussing it on the ⁠contributor-hangout , and it's agreed that this is the correct thing to do.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

@korbinianbauer korbinianbauer changed the title Late window client base CLIENT_BASE: Act like ROUTER_LATE for fav'd nodes, instead of like ROUTER Nov 6, 2025
if (config.device.role == meshtastic_Config_DeviceConfig_Role_ROUTER_LATE && iface) {
iface->clampToLateRebroadcastWindow(getFrom(p), p->id);
}
if (config.device.role == meshtastic_Config_DeviceConfig_Role_CLIENT_BASE && iface) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also check for isFromOrToFavoritedNode() here then.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that we should also check isFromOrToFavoritedNode() (because otherwise this will unintentionally move ordinary CLIENT-style rebroadcasts to be later)

@GUVWAF
Copy link
Member

GUVWAF commented Nov 8, 2025

@compumike Would like to know your thoughts on this also.

@thebentern thebentern added the enhancement New feature or request label Nov 11, 2025
@compumike
Copy link
Contributor

@GUVWAF I didn't hear / don't see any record of the #contributor-hangout conversation, so I don't have context of what problem this change is trying to solve.

But in general I'm okay with this change in behavior! 👍

Net effects of moving CLIENT_BASE to act in the ROUTER_LATE window:

  • 🔴 higher latency
  • 🔴 higher total airtime / channel congestion (because a message may be rebroadcasted first by a CLIENT and then later by the CLIENT_BASE)
  • 🟢 slightly higher reliability of message deliverability
  • 🟢 better resistance to misconfiguration (unintended favorites)

Which is a real tradeoff, but also is a totally reasonable set of tradeoffs to make!

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.

4 participants