Commit Graph

  • 3c9ce72b51 fix(media): self-heal zombie media-DC connection so images keep loading main vvzvlad 2026-07-08 04:22:31 +03:00
  • a1d70f287f Merge pull request 'refactor(render): этап 6 — косметика (#33, финал эпика #34)' (#42) from refactor/render-stage6-cosmetics into main vvzvlad 2026-07-07 17:44:58 +03:00
  • 6d295aa7d9 test(render): этап 6 ревью — юнит-лок фильтра exclude_flags (#33) agent_coder 2026-07-07 17:19:37 +03:00
  • 1871bc2971 refactor(render): этап 6 — косметика (#33, #34) agent_coder 2026-07-07 16:58:42 +03:00
  • cd758d5d46 Merge pull request 'refactor(render): этап 5 — таблица медиа-типов (5a байт-в-байт + 5b фиксы) (#32)' (#41) from refactor/render-stage5-media into main agent_vscode 2026-07-07 16:46:47 +03:00
  • c9e4f930c4 Merge pull request 'refactor(render): этап 4 — группировка без deepcopy + фикс naive/aware (#31)' (#40) from refactor/render-stage4-grouping into main agent_vscode 2026-07-07 16:46:30 +03:00
  • aff1974a65 Merge pull request 'refactor(render): этап 3 — слияние близнецов вокруг _prepare_feed_posts (#30)' (#39) from refactor/render-stage3-enrich into main agent_vscode 2026-07-07 16:46:16 +03:00
  • 795dec9227 Merge pull request 'refactor(render): этап 2 — футер merged-групп из настоящего Message (#29)' (#38) from refactor/render-stage2-footer into main agent_vscode 2026-07-07 16:45:54 +03:00
  • a0387425e1 test(render): этап 5 ревью — base-anchored fragment oracle + §3.13 boundary (#32) agent_coder 2026-07-06 18:55:51 +03:00
  • f8695a0e36 refactor(render): этап 4 — группировка без deepcopy и мутаций + фикс naive/aware краша (#31) agent_coder 2026-07-06 18:16:04 +03:00
  • c8e741ca41 refactor(render): этап 5b — зарегистрированные фиксы медиа-таблицы §3.13/§3.14 (#32) agent_coder 2026-07-06 18:26:50 +03:00
  • 78e9bc2583 refactor(render): этап 5a — таблица медиа-типов (байт-в-байт) (#32) agent_coder 2026-07-06 18:25:45 +03:00
  • bf7b5d9442 test(render): #30 этап 3 ревью — залочен over-fetch fork (RSS limit*2 vs HTML limit) agent_coder 2026-07-06 18:08:51 +03:00
  • 9519b37788 refactor(render): этап 3 — слияние близнецов вокруг _prepare_feed_posts (#30) agent_coder 2026-07-06 17:57:31 +03:00
  • d8af0aeb44 refactor(render): этап 2 — футер merged-групп из настоящего Message, выпил конвертера (#29) agent_coder 2026-07-06 17:39:49 +03:00
  • 53da67eacf Merge pull request 'refactor(render): этап 1 — sanitizer.py (#28, переоткрыт на main после стек-орфана)' (#37) from refactor/render-stage1-sanitizer into main vvzvlad 2026-07-06 17:25:44 +03:00
  • c2d9adc45f refactor(render): #28 этап 1 ревью раунд 1 — тест изоляции §3.4 + актуализация комментов agent_coder 2026-07-06 17:01:00 +03:00
  • 0963c140a3 refactor(render): этап 1 — sanitizer.py + санитайз per-post в пайплайне (#28) agent_coder 2026-07-06 16:42:06 +03:00
  • 3a24eafcc2 Merge pull request 'test(render): этап 0 — golden-эталоны фидов (оракул) (#27)' (#35) from refactor/render-stage0-golden into main vvzvlad 2026-07-06 17:05:10 +03:00
  • dc9a23f801 test(render): этап 0 — golden-эталоны фидов как оракул эквивалентности (#27) agent_coder 2026-07-06 07:39:40 +03:00
  • 0eb616e322 docs: update render pipeline refactor spec base branch vvzvlad 2026-07-05 22:01:50 +03:00
  • 88ac4361d2 Merge pull request 'feat: Kurigram 2.2.23 + рендеринг новых типов медиа Telegram' (#21) from feat/kurigram-2.2.23 into main vvzvlad 2026-07-05 21:59:05 +03:00
  • 6388f2f4da test(media): lock XSS escaping on new-media-type user-string sinks (#21 review F1) feat/kurigram-2.2.23 agent_coder 2026-07-05 21:52:03 +03:00
  • 9a0df8d8c9 docs(plans): add recorded cache fixtures for render pipeline vvzvlad 2026-07-05 21:10:52 +03:00
  • 1ceef16af4 docs(plans): update render pipeline refactor spec to v6 vvzvlad 2026-07-05 21:04:45 +03:00
  • dbf3f8a93a chore(config): update workspace color theme vvzvlad 2026-07-05 20:30:15 +03:00
  • 1942c43270 docs(plans): add render pipeline refactor specification (v5) vvzvlad 2026-07-05 20:30:10 +03:00
  • b42e892c3f docs(plans): add accepted cache optimization spec vvzvlad 2026-07-05 19:25:48 +03:00
  • f9550d8330 feat: upgrade to Kurigram 2.2.23 and render new Telegram media types vvzvlad 2026-07-05 17:58:34 +03:00
  • 4fc8ebbd03 Merge pull request 'fix: XSS в debug-title (#13) + order-independent тест-сьют (#17)' (#20) from fix/issues-13-17 into main agent_vscode 2026-07-05 17:21:59 +03:00
  • f13d1507ad fix: escape debug title (XSS) and make test suite order-independent vvzvlad 2026-07-05 17:20:01 +03:00
  • 39d5001bd6 Merge pull request 'Стабилизация: статика без флаки + устранение зависаний (стадии 1–7)' (#19) from fix/stability into main vvzvlad 2026-07-05 17:00:49 +03:00
  • 0cf27a981a Merge pull request 'fix(stability): стадия 1 — таймауты на все TG RPC + устойчивый воркер загрузок + супервизия' (#8) from fix/stage-1-hangs into fix/stability fix/stability agent_vscode 2026-07-05 16:58:51 +03:00
  • 9f893969ca Merge pull request 'fix(stability): стадия 2 — атомарные скачивания медиа, in-flight дедуп, FloodWait->429, ограниченный семафор' (#10) from fix/stage-2-static into fix/stage-1-hangs agent_vscode 2026-07-05 16:58:44 +03:00
  • c5e50354ba Merge pull request 'fix(stability): стадия 3 — раздача через FileResponse, чистый ASGI-логгер, больший executor' (#11) from fix/stage-3-fileresponse into fix/stage-2-static agent_vscode 2026-07-05 16:58:37 +03:00
  • c2574acaba Merge pull request 'fix(stability): стадия 4 — гигиена event loop (рендер фида в поток, ленивый raw_message, один sanitize на выход)' (#12) from fix/stage-4-eventloop into fix/stage-3-fileresponse agent_vscode 2026-07-05 16:58:31 +03:00
  • b2b0a13557 Merge pull request 'fix(stability): стадия 5 — батчинг записи access-time в SQLite' (#15) from fix/stage-5-sqlite into fix/stage-4-eventloop agent_vscode 2026-07-05 16:58:24 +03:00
  • 19c72ad2bf Merge pull request 'feat(stability): стадия 6 — лёгкий /ping healthcheck без TG RPC' (#16) from fix/stage-6-healthcheck into fix/stage-5-sqlite agent_vscode 2026-07-05 16:58:17 +03:00
  • fe815db348 Merge pull request 'test(stability): стадия 7 — сквозная верификация (интеграционные тесты + отчёт)' (#18) from fix/stage-7-verification into fix/stage-6-healthcheck agent_vscode 2026-07-05 16:58:09 +03:00
  • 3a133c349d docs(stability): stage 7 review round 1 — correct rollback granularity to per-stage agent_coder 2026-07-05 11:17:49 +03:00
  • cff6e61d2f test(stability): stage 7 — end-to-end verification (integration tests + report) (#7) agent_coder 2026-07-05 11:06:09 +03:00
  • 1cc592bef6 fix(stability): stage 6 review round 1 — /ping degrades to pure connectivity when watchdog disabled agent_coder 2026-07-05 10:47:29 +03:00
  • 7d6ee0271d feat(stability): stage 6 — lightweight /ping healthcheck that never touches Telegram (#6) agent_coder 2026-07-05 10:34:06 +03:00
  • d0801ef0ff fix(stability): stage 5 review round 1 — DoD guard on get_media hot path + correct affinity comment agent_coder 2026-07-05 10:18:36 +03:00
  • a04588740b perf(stability): batch SQLite access-time writes out of the /media hot path (#5) agent_coder 2026-07-05 10:04:47 +03:00
  • 8d21390294 fix(stability): fail CLOSED on feed-sanitize exception + cover bulk-SQL/flush (review round 1) claude code agent 2026-07-05 09:41:09 +03:00
  • 9f9091f6fb fix(stability): stage 4 — event-loop hygiene for feed generation claude code agent 2026-07-05 09:16:14 +03:00
  • 1e24fd5354 fix(stability): pass FileResponse a stat_result (404 not 500 on race) + doc/annotation fixes (review round 1) claude code agent 2026-07-05 08:42:54 +03:00
  • 870e0a40d8 fix(stability): stage 3 — serve via FileResponse, pure-ASGI logging, bigger executor claude code agent 2026-07-05 08:26:35 +03:00
  • 41d143458f fix(stability): test the HTTP semaphore balance + correct the dedup docstring (review round 1) claude code agent 2026-07-05 07:56:23 +03:00
  • 444bd3e42f fix(stability): stage 2 — atomic media downloads, in-flight dedup, FloodWait->429, bounded semaphore claude code agent 2026-07-05 07:40:47 +03:00
  • 03d1de2954 fix(stability): declare pytest-asyncio, bound /raw_json RPC, assert FloodWait backoff, dedupe gate+timeout (review round 1) claude code agent 2026-07-05 07:12:10 +03:00
  • 4daf611f05 fix(stability): stage 1 — timeouts on all TG RPC + resilient download worker + supervision claude code agent 2026-07-05 06:51:08 +03:00
  • e3b458d774 docs: add staged stability fix plan (static serving + hangs) vvzvlad 2026-07-05 04:00:20 +03:00
  • 080dae3e74 feat(cache): add channel info cache with TTL and throttling vvzvlad 2026-06-05 20:45:08 +03:00
  • 021f16cf14 feat(client): add watchdog heartbeat and diagnostics counters vvzvlad 2026-06-04 19:19:22 +03:00
  • 79b127d406 feat(client): add watchdog and disconnect flap handling vvzvlad 2026-06-04 19:02:09 +03:00
  • 577093b9fa test(postparser): use StrWithHtml for Pyrogram text/caption mocks vvzvlad 2026-05-18 00:15:53 +03:00
  • f0e38b9776 perf(core): improve async handling and caching performance vvzvlad 2026-05-18 00:08:46 +03:00
  • ab8f15d49d feat(api): add atomic temp file handling for media downloads vvzvlad 2026-05-17 23:49:18 +03:00
  • dd5999b51f fix: guard against missing messages and reaction issues vvzvlad 2026-05-17 23:12:11 +03:00
  • 40fa9797e8 feat(api): add trusted proxy handling to local request detection vvzvlad 2026-05-17 22:55:50 +03:00
  • 64fe6327d8 fix(rss): handle missing dates in media grouping and RSS vvzvlad 2026-05-17 22:37:20 +03:00
  • 705310da28 fix(parser): log channel arg to avoid UnboundLocalError vvzvlad 2026-05-17 22:30:01 +03:00
  • 6e2c1f79d3 fix(rss): stop popping oldest group in _trim_messages_groups vvzvlad 2026-05-17 22:28:28 +03:00
  • 45cd18af99 feat(api): add landing page endpoint vvzvlad 2026-05-11 02:54:39 +03:00
  • 9bfef3bf2d fix(rss): remove filter for NEW_CHAT_TITLE messages vvzvlad 2026-04-16 04:02:10 +03:00
  • cd4e6f0c82 fix(api): use MessageMediaType enum for poll checks vvzvlad 2026-04-16 03:46:03 +03:00
  • 9f9e952c4e fix(parser): handle poll question/option objects with .text vvzvlad 2026-04-16 02:43:53 +03:00
  • f19e2bfe6d fix(parser): cast poll question and option texts to string vvzvlad 2026-04-16 02:40:35 +03:00
  • 85cee6b295 refactor(api): comment out redundant digest validation log vvzvlad 2026-04-06 23:54:23 +03:00
  • 57a96044bc feat(db): add mime_type column and caching helpers vvzvlad 2026-04-06 23:46:22 +03:00
  • 0f297185e4 feat(api): add range-enabled streaming for media files vvzvlad 2026-04-06 23:37:46 +03:00
  • cf8a2e0ce5 feat(api): add immutable cache header to file responses vvzvlad 2026-04-06 23:29:35 +03:00
  • c9b0d2ffc9 feat(db): replace media file ID JSON store with SQLite vvzvlad 2026-04-05 20:20:37 +03:00
  • 17ec871d7c feat(config): switch proxy to SOCKS5 and add auth options vvzvlad 2026-04-05 18:18:34 +03:00
  • 09692edf06 feat(config): add mtproto proxy support vvzvlad 2026-04-05 18:09:23 +03:00
  • 02c29f8692 fix(telegram): add shutdown guard to avoid duplicate restarts vvzvlad 2026-03-16 04:13:39 +03:00
  • 14f8db0a32 refactor(client): add optional session param to _on_disconnect vvzvlad 2026-03-16 04:05:39 +03:00
  • a38a729137 perf(api): add timing diagnostics for media ops vvzvlad 2026-03-16 01:14:24 +03:00
  • b7b1daa035 chore(logs): remove pyrogram bridge logs file vvzvlad 2026-03-16 01:07:43 +03:00
  • 4ef7b00c16 refactor(api): split download semaphores and remove diagnostic monitoring vvzvlad 2026-03-16 01:07:19 +03:00
  • 8bcce02368 feat(api): add diagnostic monitoring and semaphore tracking vvzvlad 2026-03-16 01:00:31 +03:00
  • 7d4322f975 chore(workspace): add VS Code workspace configuration files vvzvlad 2026-03-16 01:00:20 +03:00
  • 5257c50243 fix(post_parser): correct content order when caption display flag is toggled vvzvlad 2026-01-02 05:38:30 +03:00
  • 76e163098b feat(post_parser): support show caption above media attribute for message rendering vvzvlad 2026-01-02 05:27:18 +03:00
  • 5543c0514a feat(post_parser): allow strikethrough tags in HTML sanitization vvzvlad 2026-01-02 02:33:37 +03:00
  • fef63c1224 chore(rss_generator): add logging for RSS feed date ranges and entry timestamps vvzvlad 2026-01-01 15:02:36 +03:00
  • 337cabe180 fix(rss_generator): handle Telegram flood wait errors with automatic retry logic vvzvlad 2026-01-01 14:57:16 +03:00
  • 3c2b4ce544 perf(downloads): implement concurrent download queue with semaphore limiting and retry logic vvzvlad 2026-01-01 14:14:26 +03:00
  • deacb8b9a0 refactor rss_generator: offload HTML concatenation and sanitization to asyncio.to_thread to improve CPU performance and prevent event loop blocking vvzvlad 2025-09-15 12:16:53 +03:00
  • 68a2dbfa04 refactor api_server and post_parser: implement asynchronous JSON file operations with locking mechanism to ensure thread safety, and streamline media file ID persistence logic vvzvlad 2025-09-13 20:47:16 +03:00
  • 1464ea326e refactor api_server: streamline RSS feed generation by consolidating error handling and removing redundant loop structure vvzvlad 2025-09-13 00:06:36 +03:00
  • 778aa04904 refactor api_server: implement asynchronous file I/O using asyncio.to_thread for JSON operations, add global python-magic instance for MIME type detection, and enhance delayed file deletion documentation vvzvlad 2025-09-12 23:50:52 +03:00
  • 43516d6dab refactor api_server and TelegramClient: remove force_exit function and replace with sys.exit for process termination, update restart logic to use SIGTERM instead of SIGKILL for graceful shutdown vvzvlad 2025-06-10 15:03:09 +03:00
  • 521c3dc394 implement forceful termination in api_server and TelegramClient: add force_exit function for immediate process shutdown, update SIGTERM handler for forceful exit, and adjust restart logic in connection_handler to use SIGKILL vvzvlad 2025-06-10 14:28:51 +03:00
  • d3366ca7ef refactor tg_cache: update _get_history_from_cache to use max_age_hours instead of max_age_seconds, adjust cache expiration logic accordingly, and remove cache_ttl parameter from cached_get_chat_history vvzvlad 2025-06-10 14:17:16 +03:00
  • d6c3725b02 implement graceful shutdown in api_server: add SIGTERM handler for proper termination and enhance error handling for server startup issues vvzvlad 2025-06-10 14:06:56 +03:00
  • 2c9ebf139f refactor connection_handler in TelegramClient: increase wait time to 5 seconds before restart, implement process termination and forking for more reliable restarts vvzvlad 2025-06-10 03:58:33 +03:00
  • 688b9e1927 refactor tg_cache: update cache file naming convention to use a simpler format by removing '_history' from filename vvzvlad 2025-06-10 03:52:17 +03:00