318 Commits

Author SHA1 Message Date
jxxghp
be65e047b0 fix(plugin): support mirrors for Release asset downloads (#7224) 2026-10-27 22:21:48 +08:00
jxxghp
d9afaba8dd feat(plugin): expose documentation before installation (#7222) 2026-10-27 21:37:00 +08:00
Aqr-K
f84894faee fix(events): release handler ownership before notifying completion (#7206) 2026-10-27 05:43:57 +08:00
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
cc3845621f fix(db): invalidate SQLite connections after I/O errors (#7161) 2026-10-23 19:42:31 +08:00
Aqr-K
6610a8c008 fix: retain plugin lifecycle ownership and recover installation state (#7146)
* fix: retain plugin lifecycle ownership and recover installation state

* test: cover plugin rollback and uninstall lifecycle boundaries

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 07:44:07 +08:00
Aqr-K
598d1663b1 fix(download): preserve protocol failures and isolate site updates (#7143)
* fix(download): preserve protocol failures and isolate site updates

* test: cover tracker token lifecycle and record dependency facts

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 07:22:22 +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
jxxghp
6d4ce83837 fix(types): clear host mypy debt and prevent typing regressions
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。

修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
jxxghp
04963c4608 Merge pull request #7116 from jxxghp/feat/issue-7112-secrets
feat(config): support Docker and Kubernetes secrets
2026-10-21 07:09:37 +08:00
jxxghp
a1d0bf1fd2 feat(scraping): make season image root copies optional 2026-10-21 07:04:42 +08:00
jxxghp
85af231b20 feat(config): support deployment secrets without persisting values 2026-10-21 07:03:39 +08:00
秋澪Akimio
e3d32e491b feat(storage): 本地复制支持仅限关键字参数 try_reflink 并新增实验室配置项 (#7089) 2026-10-19 22:54:43 +08:00
jxxghp
c85f9b262f feat(agent): isolate interactive execution from background services (#7083) 2026-10-19 18:12:05 +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
7adcec5022 style(types): format cache imports 2026-10-17 16:44:16 +08:00
jxxghp
8a59bab207 fix(types): annotate cache proxy contracts 2026-10-17 16:25:26 +08:00
jxxghp
f59a1e848a fix(types): annotate runtime rate limiters 2026-10-17 15:10:57 +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
68101746ae fix(plugin): recover invalid historical instance rows (#7039)
* fix(plugin): recover invalid historical instance rows

* fix(plugin): keep maintenance on existing startup path

* style(plugin): order maintenance test imports

* chore(architecture): record plugin instance validator edges
2026-10-17 06:34:25 +08:00
jxxghp
0404779a8c refactor(types): preserve optional module reload labels 2026-10-17 04:58:55 +08:00
jxxghp
5782eb9f3b chore(types): gate debounce and VoceChat with 46 fewer errors 2026-10-17 04:47:41 +08:00
jxxghp
5fc2c967e4 refactor(types): describe sync and async debounce contracts 2026-10-17 04:43:37 +08:00
jxxghp
2757ac33be fix(log): support exception logging in database backup failures 2026-10-17 04:01:52 +08:00
jxxghp
16bec4c09e fix(runtime): validate process identity and preserve detached launch flags 2026-10-17 03:41:13 +08:00
jxxghp
22283b19ee refactor(types): govern plugin monitor candidate contracts 2026-10-16 23:21:33 +08:00
jxxghp
2b5eb02701 refactor(types): govern plugin path candidate contracts 2026-10-16 23:20:47 +08:00
jxxghp
6f7731545f refactor(types): govern plugin sync candidate payloads 2026-10-16 23:19:31 +08:00
jxxghp
38dd03b9f7 refactor(types): declare plugin system market port 2026-10-16 23:18:09 +08:00
jxxghp
2b5e0ce473 refactor(types): declare plugin catalog facade projections 2026-10-16 18:55:41 +08:00
jxxghp
661e9d95ae refactor(types): declare plugin access comparison result 2026-10-16 18:49:36 +08:00
jxxghp
9dd1ace301 refactor(types): describe lazy log message object contract 2026-10-16 17:33:49 +08:00
jxxghp
e71b225597 refactor(types): declare progress snapshot fields 2026-10-16 16:53:39 +08:00
jxxghp
9ad0c10115 refactor(types): describe sync and async configuration reload callbacks 2026-10-16 16:28:47 +08:00
jxxghp
5e14615dce refactor(types): govern raw plugin metadata mappings 2026-10-16 15:49:36 +08:00
jxxghp
7f61662fae refactor(types): declare legacy settings update result 2026-10-16 15:45:51 +08:00
jxxghp
02fb8953b4 refactor(types): preserve retry and timing decorator contracts 2026-10-16 15:42:50 +08:00
jxxghp
3ee36342bd refactor(types): prove acquired plugin mutation context 2026-10-16 15:15:17 +08:00
jxxghp
0297216794 refactor(types): preserve memory decorator call signatures 2026-10-16 15:15:17 +08:00
jxxghp
ca15f05038 refactor(types): govern plugin lifecycle configuration 2026-10-16 15:15:17 +08:00
jxxghp
2d7af4b0a7 refactor(types): govern stored plugin configuration values 2026-10-16 15:15:17 +08:00
jxxghp
967860e830 refactor(types): specify plugin clone configuration values 2026-10-16 13:25:40 +08:00
jxxghp
ece46052aa refactor(types): preserve configured service schema types 2026-10-16 13:25:40 +08:00
jxxghp
bd21d8a6bf refactor(types): specify localization catalog value boundaries 2026-10-16 13:25:40 +08:00