-
Notifications
You must be signed in to change notification settings - Fork 459
Open
Description
DM is not working reliable (at least for me in the Netherlands), so I'm proposal some changes to improve reliability, increase the number of working direct DM paths and with that limit the amount of flood traffic.
What changed:##
Two backward-compatible fixes to improve Direct Message ACK reliability:
Fix 1: Use Incoming Path for ACK
Problem: Direct messages without stored path sent ACK via flood (often lost)
Solution: Use the incoming direct path to send ACK back
Fix 2: Retry Flood ACKs
Problem: Flood ACKs sent once only (lost in noisy RF)
Solution: Send 3 ACKs at 200ms, 800ms, 2000ms
Backward Compatibility
✅ 100% backward compatible
- No protocol changes
- Works with old firmware nodes
- Old repeaters forward ACKs correctly
- Uses existing packet formats
Impact
Reliability
- +20-40% ACK delivery rate
- -30-50% message retransmissions
Network Traffic
- -80% overhead for first-contact direct messages
- +20 bytes per flood ACK (but saves retransmitting full messages)
Testing
Quick Test - Fix 1:
1. Send direct message to node without stored path
2. Verify ACK comes back via direct route (not flood)
3. Check logs: "TX ... route=D" not "route=F"
Quick Test - Fix 2:
1. Send flood message
2. Watch for 3 ACK transmissions at 200ms, 800ms, 2s
3. Simulate packet loss - ACK still arrives
Scenarios Covered
| Scenario | Old Behavior | New Behavior | Improvement |
|---|---|---|---|
| Direct DM, no path | Flood ACK (often lost) | Direct ACK on incoming path | ✅ Major |
| Flood DM | 1× flood ACK | 3× flood ACK | ✅ Significant |
| Direct DM, with path | Direct ACK | Direct ACK (unchanged) | - |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels