New exact-match #loser on the command channel: replies with which node has the worst delivery record over our directed sends (grouped tx history by destination, delivered vs failed via routing ACKs).
Broadcasts excluded explicitly (to === BROADCAST_ADDR) in addition to the pending-status filter — this firmware can surface broadcasts as failed/NO_RESPONSE, so a status-only filter could crown the broadcast address "loser"
Node names resolved from the node map (longName ?? shortName), @!hex mention fallback when unknown (reuses the existing mention() helper)
Three reply shapes: worst delivery line / no failed sends yet / not enough data yet (only directed sends count — broadcasts have no acks; Meshtastic doesn't share mesh-wide per-user loss stats, so this is the honest dataset from our vantage point)
#help text now lists #loser; AGENTS.md command list synced
New exact-match `#loser` on the command channel: replies with which node has the worst delivery record over our directed sends (grouped tx history by destination, delivered vs failed via routing ACKs).
- Broadcasts excluded explicitly (`to === BROADCAST_ADDR`) in addition to the pending-status filter — this firmware can surface broadcasts as `failed/NO_RESPONSE`, so a status-only filter could crown the broadcast address "loser"
- Node names resolved from the node map (longName ?? shortName), `@!hex` mention fallback when unknown (reuses the existing `mention()` helper)
- Three reply shapes: worst delivery line / no failed sends yet / not enough data yet (only directed sends count — broadcasts have no acks; Meshtastic doesn't share mesh-wide per-user loss stats, so this is the honest dataset from our vantage point)
- `#help` text now lists `#loser`; AGENTS.md command list synced
Tests 175 → 180 (all three reply cases + name-resolution fallback). Build clean, oxlint clean. Lockfile untouched.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
New exact-match
#loseron the command channel: replies with which node has the worst delivery record over our directed sends (grouped tx history by destination, delivered vs failed via routing ACKs).to === BROADCAST_ADDR) in addition to the pending-status filter — this firmware can surface broadcasts asfailed/NO_RESPONSE, so a status-only filter could crown the broadcast address "loser"@!hexmention fallback when unknown (reuses the existingmention()helper)#helptext now lists#loser; AGENTS.md command list syncedTests 175 → 180 (all three reply cases + name-resolution fallback). Build clean, oxlint clean. Lockfile untouched.