Commit Graph

9074 Commits

Author SHA1 Message Date
yanjunpu
0570eb24fc Merge remote-tracking branch 'origin/v3' into codex/manual-source-classification 2026-09-07 23:27:11 +08:00
jxxghp
b40eda2617 fix(transfer): preserve durable retry for failed manual history 2026-09-07 23:17:00 +08:00
jxxghp
d6c8c8fbe7 Merge pull request #6600 from dogodefi/codex/music-authority-path 2026-09-07 20:46:23 +08:00
yanjunpu
598f526d37 fix(music): prefer selected album identity when renaming 2026-09-07 19:57:52 +08:00
jxxghp
db7faef202 refactor(config): use field policies for setting updates 2026-09-07 18:25:59 +08:00
yanjunpu
994fc3a6a4 fix(schema): keep request type imports private 2026-09-07 16:32:47 +08:00
yanjunpu
8a7e4b2fbc fix(download): detect dotted torrent root folders 2026-09-07 16:25:21 +08:00
yanjunpu
471c624aee fix(download): follow single-word module policy 2026-09-07 15:56:20 +08:00
yanjunpu
9a74802d2b feat(download): recognize and organize existing tasks 2026-09-07 15:52:11 +08:00
jxxghp
1f8b1b55e0 Merge pull request #6596 from thsrite/feat/mediavault-mediaserver 2026-09-07 14:58:06 +08:00
thsrite
4a66d43366 fix(types): 补齐模块基类注解,消除新模块的类型门禁失败
Architecture Contract Gate 的 mypy ratchet 报出新模块两条错误,根因都在基类:

- ConfigReloadMixin.__init_subclass__ 缺注解,导致所有继承它的模块在类型化
  上下文中被判 no-untyped-call
- _ModuleBase.init_setting 的返回注解为 Tuple[...],与其文档说明的
  「不实现该方法或返回 None 代表不使用开关」矛盾,子类如实声明 Optional
  就会被判 override 不兼容

两处均为纯注解修正,无行为变化。全量 mypy 错误由 9,496 降至 9,441(净减 55,
未新增任何错误),出错文件 514 → 513;同步固化 mypy 低水位与架构清单中的计数。
2026-09-07 14:33:01 +08:00
thsrite
d04b721f84 feat(mediaserver): 新增 MediaVault 自建媒体库模块
通过 MediaVault 管理端口的原生接口接入自建媒体库,凭据为管理面板的长效 API Key:

- 媒体库列表、条目分页遍历、条目详情与总数
- 按标题/年份/媒体身份判断电影与剧集存在性,季集齐全度与季集条目 ID
- 数量统计、最近入库、继续观看、封面与背景图直链、播放地址
- 入库后按目标路径命中媒体库并排队后台扫描,未命中时回退全库扫描
- 用 MediaVault 账号完成 MoviePilot 用户认证

MediaVault 无音乐库也不外发 Webhook,get_music 与 webhook_parser 不实现;
图片直链自带 API Key,无需 mediaserver_image_cookies。

