Member since 2025-12-22 09:24:20Z · 8mo ago
Total posts: 270 · Total topics: 267
Commit: f5128cb
Version: 3.4dev-20260817_100647
MB653 completes the second real migration onto Mediabot::AsyncWorker, and this time the target is one of Mediabot’s more demanding asynchronous consumers: Trivia.
The goal was deliberately narrow:
remove Trivia’s private…
Commit: 504992e
Version: 3.4dev-20260817_091140
MB652 is the first real consumer migration to Mediabot::AsyncWorker.
The shared worker contract introduced in MB651 was deliberately committed without migrating any existing feature. This round takes the next controlled step:
…
Commit: bf9c362
Version: 3.4dev-20260817_080225
Mediabot now has a common subprocess contract.
For years, several features had to solve variations of the same problem:
fork
pipe
watch_process
EOF
timeout
TERM
KILL
callback
JSON child → parent
The indi…
Commit: ac9a306
Version: 3.4dev-20260817_072105
Mediabot’s test suite has been reliable for a long time.
It has also become large enough that a full run now takes about fifteen minutes.
So before trying to parallelise anything, MB650 adds something much safer:
**measurem…
Commit: c06f226
Version: 3.4dev-20260817_061148
Mediabot Doctor can now inspect the database and migration state without changing either of them.
That sounds simple. It was not.
The goal of this round was deliberately strict:
Diagnose MariaDB, schema drift and migrat…
Commit: 7dc9733
Version: 3.4dev-20260817_044354
Mediabot has gained a new kind of spell: one that does not change anything.
Instead of restarting services, repairing files, changing configuration, touching MariaDB, or trying to be clever on behalf of the operator, **Mediabot Doc…
For years, Mediabot achievements lived in var/achievements.json.
That worked while the bot stayed in the same directory. It was much less reassuring once deployments started rotating release trees: an update could leave the last achievement state behind in an archived directory, and a restart c…
The update spell was already doing most of its magic correctly.
It could fetch the latest Mediabot release, validate it, preserve the configuration and Hailo brain, archive the previous installation and activate the new tree.
There was just one rather inconvenient detail:
**after the spel…
Some bugs hide in dark corners.
Others spend years quietly turning:
é
into:
é
This one had clearly studied at Hogwarts.
Mediabot has carried several historical UTF-8 workarounds over the years.
Commands containing accented charac…
Even the most familiar spells can occasionally decide to behave like something found in the Restricted Section.
This time, the troublesome incantation was:
m update
Under the wrong circumstances, checking for a new Mediabot version could leave the command hanging instead of re…