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
|
b6a8d76975
|
docs: record architecture refactor completion
|
2026-08-21 22:37:11 +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
|
dd246fe045
|
ci: enforce complexity reduction ratchet
|
2026-08-21 22:23:37 +08:00 |
|
jxxghp
|
59fa3c0e74
|
ci: add incremental strict type gate
|
2026-08-21 22:21:23 +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
|
336da307a7
|
docs: classify background action reliability
|
2026-08-21 21:33:34 +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
|
de2957b9de
|
refactor: add transaction ownership ratchet
|
2026-08-21 20:16:30 +08:00 |
|
jxxghp
|
bce440e97c
|
Merge remote-tracking branch 'origin/v3' into v3
|
2026-08-21 20:14:19 +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
|
0959831bae
|
fix(ci): gate pylint on changed files
|
2026-08-21 19:50:06 +08:00 |
|
InfinityPacer
|
3b1c0bb93d
|
fix(docker): retain update marker when cleanup fails (#6380)
|
2026-08-21 19:46:56 +08:00 |
|
jxxghp
|
76c32fa35c
|
Merge branch 'v3' of https://github.com/jxxghp/MoviePilot into v3
|
2026-08-21 19:40:24 +08:00 |
|
jxxghp
|
d89d29612c
|
refactor: enforce single-worker control plane
|
2026-08-21 19:40:20 +08:00 |
|
InfinityPacer
|
7f2de37764
|
fix(docker): make source updates recoverable (#6379)
|
2026-08-21 19:37:54 +08:00 |
|
jxxghp
|
6c7c54d2c1
|
ci: enforce backend architecture contracts
|
2026-08-21 19:33:11 +08:00 |
|
jxxghp
|
37c442b042
|
refactor: separate semantic architecture baselines
|
2026-08-21 19:28:31 +08:00 |
|
jxxghp
|
7bc3ea831f
|
refactor: scope architecture baseline operations
|
2026-08-21 19:21:27 +08:00 |
|
jxxghp
|
300ae75bcf
|
docs: add backend architecture next-stage plan
|
2026-08-21 19:21:20 +08:00 |
|
InfinityPacer
|
c59a852b8d
|
fix(plugins): preserve top-level hidden restore entries (#6378)
|
2026-08-21 19:09:33 +08:00 |
|
InfinityPacer
|
6404a3aa58
|
fix(plugins): reload instances after dependency recovery (#6377)
|
2026-08-21 18:29:45 +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
|
638ea6f01e
|
perf: 并行化后端单测并拆分覆盖率任务 (#6369)
|
2026-08-20 20:01:36 +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
|
4e3a6c8032
|
perf(docker): isolate high-frequency image payloads (#6365)
|
2026-08-20 14:47:06 +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
|
87fe986286
|
fix(test): 刷新架构基线,修复未识别下载功能引入依赖导致的 CI 失败
|
2026-08-19 14:05:24 +08:00 |
|
jxxghp
|
f069bf05c7
|
fix(agent): 调大摘要输入裁剪上限,减少无法压缩报错
LangChain 默认按 4000 token 裁剪待摘要消息,单条超长工具结果或
用户输入会被整体丢弃,直接触发'无法压缩'报错;在 MoviePilot 子类
中覆盖默认上限为 16000,并保持显式传参的兼容性。
|
2026-08-19 14:02:19 +08:00 |
|