mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-11-10 19:27:20 +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> |
||
|---|---|---|
| .. | ||
| art_categories.json | ||
| backfill_analytics.py | ||
| commons_api.py | ||
| commons_cache.py | ||
| commons_harvest.py | ||
| e2e_fixtures.py | ||
| e2e_media.py | ||
| e2e_pack.py | ||
| gen_art.py | ||
| gen_poems.py | ||
| gen_popes.py | ||
| gen_traps.py | ||
| latency.py | ||
| preview_release.py | ||
| trap_categories.json | ||
| venv_bootstrap.py | ||
| web.py | ||
| wikidata.py | ||