karma-web: capture channel topics (332/TOPIC) and show them on each board
All checks were successful
ci / check (push) Successful in 46s

This commit is contained in:
Jean Chevronnet 2026-07-30 00:58:10 +00:00
parent 4ccca54963
commit 26496b5147
No known key found for this signature in database
GPG key ID: 439666D63A9477E4
5 changed files with 182 additions and 31 deletions

View file

@ -82,11 +82,12 @@ lists them at runtime and `help <command>` describes one.
The live karma board is published at **<https://karma.devtronic.pro>** — a hero
with live stats, a top-3 podium, a ranked ledger with per-thing trend
sparklines, a recent-activity feed, and a top-givers board. Each network's board
shows where its karma comes from (server + channels, e.g. `#argentina`). A
second binary, `karma-web`, reads the per-network `karma.*.json` totals, the
append-only `karma.*.events.jsonl` history the bot writes on every bump, and a
`karma.*.meta.json` source sidecar (server + channels, written by the bot at
startup), and renders one self-contained HTML page (no CSS/JS/font dependencies,
shows where its karma comes from — server, channels, and each channel's IRC
topic (e.g. `#argentina`). A second binary, `karma-web`, reads the per-network
`karma.*.json` totals, the append-only `karma.*.events.jsonl` history the bot
writes on every bump, and a `karma.*.meta.json` source sidecar (server +
channels + topics, which the bot refreshes as it joins and as topics change),
and renders one self-contained HTML page (no CSS/JS/font dependencies,
all IRC-supplied text HTML-escaped). A systemd timer regenerates it every minute
and nginx serves it over TLS.