Commit Graph
6281 Commits
Author SHA1 Message Date
InfinityPacer 9cc2bdbce1 fix: 避免 Web Agent 语音转写阻塞事件循环 (#6389) 2026-08-22 13:16:15 +08:00
InfinityPacer ed3c0541c7 fix(agent): 收敛超时与取消后的副作用生命周期 (#6388) 2026-08-22 12:11:15 +08:00
jxxghp 7b6353337d fix(ci): keep subscribe match complexity within ratchet 2026-08-22 12:07:22 +08:00
jxxghp c765604b36 feat(notification): add DingTalk robot channel 2026-08-22 12:02:24 +08:00
jxxghp 30ebf98fbb feat(transfer): aggregate failure notifications by media 2026-08-22 11:46:41 +08:00
jxxghp 2d982f08fa fix(search): disambiguate yearless same-title resources 2026-08-22 11:35:01 +08:00
jxxghp 1a7c3cfff8 feat(media): add native IMDb source module 2026-08-22 11:22:59 +08:00
jxxghp b8c79e1a1e fix: 修复用户异步删除和 OTP 更新 2026-08-22 10:25:35 +08:00
jxxghp 508bf0bc38 fix(ci): restore lint and architecture gates 2026-08-22 10:23:18 +08:00
jxxghp 9273d68aa7 feat(telegram): support rich Agent messages 2026-08-22 10:11:18 +08:00
InfinityPacer 1c07333909 fix: 收敛 Agent 会话队列与 worker 关闭 (#6386) 2026-08-22 10:09:01 +08:00
InfinityPacer 813ea77bc4 fix(agent): use async subscription data access (#6385) 2026-08-22 09:56:02 +08:00
InfinityPacer f7b7201fba fix(subscribe): fail closed on lock timeout (#6384) 2026-08-22 09:47:39 +08:00
InfinityPacer a90a0e8597 fix: upgrade web dependencies and stabilize plugin routes (#6383) 2026-08-22 09:47:13 +08:00
jxxghp 7b9499fc5b feat(plugin): add virtual plugin instances 2026-08-22 09:40:38 +08:00
jxxghp 97d2dcd7fb fix(ci): align architecture and pylint gates 2026-08-22 08:50:25 +08:00
jxxghp 5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp 820f7e8850 refactor: make download and transfer events durable 2026-08-22 08:03:00 +08:00
jxxghp c5de1c7b1b refactor: make subscription lifecycle events durable 2026-08-22 07:43:41 +08:00
jxxghp 8f94fd620d Merge branch 'v3' of https://github.com/jxxghp/MoviePilot into v3
# Conflicts:
#	tests/fixtures/architecture/runtime-contract-baseline.json
#	uv.lock
2026-08-22 07:21:20 +08:00
InfinityPacer 3a5947cc88 feat: 升级 V3 默认运行时至 Python 3.14 与 Debian Trixie (#6382) 2026-08-22 07:16:35 +08:00
jxxghp bb0964622b fix: preserve legacy event and db dto contracts 2026-08-21 22:33:21 +08:00
jxxghp 1b253510e1 ci: block new async blocking calls 2026-08-21 22:29:19 +08:00
jxxghp 43cccb8ff8 feat: add low-cardinality observation port 2026-08-21 22:15:47 +08:00
jxxghp 47f1ff9cb4 feat: propagate request correlation context 2026-08-21 22:08:33 +08:00
jxxghp c755c074b9 refactor: dataize scheduler job contracts 2026-08-21 21:59:11 +08:00
jxxghp dce7372b81 feat: persist subscription side-effect outbox 2026-08-21 21:50:18 +08:00
jxxghp 1f656830db docs: add module quality scale 2026-08-21 21:31:42 +08:00
jxxghp c0b31bddb6 refactor: register event delivery contracts 2026-08-21 21:29:52 +08:00
jxxghp b9ad5220ae refactor: define module contract v2 2026-08-21 21:25:35 +08:00
jxxghp ff0ce8d1c1 refactor: add configuration dependency ratchet 2026-08-21 21:20:56 +08:00
jxxghp 9df599f502 refactor: split api dependencies by domain 2026-08-21 21:09:57 +08:00
jxxghp 773ea8cb9b refactor: introduce typed host runtime 2026-08-21 20:56:25 +08:00
jxxghp b598b516d5 refactor: migrate high-risk write transactions 2026-08-21 20:46:57 +08:00
jxxghp 7de72e0e83 refactor: own subscription create transactions 2026-08-21 20:37:31 +08:00
jxxghp dd1c4c3279 refactor: unify database readiness lifecycle 2026-08-21 20:07:07 +08:00
jxxghp bb57b22975 refactor: use factory for supervised uvicorn modes 2026-08-21 19:51:33 +08:00
jxxghp d89d29612c refactor: enforce single-worker control plane 2026-08-21 19:40:20 +08:00
InfinityPacer c59a852b8d fix(plugins): preserve top-level hidden restore entries (#6378) 2026-08-21 19:09:33 +08:00
InfinityPacer b9bbc8913c fix: 完善插件恢复与运行态收敛 (#6376) 2026-08-21 18:09:29 +08:00
InfinityPacer 2d80f9f04f fix(plugins): preserve dependency manifest sources (#6370) 2026-08-20 20:51:35 +08:00
InfinityPacer cbdde6443d test(plugins): align repository imports with runtime namespace (#6368) 2026-08-20 19:01:02 +08:00
InfinityPacer 2e5cc6c669 fix(plugins): align watcher lifecycle with startup (#6366) 2026-08-20 15:24:15 +08:00
InfinityPacer 23f5d59c74 feat: 使用 uv 锁定主程序依赖并强化插件恢复边界 (#6364) 2026-08-20 12:17:19 +08:00
jxxghp 27ae1b5290 fix: 插件重载窗口期装饰器包装类方法误判直调导致 missing event TypeError
事件绑定解析在 owner_class 为 None 时仅靠限定名区分自由函数与类方法声明,
装饰器包装的方法限定名含 <locals> 被误判为自由函数 unbound 直调,把 event
吞进 self 触发 TypeError。局部作用域限定名无法区分包装方法与局部自由函数,
按调用约定兜底:签名首参为 self/cls 才视为类方法声明跳过执行。
2026-08-20 08:51:37 +08:00
InfinityPacer 307d54bf68 fix(acoustid): accept non-fatal fpcalc output (#6362) 2026-08-19 22:44:35 +08:00
InfinityPacer 2b3766e86e feat: 数据库迁移前自动备份 (#6360) 2026-08-19 18:35:56 +08:00
InfinityPacer f700db5ac8 feat(database): add managed backup and offline restore (#6359) 2026-08-19 17:34:32 +08:00
jxxghp f4a879b3de fix(rename): 剥离专辑名尾部年份,避免重命名目录重复年份 (#6355)
音频标签或下载目录常把发行年份写进专辑名(如 "欲望反光 (2018)"),
而音乐重命名模板会独立追加 ({{year}}),两者叠加生成 "欲望反光 (2018) (2018)"
这类重复年份目录,并把同一专辑拆到多个目录。

在模板上下文中统一剥离专辑名尾部的括号年份;仅当存在可独立渲染的
年份时才剥离,避免丢失只存在于专辑名中的年份信息。
2026-08-19 17:26:35 +08:00
jxxghp f069bf05c7 fix(agent): 调大摘要输入裁剪上限,减少无法压缩报错
LangChain 默认按 4000 token 裁剪待摘要消息,单条超长工具结果或
用户输入会被整体丢弃,直接触发'无法压缩'报错;在 MoviePilot 子类
中覆盖默认上限为 16000,并保持显式传参的兼容性。
2026-08-19 14:02:19 +08:00