59 Commits

Author SHA1 Message Date
Aqr-K
71c2e9e3df fix(storage): retain history until target cleanup is confirmed (#7202) 2026-10-27 05:42:07 +08:00
jxxghp
3ac7526930 feat(notification): relay AppPush through private MoviePilot Server 2026-10-24 07:32:00 +08:00
jxxghp
fa67be8e4a fix(scraping): normalize artwork and reuse downloads for aliases
Add independent alias and Fanart 4K switches, identify exact artwork names, preserve episode and season conventions, and detect missing images across case and format variants. Normalize downloaded bytes to JPEG or PNG and reuse one request with storage hard links or local upload copies.

Refs #7128
2026-10-22 09:25:42 +08:00
Aqr-K
bf4ef4214e perf(mediaserver): add caller-controlled query projections (#7068)
* perf(mediaserver): add caller-controlled query projections

* test(mediaserver): cover query projection option contracts

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-19 08:33:45 +08:00
jxxghp
60d2fe418a fix(douban): preserve recommendation lists and page model contracts 2026-10-18 15:08:37 +08:00
DDSRem
e0642eafa7 chore(types): reduce v3 host mypy debt (#7057)
* chore(types): clear AniList endpoint mypy debt

* chore(types): clear Douban endpoint mypy debt

* chore(types): clear recommendation endpoint mypy debt

* chore(types): clear subscription notification mypy debt

* chore(types): clear SDK string compatibility mypy debt

* chore(types): ratchet v3 host mypy across remaining files

* chore(types): reduce v3 host mypy debt and retire ledger

* chore(types): reconcile host snapshot with upstream HTTP pool

* test(types): cover host paths exposed by mypy cleanup
2026-10-18 09:37:49 +08:00
DDSRem
2de976f6b3 Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
3075efba1c style: order module adapter imports 2026-10-17 12:36:48 +08:00
jxxghp
dc2f04189f fix: type host module configuration capture 2026-10-17 12:36:48 +08:00
cosini
e36884766c feat(douban): 新增豆瓣短评与影评接口
* feat(douban): 新增豆瓣短评与影评接口

* fix(douban): satisfy comment endpoint CI gates

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-17 12:31:41 +08:00
jxxghp
4955b7b9ea fix: harden backend isolation and execution safety 2026-10-16 09:11:28 +08:00
ChantXu64
e5e2558585 feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 (#6907) 2026-10-07 14:40:55 +08:00
thsrite
4395ddecf2 feat(mediaserver): 内置媒体服务 MediaVault 更名为 Vyo
主项目更名为 Muvyo,内置媒体服务更名为 Vyo。模块目录、文件、类名、模块 ID、枚举、
名称描述、日志与文档统一改为 Vyo;配置类型值 mediavault 保持不变,
已保存的媒体服务器配置无需迁移。
2026-09-30 19:46:09 +08:00
jxxghp
ae1187bd3f feat(module): add dynamic module switches and catalogs 2026-09-11 10:31:53 +08:00
jxxghp
02686ed674 feat(search): merge music artists into person search 2026-09-10 09:02:17 +08:00
jxxghp
53f7012b6b feat(music): add AMLL TTML lyrics source 2026-09-09 23:53:30 +08:00
jxxghp
17eaf47c34 refactor(music)!: remove Musixmatch and expose lyrics plugin types
BREAKING CHANGE: remove the Musixmatch module and settings without migration. Lyrics providers can use the public music candidate SDK and existing plugin module hook.
2026-09-09 23:04:20 +08:00
jxxghp
d0c894f5eb fix(transfer): close durable error recovery loop 2026-09-08 22:38:59 +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
InfinityPacer
43af5b5282 fix(module): bind config reload to module manager (#6568) 2026-09-04 01:34:29 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
23bff6b2bb refactor: add durable transfer planning checkpoints 2026-08-27 13:16:33 +08:00
jxxghp
e02418bace feat(media): aggregate aliases from enabled metadata sources 2026-08-26 13:45:03 +08:00
jxxghp
574c50586e feat(music): 完善歌词与专辑目录整理 2026-08-25 21:02:26 +08:00
jxxghp
52fd495d38 refactor: normalize downloader file contracts 2026-08-24 02:10:04 +08:00
jxxghp
83318b12c0 refactor: enforce module fanout contracts 2026-08-24 02:02:01 +08:00
jxxghp
19653b1437 refactor: type recognition module contracts 2026-08-24 01:58:36 +08:00
jxxghp
3e4e182ff9 refactor: type routed module contracts 2026-08-24 01:55:27 +08:00
jxxghp
9712803b8d refactor: type music module contracts 2026-08-24 01:50:01 +08:00
jxxghp
f655051c85 refactor: unify tmdb query contracts 2026-08-24 01:47:47 +08:00
jxxghp
488b3667bb refactor: unify anilist module contracts 2026-08-24 01:45:49 +08:00
jxxghp
903d1d3c4d refactor: unify bangumi module contracts 2026-08-24 01:44:06 +08:00
jxxghp
ce27732064 refactor: unify douban module contracts 2026-08-24 01:42:34 +08:00
jxxghp
8f6456be6c refactor: unify discovery module contracts 2026-08-24 01:40:39 +08:00
jxxghp
c41492e56c refactor: type host lookup contracts 2026-08-24 01:38:27 +08:00
jxxghp
bb80c10a0b refactor: type storage value contracts 2026-08-24 01:35:42 +08:00
jxxghp
e359bbace9 refactor: type media server contracts 2026-08-24 01:33:04 +08:00
jxxghp
bc8e4e75e3 refactor: unify media capability contracts 2026-08-24 01:15:09 +08:00
jxxghp
14e70208a2 refactor: type downloader action contracts 2026-08-24 01:11:47 +08:00
jxxghp
f37407d0f3 fix: merge downloader tracker mappings 2026-08-24 01:08:45 +08:00
jxxghp
b0c4809d1a refactor: type high-value module contracts 2026-08-24 01:03:57 +08:00
jxxghp
bec64887d6 refactor: enforce module aggregation contracts 2026-08-24 00:57:19 +08:00
jxxghp
e7bfc9dd43 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	tests/fixtures/architecture/dependency-baseline.json
2026-08-23 15:44:35 +08:00
InfinityPacer
2ac61337b8 fix(async): offload synchronous plugin methods 2026-08-23 15:19:15 +08:00
jxxghp
f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
jxxghp
dc9433f0de feat: observe legacy module contract hits 2026-08-23 00:11:15 +08:00
jxxghp
1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp
1a71e4809f feat: wire host database and extension metrics 2026-08-22 13:22:33 +08:00
jxxghp
7bc5e01afd refactor: expand async and type safety gates 2026-08-22 13:21:52 +08:00