Container TZ: Europe/Warsaw so cron hours are local (v0.21.10) #53

Merged
kamilkrzywda merged 1 commits from fix/tz-warsaw into main 2026-09-30 07:49:50 +02:00
3 changed files with 6 additions and 1 deletions
Showing only changes of commit 5a1493fb4a - Show all commits
+4
View File
@@ -1,5 +1,9 @@
# Changelog # Changelog
## v0.21.10 — 2026-09-30 05:46
- Container now runs with `TZ=Europe/Warsaw` (new line in the bot service's `environment:` block, hardcoded like MESH_HOST/MESH_PORT): scheduled jobs and log timestamps use local Polish time instead of UTC — the weather cron (`WEATHER_CRON=0 6,12,18 * * *`) previously fired at 06/12/18 UTC = 08/14/20 CEST. DST-aware via the IANA zone (CEST +2 / CET +1). Deployment-config only — no application code changed; takes effect on the next `docker compose up -d --build`.
## v0.21.9 — 2026-09-29 20:56 ## v0.21.9 — 2026-09-29 20:56
- New `#loser` command (owner request): replies with which user/node has the worst packet delivery record, over directed sends only. Meshtastic shares no mesh-wide loss stats, so it groups our own tx history by destination and counts delivered vs failed per node; broadcasts are excluded (firmware strips want_ack pre-TX, they stay pending — and the broadcast addr is never a real destination even if a NACK lands on it). Loser = most failures, tie-break worse failure ratio. Node resolved to `longName`/`shortName`, falling back to the `@!xxxxxxxx` mention when unknown. Three reply shapes: worst delivery line (`worst delivery: <name> (@!hex) - N failed / M delivered`), a "no failed sends yet" line, and a "not enough data yet — only directed sends count (broadcasts have no acks)" line. Registered in the CommandService constructor next to `#ping`; listed in `#help`. - New `#loser` command (owner request): replies with which user/node has the worst packet delivery record, over directed sends only. Meshtastic shares no mesh-wide loss stats, so it groups our own tx history by destination and counts delivered vs failed per node; broadcasts are excluded (firmware strips want_ack pre-TX, they stay pending — and the broadcast addr is never a real destination even if a NACK lands on it). Loser = most failures, tie-break worse failure ratio. Node resolved to `longName`/`shortName`, falling back to the `@!xxxxxxxx` mention when unknown. Three reply shapes: worst delivery line (`worst delivery: <name> (@!hex) - N failed / M delivered`), a "no failed sends yet" line, and a "not enough data yet — only directed sends count (broadcasts have no acks)" line. Registered in the CommandService constructor next to `#ping`; listed in `#help`.
+1
View File
@@ -2,6 +2,7 @@ services:
bot: bot:
build: . build: .
environment: environment:
TZ: Europe/Warsaw
MESH_HOST: 192.168.1.4 MESH_HOST: 192.168.1.4
MESH_PORT: '4403' MESH_PORT: '4403'
MESH_DB_PATH: ./data/mesh-bot.db MESH_DB_PATH: ./data/mesh-bot.db
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mesh-bot", "name": "mesh-bot",
"version": "0.21.9", "version": "0.21.10",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,