168 Commits

Author SHA1 Message Date
ranzhigg
914abf6273 fix: tighten API authorization boundaries 2026-10-30 16:14:49 +08:00
jxxghp
42edfd1da8 fix(api): bound collection views and query calendar dates (#7200) 2026-10-27 00:40:09 +08:00
jxxghp
1bf496d0f3 fix(api): enforce token authentication for subscription list
Refs #7198
2026-10-26 23:19:31 +08:00
Aqr-K
951cdc5b27 fix: arbitrate subscription identity and restore workflow state (#7147)
* fix: arbitrate subscription identity and restore workflow state

* test: preserve legacy empty-owner subscription transactions

* fix: align shared atomic configuration method with lifecycle prerequisite

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 08:14:15 +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
4f98486e25 fix: restore popular years and safe Transmission selection 2026-10-19 12:17:56 +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
2ee564d857 fix(types): narrow subscription share response fields 2026-10-17 16:24:11 +08:00
pavel2
0d62815a0f fix(api): accept agent media type values
9 处裸构造 MediaType(x) 改为 MediaType.from_agent(x) or MediaType(x),与 search.py/site.py 既有写法一致。智能体按 API 入参规约传入 movie/tv/music 时不再抛 ValueError 返回 500,中文原生枚举值仍走原分支,无行为变化。

涉及:media.py detail、tmdb.py(3)、douban.py(2)、mediaserver.py not_exists、subscribe.py create_subscribe、transfer.py _execute_manual_transfer。
2026-10-10 09:56:47 +08:00
jxxghp
6cdd4dbc66 fix(subscribe): resolve cross-source video status without premiere year 2026-09-28 16:59:30 +08:00
jxxghp
2e2a037eb8 fix(subscribe): align fork response model with returned id 2026-09-18 12:24:58 +08:00
jxxghp
37ea8ba14d fix(subscribe): support cross-source video status lookup 2026-09-15 11:31:04 +08:00
jxxghp
ebddeee23b feat(subscribe): accumulate music album track progress 2026-09-14 19:35:04 +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
0d0bcf8a3b fix(api): preserve startup import budget 2026-09-04 19:04:08 +08:00
jxxghp
ff01449cdd fix(api): humanize user-facing error messages 2026-09-04 17:55:56 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
2767bb2e4f fix(subscription): bind file statistics to sync session 2026-09-02 12:02:59 +08:00
jxxghp
083bcf644d fix(subscription): use async query for file statistics 2026-09-02 11:36:04 +08:00
jxxghp
e57288b5ea refactor(subscribe): satisfy global governance gates 2026-09-01 17:09:55 +08:00
jxxghp
a712284dc4 feat(subscribe): expose governed execution status 2026-09-01 17:09:54 +08:00
jxxghp
d512f528be refactor(api): make collection pagination explicit 2026-09-01 09:13:56 +08:00
jxxghp
a73714e5e7 feat(agent): add compatible collection pagination 2026-09-01 07:43:55 +08:00
InfinityPacer
3d8e9d4acd 修复订阅删除结果与权限语义 (#6514)
* fix(subscribe): expose deletion outcomes

* fix(subscribe): translate deletion errors

* fix(schema): refresh subscribe exports

* chore(quality): sync ruff baseline

* fix(schema): preserve import baseline

* fix(schema): preserve mypy baseline
2026-08-31 11:59:59 +08:00
InfinityPacer
5c70757a81 fix(auth): align v3 authentication contracts
按已确认的 V3 AUTH-001 交付门禁合并:后端认证与用户资料契约已完成本地前后端联调,Architecture、Coverage、单测分片和 Pylint 全部通过。
2026-08-31 04:57:34 +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
b914e8b6e4 refactor: strengthen architecture CI gates and runtime contracts 2026-08-25 17:02:29 +08:00
jxxghp
4dd2d7fed2 refactor: use explicit runtime facade getters 2026-08-24 03:56:54 +08:00
jxxghp
f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
jxxghp
1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp
c5de1c7b1b refactor: make subscription lifecycle events durable 2026-08-22 07:43:41 +08:00
jxxghp
9df599f502 refactor: split api dependencies by domain 2026-08-21 21:09:57 +08:00
jxxghp
8472bcff43 refactor: 收口 V3 分层架构与插件兼容边界 2026-08-18 13:22:02 +08:00
jxxghp
5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
Aqr-K
8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
jxxghp
369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp
7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
jxxghp
baf8850d63 refactor(api): standardize responses and restore media config contracts 2026-08-12 23:15:13 +08:00
jxxghp
ca32922a7f refactor(media): unify media identity and chain responsibilities 2026-08-12 18:31:09 +08:00
jxxghp
8bf2f601a6 refactor(media): unify source identity and music browsing 2026-08-12 12:56:40 +08:00
jxxghp
d1028a6902 feat(music): add TheAudioDB and Douban discovery 2026-08-12 10:50:13 +08:00
jxxghp
97dba2a8ae feat: unify media recognition and music lifecycle 2026-08-12 06:51:58 +08:00
jxxghp
75e56d8e9a feat(music): add audio quality workflow 2026-08-10 10:23:02 +08:00
jxxghp
5572b2dc64 fix(music): separate album and recording subscriptions 2026-08-09 23:30:31 +08:00
jxxghp
05d15a04f5 feat(v3): add music automation workflow 2026-08-07 21:50:22 +08:00
thelinyue
702801d0dc fix(subscribe): seerr 端点电影订阅不传季号,避免误判为剧集(S00) (#6226) 2026-08-02 21:06:00 +08:00