Repository navigation
v0.5.1 — telegram-dev
-
Why 0.5.1 and not 0.5.0: a
v0.5.0tag was pushed by mistake on the
previousmaincommit, before this change had merged. Its release run was
cancelled before anything was published (npm stayed at 0.4.0, no GitHub
release), and the repository rules keep tags, so that tag stays and names no
release. Nothing was ever published as 0.5.0. -
telegram-bots: new referencereferences/high-load.md. One slow update
must not hold every chat. Telegraf 4.16.3 awaitsPromise.allover the whole
batch before the nextgetUpdatesand races each handler against a 90 s
handlerTimeout(read in its source on 2026-10-23), so one handler waiting on a
slow Telegram stops the bot for everyone. The page covers a dispatcher behind
bot.handleUpdate(a queue per chat, a ceiling across chats, a per-chat cap,
payments outside the ceiling), guards that must measure from arrival once work
is queued, why a screen must not be superseded at queue time, timeouts that
free the caller rather than the work, a shutdown that stops the poll first and
refuses to restart it, and the measurements and non-flapping alarms that show
the problem before a user does. -
New fixture
fixtures/update_pump.py. A discrete-event simulation on a
virtual clock with nine rules;--self-testremoves each and watches its
invariant fail. Run bynpm test. -
Lessons come from the verification rounds of a production bot's dispatcher
(2026-10-23/24); no project is named.