Commit Graph

36 Commits

Author SHA1 Message Date
Xiaolan Bot
0904acad4e refactor(ui): unify message formatting to HTML and clean imports 2026-02-25 16:10:37 +08:00
Xiaolan Bot
c7ebb00145 fix(update): auto-detect remote/branch when AUTO_UPDATE_REMOTE is unset 2026-02-25 15:56:37 +08:00
Xiaolan Bot
214dadad45 feat: add /update command for owner-only self-update and restart 2026-02-25 15:21:47 +08:00
Xiaolan Bot
23feb6ba1b docs: install deps via requirements.txt 2026-02-25 12:47:54 +08:00
Xiaolan Bot
895ffbcb32 fix: replace markdown markers in HTML reminder templates 2026-02-25 11:00:45 +08:00
Xiaolan Bot
14c3a30806 fix(ui): remove missing emoji from chart title and use simpler wording 2026-02-23 01:48:55 +08:00
Xiaolan Bot
ebfc342736 fix(bug): remove local matplotlib import shadowing global plt in stats 2026-02-23 01:37:58 +08:00
Xiaolan Bot
1d0fe1cdf3 fix(bug): remove invalid escape_html import from telegram.helpers 2026-02-23 01:35:26 +08:00
Xiaolan Bot
fb8a5521a9 perf: offload heavy blocking I/O (matplotlib, pandas) to asyncio threads 2026-02-23 00:05:50 +08:00
Xiaolan Bot
2670ca96c7 fix(ui): migrate parse_mode from MarkdownV2 to HTML to prevent parsing crashes 2026-02-22 23:56:36 +08:00
Xiaolan Bot
3711dd362b fix(security): sanitize DB field formatting and fix cron job duplication 2026-02-22 23:52:50 +08:00
Xiaolan Bot
81840dfa31 chore: Add requirements.txt and EXCHANGE_API_KEY startup warning. 2026-02-22 23:45:13 +08:00
Xiaolan Bot
31b1235d20 fix(stats): Optimize chart UI, dateparser timezone, and pandas apply performance. Improve font download stability. 2026-02-22 23:43:34 +08:00
Xiaolan Bot
54d46d7e6b Polish stats chart layout and readability 2026-02-22 22:18:43 +08:00
Xiaolan Bot
ee1a5b59b0 feat: redesign stats chart with donut + comparison bars 2026-02-22 22:01:06 +08:00
Xiaolan Bot
f064f751f0 fix: harden callback payload parsing in add/edit flows 2026-02-22 11:53:22 +08:00
Xiaolan Bot
5eebf4bf66 fix: restore clear helper and unify notes/skip expiry handling 2026-02-22 11:44:13 +08:00
Xiaolan Bot
210af75e2c fix: guard add-sub conversation against expired state 2026-02-22 11:39:25 +08:00
Xiaolan Bot
d212d73c2a refactor: centralize enum validation for unit and renewal type 2026-02-22 11:33:41 +08:00
Xiaolan Bot
052966e07c fix: validate name/notes constraints in edit flow 2026-02-22 11:30:22 +08:00
Xiaolan Bot
095e88cad3 refactor: add input length guards for add/edit/import flows 2026-02-22 11:07:42 +08:00
Xiaolan Bot
276bb5fc83 fix: restore get_subs_list_keyboard helper 2026-02-22 02:54:56 +08:00
Xiaolan Bot
decb9c12c1 hardening: remove broad session clears and validate add flow inputs 2026-02-22 02:43:26 +08:00
Xiaolan Bot
ec06c5fac3 chore: tighten conversation entry callback patterns 2026-02-22 02:22:26 +08:00
Xiaolan Bot
ced65fc4da chore: tighten conversation fallback callback patterns 2026-02-22 02:17:00 +08:00
Xiaolan Bot
36b136289c hardening: close low-risk gaps and improve import validation 2026-02-22 02:11:26 +08:00
Xiaolan Bot
98a863f567 docs: add comprehensive README for open-source usage 2026-02-22 02:07:50 +08:00
Xiaolan Bot
15f9ceb841 refactor: use tempfile for import/export/stats artifacts 2026-02-22 01:48:44 +08:00
Xiaolan Bot
8601e78e17 hardening: validate ownership on entry points and failed updates 2026-02-22 01:41:46 +08:00
Xiaolan Bot
530d81b565 refactor: harden field mapping and sqlite boolean toggles 2026-02-22 01:33:02 +08:00
Xiaolan Bot
8354e38e89 fix: tighten callback pattern for id-based category routing 2026-02-22 01:27:11 +08:00
Xiaolan Bot
97bcee7258 fix: make category callbacks id-based and tighten ownership checks 2026-02-22 01:26:24 +08:00
Xiaolan Bot
db8257fdde fix: harden subscription callbacks and settings updates 2026-02-22 01:17:20 +08:00
zkysimon
c80914f257 Create README.md 2025-12-08 09:31:47 +08:00
zkysimon
4836c5ad49 Create .env.example 2025-12-08 09:31:01 +08:00
zkysimon
885faaa524 Add files via upload 2025-12-08 09:30:12 +08:00