joystick UI: handle SENT_HEARD/UNHEARD in buildChannelReplyPrefix

After Phase J, the joystick UI rewrites a sent channel message's
path_len from OUT_PATH_SENT (0xFE) to OUT_PATH_SENT_HEARD (0xFD) or
OUT_PATH_SENT_UNHEARD (0xFC) once the feedback window resolves.
buildChannelReplyPrefix only excluded OUT_PATH_SENT, so a reply to
one of the user's own messages (post-feedback) would treat it as
incoming and build a garbled "@[<random body>]" prefix.

Also cleans up an awkward `class ContentionTracker&` qualifier in
Mesh.h.
This commit is contained in:
liquidraver committed 2026-05-21 22:31:51 +02:00
1 parent 03fcc60fa9
commit e778326ad0
2 files changed
+10 -6

No files matched your search

+4 -3
View File
@@ -34,13 +34,14 @@ class Mesh : public Dispatcher {
void routeDirectRecvAcks(Packet *packet, uint32_t delay_millis);
DispatcherAction forwardMultipartDirect(Packet *pkt);
protected:
ContentionTracker _contention;
public:
/* Made public so the UI layer can query/extract per-packet dupe counts
* for outbound-flood feedback (joystick channel-send "heard a repeat?"). */
class ContentionTracker& getContentionTracker() { return _contention; }
const class ContentionTracker& getContentionTracker() const { return _contention; }
ContentionTracker& getContentionTracker() { return _contention; }
const ContentionTracker& getContentionTracker() const { return _contention; }
protected:
ContentionTracker _contention;
#ifdef CONFIG_ZEPHCORE_APC
PowerController _power_ctrl;
PowerController& getPowerController() { return _power_ctrl; }