signal-bot/signal_bot
Krzysztof kuhy Rudnicki 0c29583db3 release: 0.1.2 «Anicet» — the favourite hour is a real one
Ships the fix in 40538b8, which had been running unreleased since the
live database was migrated.

!ja was reporting the same hour, 12:00, to every member of the group.
That was the placeholder hour on the 342 messages carried over from the
pre-0.1.0 counter, which have no timestamps — and favourite_hour was the
one query that never excluded the backfilled day, so the synthetic noons
outvoted every real evening. The genuine answer is 19:00-21:00.

The absent hour is now -1 rather than a real-looking 12, and hour
queries filter it out, so forgetting the exclusion can no longer invent
an answer. Somebody whose only messages are backfilled gets no hour line
at all instead of a made-up one.

Exercised in testbot before the bump; kuhy confirmed the release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015d48t4qsQLBJnDwDeo2Nom
2026-08-30 20:18:22 +02:00
..
stats fix: !ja told everybody their favourite hour was noon 2026-08-30 20:15:20 +02:00
__init__.py feat: rewrite the bot so it runs, and gate it like the other repos 2026-08-29 13:05:42 +02:00
__main__.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
aliases.json feat: nine commands for asking the statistics questions 2026-08-30 19:49:41 +02:00
animals.py fix: !gekon really is random (iNaturalist ignores order_by=random) 2026-08-29 23:35:53 +02:00
announce.py feat: name every release after a pope, and tell the group when one lands 2026-08-29 22:51:20 +02:00
app.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
bot.py feat: weekly, monthly and year-in-review posts, keyed off the day reported 2026-08-30 19:56:25 +02:00
changelog.py feat: answer the message that asked, not just the room 2026-08-29 23:01:01 +02:00
config_env.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
config.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
counting.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
decorators.py chore: drop the last references to a command this repo no longer has 2026-08-29 22:32:12 +02:00
discovery.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
dispatcher.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
endpoints.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
envelope_shape.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
folding.py fix: commands resolve when typed on another alphabet's keyboard 2026-08-30 14:22:43 +02:00
groups.py feat: discover groups from the account, so adding the bot is the whole setup 2026-08-29 15:30:08 +02:00
http_client.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
liveness.py feat: refuse to look healthy while deaf, and heal the container by itself 2026-08-29 19:01:55 +02:00
logging_setup.py feat: the bot can describe an envelope without quoting anybody 2026-08-30 19:29:06 +02:00
membership.py fix: a signal-api that is not up yet no longer kills the bot at boot 2026-08-30 15:23:42 +02:00
models.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
popes_command.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
popes.json release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
portcheck.py feat: make the bot actually reply on Signal, and gate every way it went silent 2026-08-29 14:37:27 +02:00
portraits.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
quoting.py feat: answer the message that asked, not just the room 2026-08-29 23:01:01 +02:00
registry.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
roster.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
scheduler.py feat: rewrite the bot so it runs, and gate it like the other repos 2026-08-29 13:05:42 +02:00
schema.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
selftest.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
startup_retry.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
startup.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
store.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
transport_base.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
transport_fake.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
transport_rest.py release: 0.0.7 «Telesfor» — !papież, and the bot can test itself 2026-08-30 17:06:25 +02:00
trust.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
versioning.py release: 0.1.2 «Anicet» — the favourite hour is a real one 2026-08-30 20:18:22 +02:00