5 Commits
Author SHA1 Message Date
tiennm99 c119386073 fix(bot): truncate messages on HTML-safe boundaries
Fixed-index truncation could split an HTML tag or entity or drop a closing tag, making Telegram reject the whole message with 'can't parse entities'. Cut on a newline boundary where tags are balanced, reserve room for a truncation notice, and strip any trailing partial markup.
2026-06-26 15:48:34 +07:00
tiennm99 5f26bf4b15 refactor(poller): batch delivery checks and dedupe component helpers
Replace the per-subscriber SISMEMBER delivery check with a single
SMEMBERS per event plus in-memory lookups, cutting N round-trips to one.

Remove the component-label helpers duplicated between poller and bot by
exporting the canonical versions from poller; bot already depends on it.
Collapse the repeated component checkpoint closures into a shared helper.

Drop the redundant escapeAttr alias and the unused variadic on bot.New.
2026-06-26 09:19:29 +07:00
tiennm99 9f5a594cf7 fix(deploy): harden health and status config 2026-06-22 14:16:15 +07:00
tiennm99 2a4519106e fix: align status bot delivery behavior 2026-06-19 15:56:59 +07:00
tiennm99 87f091beb8 feat: scaffold openai status bot 2026-06-19 14:39:19 +07:00