mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-11-11 17:03:48 +01:00
Bot.listen awaited every frame to completion, so one Commons fetch or one attachment upload held up every text reply behind it (DOCS-latency.md). Each frame now runs in its own task, never more than LIMIT at once; the reader waits for a slot before spawning, so a burst applies back-pressure at the websocket instead of fanning out upstream. One person's commands stay serialised (user_lock.py): two quick !kot would otherwise both pass the cooldown gate before either recorded a use. Every served command reports its timings split into the bot's own time and everybody else's (served.py); /_selftest carries that block and tool/latency.py holds own_ms to 100 ms at p95, with the command's cooldown switched off for the run and put back afterwards. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| adoption.py | ||
| backfill_join.py | ||
| backfill.py | ||
| content.py | ||
| demand.py | ||
| health.py | ||
| hours.py | ||
| journal.py | ||
| probe.py | ||
| recorder.py | ||
| render.py | ||
| scope.py | ||
| sessions.py | ||
| trend.py | ||
| usage.py | ||
| uses.py | ||