Commit Graph

1223 Commits

Author SHA1 Message Date
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
40ad00f250 test(architecture): sync renamed module baselines 2026-08-29 22:52:14 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
fb5d7fc593 refactor(torrent): group application capability 2026-08-29 21:28:18 +08:00
jxxghp
d2a860d89a refactor(startup): govern composition lifecycle ownership 2026-08-29 16:57:53 +08:00
jxxghp
dbdf7d0582 refactor(agent): narrow package compatibility surfaces 2026-08-29 14:29:42 +08:00
jxxghp
cff5eef539 test(architecture): freeze agent llm plugin ABI 2026-08-29 13:19:55 +08:00
jxxghp
fa40f29dfd refactor(plugin): converge runtime ownership and compatibility 2026-08-29 12:55:52 +08:00
sokouu87
18c984c072 fix: 修正精确搜索与模糊搜索的 response_model
/search/media/{media_id} 与 /search/title 的 response_model 声明为
Response[list[TorrentInfo]],而 SearchChain.async_search_by_id 与
async_search_by_title 实际返回的是 List[Context]。

Context.to_dict() 产出 {meta_info, media_info, torrent_info} 三层结构,
与 TorrentInfo 的字段完全不相交,被 pydantic 按 response_model 序列化后
所有字段都变成 null,接口对外返回一批空壳数据。

改为与同文件 /search/last 一致的 List[_SchemaContext],
由 ResponseAPIRouter 统一包装成 Response[List[Context]]。
2026-08-29 12:20:50 +08:00
jxxghp
f38637dcea refactor(api): move host orchestration into application services 2026-08-29 10:27:57 +08:00
jxxghp
18c21b61b7 fix(plugin): preserve typed compatible history lookup 2026-08-29 09:25:18 +08:00
jxxghp
daf67dc71a fix(plugin): restore compatible history lookup 2026-08-29 08:47:25 +08:00
InfinityPacer
92066dfad4 feat: 完成插件原生依赖重启激活闭环 (#6491)
* feat(plugins): track native dependency activation

* fix(plugins): finalize native restart state lifecycle
2026-08-29 02:10:50 +08:00
jxxghp
92e745fc97 refactor(architecture): split chain owners and close runtime boundaries 2026-08-28 22:26:19 +08:00
jxxghp
d9e4a973c8 refactor(subscription): enforce atomic mutation boundaries 2026-08-28 17:39:20 +08:00
jxxghp
eb45ed6b77 refactor(runtime): remove data service locators 2026-08-28 16:39:29 +08:00
jxxghp
7a10964526 refactor(subscription): close typed persistence boundary 2026-08-28 13:56:42 +08:00
jxxghp
c656da1e28 refactor(site): close typed persistence boundary 2026-08-28 12:37:30 +08:00
jxxghp
017fecabd6 refactor(history): close transfer history boundary 2026-08-28 11:57:38 +08:00
jxxghp
aa8751f775 refactor: close transactional boundary debt batch 2026-08-28 10:36:12 +08:00
jxxghp
b4f8736541 refactor(workflow): enforce typed query boundary 2026-08-28 01:16:08 +08:00
jxxghp
f134e068e7 refactor: normalize capability module paths 2026-08-27 22:20:38 +08:00
jxxghp
ea58c245dd fix: restore quality gates after module renames 2026-08-27 21:05:36 +08:00
jxxghp
f888aab2c9 refactor: 统一插件迁移与 Passkey 模块命名 2026-08-27 20:38:55 +08:00
jxxghp
e82ce8447c refactor: complete durable transfer execution settlement 2026-08-27 20:27:42 +08:00
InfinityPacer
011ebfbe5f fix: 协调本地插件与绑定仓库的版本选择 (#6482)
* fix(plugin): reconcile local and bound payload versions

* fix(plugin): preserve bound source on updates

* fix(plugin): normalize source reconciliation ids

* fix(plugin): defer local payload activation

* fix(plugin): centralize startup source admission

* fix(plugin): derive sync mode from admitted source
2026-08-27 20:03:30 +08:00
InfinityPacer
627775c090 fix(plugin): 按绑定仓库保留更新候选 (#6474)
* fix(plugin): preserve repository update candidates

* chore(ci): sync architecture ratchet baselines

* chore(ci): align canonical coverage baseline

* chore(ci): align coverage ratchet baseline
2026-08-27 06:56:33 +08:00
InfinityPacer
d24c52ea97 fix(plugin): 按绑定仓库处理插件更新 (#6472) 2026-08-26 21:35:16 +08:00
jxxghp
88703d645a fix(subscribe): clean deleted rule group references 2026-08-26 20:58:15 +08:00
InfinityPacer
ac2a2b1129 feat(plugin): persist declared metadata snapshots (#6467) 2026-08-26 13:15:12 +08:00
InfinityPacer
71db425c07 feat(plugin): 建立可信来源准入与安装恢复 (#6462) 2026-08-26 07:52:00 +08:00
jxxghp
574c50586e feat(music): 完善歌词与专辑目录整理 2026-08-25 21:02:26 +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
354732b899 fix: close search streams on disconnect 2026-08-24 08:07:16 +08:00
jxxghp
4e44deb0fa refactor: unify web agent notice event routing 2026-08-24 07:54:05 +08:00
jxxghp
85d8c58a76 refactor: unify agent audio capability access 2026-08-24 07:23:29 +08:00
jxxghp
7c9d53c6f6 refactor: unify llm provider runtime access 2026-08-24 07:15:02 +08:00
jxxghp
8e669d415e refactor: unify host agent runtime access 2026-08-24 06:42:07 +08:00
jxxghp
9abeda8a05 refactor: own history ai progress tasks 2026-08-24 05:51:17 +08:00
jxxghp
ce918e1565 refactor: unify mediaserver api config access 2026-08-24 05:20:18 +08:00
jxxghp
cb3c5f008f refactor: unify service configuration boundary 2026-08-24 05:12:21 +08:00
jxxghp
4dd2d7fed2 refactor: use explicit runtime facade getters 2026-08-24 03:56:54 +08:00
jxxghp
9f76fc9dec refactor: unify workflow runtime boundary 2026-08-24 03:43:47 +08:00
jxxghp
371383f0a8 refactor: unify host threadpool boundary 2026-08-24 03:28:10 +08:00
jxxghp
2e5dd2cf0a refactor: drain traditional agent streams 2026-08-24 00:50:24 +08:00