271 Commits

Author SHA1 Message Date
jxxghp
6d4ce83837 fix(types): clear host mypy debt and prevent typing regressions
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。

修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +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
232c325e53 refactor(types): align system with typed route contracts 2026-10-17 03:00:37 +08:00
jxxghp
4955b7b9ea fix: harden backend isolation and execution safety 2026-10-16 09:11:28 +08:00
jxxghp
edc719596d feat(update): prepare latest updates for a single restart 2026-10-13 12:50:01 +08:00
jxxghp
7a853577d8 fix(subscribe): preserve original execution log content 2026-10-12 06:58:01 +08:00
jxxghp
391f55df40 feat(subscribe): add isolated execution logs with authorized streaming (#6963) 2026-10-11 22:18:37 +08:00
InfinityPacer
25aaf3a32b feat(plugin): add agent pet extension contract
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:08:15 +08:00
jxxghp
32d37fa8b4 feat(music): preserve per-task CUE recognition policy 2026-10-08 08:51:01 +08:00
LIN student
75d8b2e441 fix(system): 公开设置不再返回存储的连接配置
/system/setting/public/{key} 只要求登录用户,白名单中的 Storages 原样返回
整个存储列表,每项的 config 保存着各存储的连接配置和凭据(SMB 用户名密码、
alist 账号、115 token 等)。设置合同已将 Storages 标记为 sensitive,
/system/settings 默认会脱敏,只有这个公开接口直接返回原值。

前端 v3 已改用 /storage/options 读取存储名称和类型,公开接口的 Storages
目前只剩 Agent 的 config.public.get 和旧版前端页面会用到,它们只需要
name、type。因此保留该 key,改为与 /storage/options 相同的投影:只返回
name(缺省时取 type)和 type,跳过没有 type 的项。所有调用者返回相同
结果,超级管理员仍可通过 /system/setting/Storages 读取完整配置。

白名单内其他配置(目录、站点范围、集数定位规则、默认订阅规则、Follow
订阅者)不含连接凭据,保持原值返回。同步更新 docs/mcp-api.md 的接口说明。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:42:28 +08:00
jxxghp
03a285a2a6 fix(wechat): proxy douban notification images 2026-10-04 16:19:58 +08:00
Cat
eb76fcafd6 fix(notification): 限制实时消息队列积压并在 SSE 重连后一次推送 (#6862) 2026-10-02 21:32:18 +08:00
jxxghp
b4175a4f88 fix(image): cache site allowlist and include custom image hosts 2026-09-30 01:09:32 +08:00
jxxghp
8c46c9bee8 fix(image): allow configured site domains in image proxy 2026-09-30 00:53:37 +08:00
jxxghp
1d84d17dc4 feat(system): add protocol-aware network checks 2026-09-24 12:25:45 +08:00
LS
c68288e897 feat(security): 图片代理自动信任已启用的媒体服务器主机 (#6769)
在局域网部署 Emby/Jellyfin/Plex 的用户,此前需要手动维护
SECURITY_IMAGE_DOMAINS(整表覆盖,会随版本默认值漂移)和
IMAGE_PROXY_ALLOWED_PRIVATE_RANGES,未签名的媒体服务器图片 URL
才能通过图片代理。

- is_safe_image_url_async 新增可选参数 trusted_hosts:URL 的 netloc
  (含端口)或 hostname 精确命中时直接放行,不受私网拦截限制;
  默认 None,现有调用方行为不变。
- fetch_image(覆盖 /img 与 /cache/image)从已启用媒体服务器的
  host / play_host 计算受信主机;读取配置失败时返回空集合,不影响代理。

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-23 16:34:25 +08:00
moviepilot-codex[bot]
d96f00113c feat: add GitHub Token device authorization 2026-09-21 18:30:15 +08:00
jxxghp
71fffde878 feat(agent): 完善系统设置机器可读合同 2026-09-15 13:11:29 +08:00
jxxghp
ee6393974a feat: 内置 Bangumi 数据与图片代理 2026-09-15 07:42:18 +08:00
jxxghp
8072b7d78f Refactor application architecture and compatibility boundaries 2026-09-13 12:53:00 +08:00
jxxghp
92d809f351 refactor(api): isolate module endpoints 2026-09-11 11:08:03 +08:00
jxxghp
ae1187bd3f feat(module): add dynamic module switches and catalogs 2026-09-11 10:31:53 +08:00
jxxghp
0ed64d9380 fix(api): flatten split endpoint routes 2026-09-05 16:17:36 +08:00
jxxghp
e656793aa5 refactor(api): split management endpoint routers 2026-09-05 16:05:27 +08:00
jxxghp
f00853de2a feat(api): expose frontend-safe management capabilities 2026-09-05 15:11:02 +08:00
jxxghp
a29b641f44 fix(meta): refresh Rust parse options on config update 2026-09-02 12:55:55 +08:00
jxxghp
95913dc32a fix: satisfy update architecture contracts 2026-09-02 00:15:35 +08:00
jxxghp
3124458bc5 fix: preserve update endpoint call compatibility 2026-09-01 23:55:11 +08:00
jxxghp
658fa473d8 feat: support staged site resource updates 2026-09-01 23:49:53 +08:00
jxxghp
d512f528be refactor(api): make collection pagination explicit 2026-09-01 09:13:56 +08:00
jxxghp
6d4d7331d1 refactor: complete agent skill API contracts 2026-09-01 01:19:45 +08:00
jxxghp
ec1a878a32 fix(agent): auto-load gateway skill before API calls 2026-08-31 18:42:25 +08:00
jxxghp
fdba2c7d64 refactor(agent): unify tools behind API gateway and provider skills 2026-08-31 16:57:54 +08:00
jxxghp
c319cb6a83 feat: add configurable wallpaper settings 2026-08-31 09:18:06 +08:00
jxxghp
d50177f45d refactor(system): 收口系统 API 业务职责 2026-08-30 12:16:54 +08:00
jxxghp
9146c75941 feat(auth): add first-run administrator initialization 2026-08-30 09:05:23 +08:00
jxxghp
4575b11d84 fix(architecture): close canonical search type gate 2026-08-30 02:48:42 +08:00
jxxghp
c960a0184d refactor(architecture): complete final governance 2026-08-29 23:28:44 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
fa40f29dfd refactor(plugin): converge runtime ownership and compatibility 2026-08-29 12:55:52 +08:00
jxxghp
f38637dcea refactor(api): move host orchestration into application services 2026-08-29 10:27:57 +08:00
jxxghp
d9e4a973c8 refactor(subscription): enforce atomic mutation boundaries 2026-08-28 17:39:20 +08:00
jxxghp
88703d645a fix(subscribe): clean deleted rule group references 2026-08-26 20:58:15 +08:00
jxxghp
b914e8b6e4 refactor: strengthen architecture CI gates and runtime contracts 2026-08-25 17:02:29 +08:00
InfinityPacer
d58c8d2b17 feat: 完善数据库备份管理与版本读取 (#6450) 2026-08-25 16:05:45 +08:00
jxxghp
84326e20de feat(system): add staged release updates 2026-08-24 17:58:03 +08:00
InfinityPacer
326b5cf3ad feat: 新增 Python 3.14t 自由线程镜像 (#6434)
* fix(resource): select free-threaded extension ABI

* chore(deps): require moviepilot-rust 0.2.9

* perf: add free-threaded runtime comparison

* feat: add free-threaded runtime profile

* chore(deps): require moviepilot-rust 0.3.0

* test: isolate system endpoint import graph

* fix(docker): preserve runtime profile during recovery

* feat(runtime): expose active GIL state

* feat(plugin): log GIL fallback attribution

* test: refresh runtime observability dependency baseline

* fix(plugin): validate the active uv runtime profile

* test(runtime): expand free-threaded benchmark evidence

* docs(runtime): define v3t governance gates

* test(runtime): separate rust benchmark modes

* docs: sync free-threaded architecture baseline

* perf: add PostgreSQL driver comparison

* docs(runtime): record final free-threaded evidence

* fix(runtime): converge dual-profile dependency verification

* fix(runtime): scope Python 3.14 warning filter

* fix(runtime): match actual oss2 syntax warning

* docs(runtime): refresh free-threaded benchmark evidence

* test(architecture): refresh runtime dependency baseline

* ci: skip unused Trivy Java database

* build: exclude local verification artifacts

* docs(runtime): refresh PostgreSQL driver benchmarks

* docs(runtime): record plugin restore acceptance

* docs(runtime): record amd64 candidate acceptance

* ci: pin beta image publisher action

* test(architecture): merge runtime dependency baseline

* feat(runtime): expose Python GIL status

* docs(runtime): document Python runtime status fields
2026-08-24 17:48:14 +08:00
jxxghp
4dd2d7fed2 refactor: use explicit runtime facade getters 2026-08-24 03:56:54 +08:00
jxxghp
820582ab12 refactor: close plugin shutdown mutation races 2026-08-23 21:55:22 +08:00