diff --git a/zebra-report/index.html b/zebra-report/index.html index 29632a1..d069bba 100644 --- a/zebra-report/index.html +++ b/zebra-report/index.html @@ -1010,7 +1010,8 @@ function renderOutbox() { function scheduleRetransmit(crc) { const entry = msgPending.get(crc); if (!entry) return; - const wait = estimateTxMs(entry.frame.length) + estimateTxMs(15) + 4000; /* data + ack + margin */ + const base = estimateTxMs(entry.frame.length) + estimateTxMs(15) + 4000; /* data + ack + margin */ + const wait = base * Math.pow(1.8, entry.tries - 1); /* exponential backoff — don't hammer */ entry.timer = setTimeout(async () => { const e = msgPending.get(crc); if (!e) return; /* already ACKed */