freeman
68cfc377ee
feat(history): register externally completed transfers ( #7293 )
2026-11-04 06:24:38 +08:00
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
JontyLee
6e405a67b3
fix(cache): Redis 故障日志遮盖缓存键中携带的请求凭据 ( #7220 )
2026-10-27 20:54:42 +08:00
jxxghp
2c0ea1d0c6
fix(display): 避免固定编号导致 Xvfb 启动冲突 ( #7217 )
...
移除将 DISPLAY 追加到 Xvfb 命令的参数,交由显示后端分配空闲编号。补充真实命令构造、显示环境恢复和重复启停的回归测试。
Refs #7212
2026-10-27 13:03:48 +08:00
jxxghp
53f455cac8
fix(resources): normalize GitHub proxy and retry downloads
...
Reuse the checked resource manifest within each download and retain phase-specific retry errors. Preserve application update error contracts.
Refs #7185
2026-10-26 09:04:54 +08:00
jxxghp
6680e090e6
feat: 自动登记中心推送实例并安全轮换凭据
2026-10-24 09:17:24 +08:00
jxxghp
3ac7526930
feat(notification): relay AppPush through private MoviePilot Server
2026-10-24 07:32:00 +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
f3c1449c8b
fix(storage): preserve transfer contents and cleanup identities ( #7142 )
2026-10-23 06:51:54 +08:00
Cat
c8517eb2f1
fix(doh): skip CNAME answers and cool down failed resolvers ( #7135 )
2026-10-22 16:43:20 +08:00
InfinityPacer
ec922865be
feat(update): require image system baseline before installing updates
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-22 16:36:44 +08:00
jxxghp
2393f198af
fix(fsworker): rename symlinks by link device
2026-10-22 06:49:18 +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
秋澪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
秋澪Akimio
8b5e536452
feat(storage): 本地复制优先尝试写时复制(reflink)并支持自动回退 ( #7082 )
2026-10-19 18:01:22 +08:00
秋澪Akimio
114c2cebe5
feat(storage): 本地存储增加引用链接(reflink)整理方式 ( #7077 )
2026-10-19 16:48:41 +08:00
DDSRem
54ba4f435b
refactor(plugin): share dependency recovery decisions ( #7060 )
2026-10-18 15:29:31 +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
jxxghp
30378f2fc8
fix(network): recover shared pools after repeated pool timeouts
2026-10-18 09:01:33 +08:00
DDSRem
2de976f6b3
Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
...
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
82639da3d1
fix(types): type shared HTTP clients
2026-10-17 17:12:42 +08:00
jxxghp
643f66040b
style(types): format server imports
2026-10-17 16:44:16 +08:00
jxxghp
ae4534e14a
fix(types): preserve server compatibility contracts
2026-10-17 16:37:48 +08:00
jxxghp
76d9ead430
fix(types): type MoviePilot server adapter responses
2026-10-17 16:23:48 +08:00
jxxghp
c94abab7b7
fix: type OCR user agent fallback
2026-10-17 12:36:48 +08:00
jxxghp
f26aca38a4
fix(types): expose stdio stream encoding
2026-10-17 07:19:38 +08:00
jxxghp
7ecf9a80f5
fix(types): type plugin route metadata boundary
2026-10-17 07:18:38 +08:00
jxxghp
f7ce5c0ed0
fix(types): narrow CookieCloud request URL
2026-10-17 07:15:40 +08:00
jxxghp
ffbb3a73fe
fix(wechat): preserve encryption errors and type crypto contracts
2026-10-17 01:58:42 +08:00
jxxghp
ba997610ad
refactor(types): preserve JSON location response contract
2026-10-16 19:09:12 +08:00
jxxghp
fc9aeead06
refactor(types): use ASGI contracts for HTTP metrics
2026-10-16 18:54:17 +08:00
jxxghp
68a6504a92
refactor(types): govern filesystem worker request and response contracts
2026-10-16 13:25:40 +08:00
jxxghp
7b3f6fb9d9
refactor(types): keep resource response import type only
2026-10-16 12:46:25 +08:00
jxxghp
802b7ae9c7
refactor(types): govern resource response and proxy types
2026-10-16 12:46:24 +08:00
jxxghp
dd3bd909ce
refactor(types): align database backup process runner contract
2026-10-16 12:46:24 +08:00
jxxghp
e67f602c0d
refactor(types): govern IP address helpers with strict mypy
2026-10-16 10:52:52 +08:00
jxxghp
226a13075c
refactor(types): govern correlation middleware with strict mypy
2026-10-16 09:40:38 +08:00
jxxghp
5457d131b5
refactor(types): govern challenge detection with strict mypy
2026-10-16 09:37:46 +08:00
jxxghp
4955b7b9ea
fix: harden backend isolation and execution safety
2026-10-16 09:11:28 +08:00
InfinityPacer
615884dd95
fix(community): type server feature lookups
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 22:28:58 +08:00
InfinityPacer
9181ad2b65
feat(community): serve community medals from the Wiki registry behind remote switches
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 22:28:58 +08:00
jxxghp
ea60ed0fd6
feat(community): recognize GitHub contributions and honor levels
2026-10-15 12:11:36 +08:00
jxxghp
edc719596d
feat(update): prepare latest updates for a single restart
2026-10-13 12:50:01 +08:00
jxxghp
40711d2e32
fix(update): preserve pending update state across checks
...
Re-check the target state after a check request returns so a download or
install that started meanwhile cannot be overwritten.
When an older check already turned a staged resource package into
available, validate the complete staged files and their digests against the
same package version and restore ready, full progress and the install
entry instead of forcing a repeated download.
2026-10-13 09:19:37 +08:00
jxxghp
cb6bc02228
fix(agent): inherit deployment environment in Python kernels
2026-10-10 23:33:26 +08:00
jxxghp
b663825fe7
fix(plugin): recover dependencies without disabled constraints
...
Keep enabled host and clone sources in dependency recovery. Fall back to per-plugin requests while retaining ready and recovered manifest constraints, preserving original sources and cancellation ownership.
Refs #6943
2026-10-10 12:20:13 +08:00
jxxghp
d7db4cfc0b
fix(plugin): serialize package swaps with imports ( #6939 )
2026-10-10 07:42:37 +08:00
freeman
f3ad81b39e
style: apply safe ruff auto-fixes and exempt startup late imports
...
Run `ruff check app tests scripts --fix` with the configured rule set
(E4/E7/E9/F/I): import sorting (I001), f-strings without placeholders
(F541), lambda/variable/unused-import cleanups that ruff marks safe.
Nine files whose only ruff debt sits next to pre-existing pylint
import-resolution errors (lazy exports, sys.path script imports) or
whose "unused" imports are reached through attribute access by tests are
left untouched so the changed-file pylint gate and the benchmark tests
stay green; their diagnostics remain in the baseline.
app/startup/lifecycle/__init__.py and app/main.py import business
modules after cache composition, import-path and stdio setup on purpose
(the source comments document the contract), so declare E402
per-file-ignores for them instead of adding per-line noqa.
Ruff ratchet watermark drops from 498 to 100; sync the baseline fixture
and the optimization checklist figure.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-10-09 13:29:09 +08:00