#rss get lublin sent its 4 items back-to-back within the same second and 3 of 4 were dropped in RF — owner saw only the last one ("Culture:...").
CommandService's array-of-lines loop (the shared multi-send path used by #rss get) now awaits a delay between consecutive lines before respond()/sendText
New env MESH_MULTI_SEND_DELAY_MS, default 5000 ms; no delay before the first line; zero value skips the await entirely
Tests 172 → 173 (3-line reply with 10 ms override: all sent, first out immediately, gaps ≥10 ms measured). Build clean, oxlint clean. Lockfile untouched.
`#rss get lublin` sent its 4 items back-to-back within the same second and 3 of 4 were dropped in RF — owner saw only the last one ("Culture:...").
- CommandService's array-of-lines loop (the shared multi-send path used by `#rss get`) now awaits a delay between consecutive lines before respond()/sendText
- New env MESH_MULTI_SEND_DELAY_MS, default **5000** ms; no delay before the first line; zero value skips the await entirely
Tests 172 → 173 (3-line reply with 10 ms override: all sent, first out immediately, gaps ≥10 ms measured). Build clean, oxlint clean. Lockfile untouched.
Production incident: '#rss get lublin' returned an array of lines and
CommandService sent each one back-to-back within the same second — on the real
mesh 3 of 4 items were dropped in RF (the owner saw only the last one).
CommandService.onRx now waits MESH_MULTI_SEND_DELAY_MS (new env, default 5000 =
5 s, read at construction like the other timing knobs) between consecutive
lines of an array reply — no delay before the first line. The delay sits in the
shared per-line loop, so both the respond() path and the legacy sendText
fallback are covered by one await.
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.
#rss get lublinsent its 4 items back-to-back within the same second and 3 of 4 were dropped in RF — owner saw only the last one ("Culture:...").#rss get) now awaits a delay between consecutive lines before respond()/sendTextTests 172 → 173 (3-line reply with 10 ms override: all sent, first out immediately, gaps ≥10 ms measured). Build clean, oxlint clean. Lockfile untouched.