同时把 mediavault 接入 mediaserver-operation Agent Skill 的 provider 清单。
2026-09-07 13:49:10 +08:00
jxxghp
44c41ec476 fix(config): separate auto-update and dev tracking settings for clarity 2026-09-07 13:35:52 +08:00
jxxghp
6ae5b9d9f0 fix(transfer): preserve frozen source step identity 2026-09-07 12:20:44 +08:00
jxxghp
90275e195e fix(cli): suppress expected click typing warning 2026-09-07 12:12:14 +08:00
jxxghp
8167922949 docs(architecture): sync ruff metric 2026-09-07 12:02:48 +08:00
jxxghp
3436553d32 chore(architecture): sync ruff low-water mark 2026-09-07 11:53:41 +08:00
jxxghp
9b5f4d096d chore(architecture): refresh concurrency owner baseline 2026-09-07 11:44:54 +08:00
jxxghp
373c398a7b chore(architecture): refresh host dependency baseline 2026-09-07 11:35:41 +08:00
jxxghp
c56734a826 fix(docker): apply release updates before supervisor restart 2026-09-07 08:28:14 +08:00
yanjunpu
2361470af4 feat(download): classify existing source locations 2026-09-07 00:33:44 +08:00
jxxghp
b9120a5b6a fix(classification): preserve non-TMDB legacy categories 2026-09-06 23:36:43 +08:00
jxxghp
e3a5e8a3e9 docs(architecture): sync mypy debt metric 2026-09-06 22:59:15 +08:00
jxxghp
43438f1230 docs: strengthen pre-commit CI gate guidance 2026-09-06 22:41:09 +08:00
jxxghp
eda80050c5 fix: restore search provider type contract 2026-09-06 22:36:07 +08:00
jxxghp
c41dc69596 fix: remove stale runtime profile import 2026-09-06 22:15:36 +08:00
jxxghp
75c0f4fc66 chore: record supervisor restart timer owner 2026-09-06 22:04:51 +08:00
jxxghp
d5605bb0a1 fix(scheduler): gate release update checks 2026-09-06 21:50:40 +08:00
jxxghp
3f70440f5f fix: sync supervisor architecture health contracts 2026-09-06 21:45:17 +08:00
jxxghp
6a3e36087f fix: update runtime checks for supervisor restart 2026-09-06 21:32:07 +08:00
jxxghp
e6f531d47f refactor: manage Docker processes with supervisor 2026-09-06 21:21:06 +08:00
jxxghp
d11ed310e6 Merge pull request #6592 from jxxghp/fix/issue-6588
style: sort plugin policy imports
2026-09-06 17:40:18 +08:00
jxxghp
4371549cd4 style: sort plugin policy imports 2026-09-06 16:45:41 +08:00
jxxghp
c8e9e6f3e6 Merge pull request #6591 from jxxghp/fix/issue-6588
feat(search): log site durations
2026-09-06 16:30:08 +08:00
jxxghp
dd7d6db9a1 feat(search): log site durations 2026-09-06 16:25:41 +08:00
jxxghp
7e8095f9ac Merge pull request #6590 from jxxghp/chore/bump-moviepilot-rust-0.3.5
chore: bump moviepilot-rust to 0.3.5
2026-09-06 15:17:34 +08:00
jxxghp
71dffb7e18 chore: bump moviepilot-rust to 0.3.5 2026-09-06 07:16:48 +00:00
jxxghp
78120664fb Merge pull request #6589 from jxxghp/fix/issue-6588 2026-09-06 15:07:59 +08:00
jxxghp
edc15e9575 fix: recognize parenthesized tmdb ids 2026-09-06 14:54:44 +08:00
jxxghp
f06ffb08dd Merge pull request #6587 from ga626/codex/github-transport-recovery 2026-09-06 11:20:13 +08:00
ga626
5edeef5a4d fix(plugin-market): bound proxy failure handling 2026-09-06 10:53:49 +08:00
jxxghp
801fe5a34f chore(architecture): sync mypy baseline 2026-09-06 10:29:28 +08:00
jxxghp
365a00cc4a chore(architecture): refresh dependency baseline 2026-09-06 10:20:55 +08:00
jxxghp
82652add91 fix(auth): fix passkey deletion password verification 2026-09-06 10:05:40 +08:00
jxxghp
a4cb2870a1 chore: bump moviepilot-rust to 0.3.4 2026-09-06 09:04:34 +08:00
jxxghp
d82bcc5b90 fix(music): recognize real site titles and prefer native subtitle names 2026-09-06 09:00:13 +08:00
jxxghp
82c0b4d09a fix(music): 恢复下载历史中缺失的已选音乐元数据 2026-09-06 08:21:30 +08:00
jxxghp
49414ffad2 test: 清理重复单元测试并记录审计依据 2026-09-06 07:58:07 +08:00
jxxghp
be41517520 fix: 防止音乐署名清理截断真实曲名 2026-09-06 04:55:08 +08:00
jxxghp
a01a941c11 fix: 对齐音乐备选来源匹配并校验录音版本证据 2026-09-06 04:06:00 +08:00