jxxghp
e1b0d5b4bf
fix(indexer): identify HDDolby API connection failures ( #7164 )
2026-10-23 21:04:49 +08:00
jxxghp
4d32f25fe4
fix(indexer): honor HDDolby API resource URL ( #7158 )
2026-10-23 17:48:59 +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
6d4ce83837
fix(types): clear host mypy debt and prevent typing regressions
...
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。
修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
jxxghp
842320a22c
fix(site): preserve MTorrent role names and nullable share ratios
2026-10-20 15:39:06 +08:00
GuanAllen
458329b3f7
fix(indexer): 透传 mTorrent、HDDolby、Yema 的站点分类 ( #7080 )
...
* fix(indexer): 站点资源页页码归一化并让 mTorrent/HDDolby/Yema 支持分类透传
站点资源页传 1 起始页码,链路按 0 起始处理,mTorrent 再 +1 后请求 pageNumber=2,
导致单页关键词搜索返回空;同时站点页选择的分类没有透传到专站适配器,
Movie/TV 预置分类互相覆盖,分类筛选不生效。
- site.py: page 传入前归一化为 max(page-1, 0)
- indexer: mTorrent/HDDolby/Yema 专站参数补充 cat
- mtorrent.py: search/async_search/__get_params 支持 cat,显式分类优先
- hddolby.py: search/async_search/__get_params 支持 cat,显式分类优先
- yema.py: search/async_search/_prepare_search_requests 支持 cat,显式分类优先
* fix(indexer): preserve browse paging and support category lists
---------
Co-authored-by: GuanAllen <guanyelin@users.noreply.github.com >
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-19 18:33:28 +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
967780db88
fix(types): type indexer spider response boundaries
2026-10-17 18:01:20 +08:00
jxxghp
13ab2f5e9e
fix: type Rousi unread message parser
2026-10-17 13:36:25 +08:00
jxxghp
87674768a9
fix(types): govern Bitpt user data contract
2026-10-17 07:15:40 +08:00
jxxghp
031d5dec3d
fix(types): govern Zhixing user data contract
2026-10-17 07:00:08 +08:00
jxxghp
bbca548a43
docs(types): remove obsolete parser compatibility note
2026-10-17 01:19:05 +08:00
jxxghp
89bf47c061
refactor(types): align shared contracts for zhixing site parser
2026-10-17 01:18:54 +08:00
jxxghp
62ef4bf51a
refactor(types): govern yema site parser
2026-10-17 01:18:52 +08:00
jxxghp
a4710b434d
refactor(types): govern unit3d site parser
2026-10-17 01:18:49 +08:00
jxxghp
767aa8896f
refactor(types): govern torrent_leech site parser
2026-10-17 01:18:47 +08:00
jxxghp
d82f30a43f
refactor(types): govern tnode site parser
2026-10-17 01:18:45 +08:00
jxxghp
18dd8d23cf
refactor(types): align shared contracts for sunnypt site parser
2026-10-17 01:18:42 +08:00
jxxghp
5523a3db8e
refactor(types): govern small_horse site parser
2026-10-17 01:18:40 +08:00
jxxghp
13a0b2e7a2
refactor(types): align shared contracts for rousi site parser
2026-10-17 01:18:38 +08:00
jxxghp
1ed776333e
refactor(types): govern nexus_rabbit site parser
2026-10-17 01:18:35 +08:00
jxxghp
2bec21864d
refactor(types): govern nexus_project site parser
2026-10-17 01:18:32 +08:00
jxxghp
66a5d81109
refactor(types): govern nexus_php site parser
2026-10-17 01:18:30 +08:00
jxxghp
92f2990c52
refactor(types): govern nexus_hhanclub site parser
2026-10-17 01:18:28 +08:00
jxxghp
1eaef2aee8
refactor(types): govern nexus_audiences site parser
2026-10-17 01:18:26 +08:00
jxxghp
9d36adce97
refactor(types): govern mtorrent site parser
2026-10-17 01:18:23 +08:00
jxxghp
9844b80884
refactor(types): govern ipt site parser
2026-10-17 01:18:20 +08:00
jxxghp
dc83ab9adf
refactor(types): govern hddolby site parser
2026-10-17 01:18:17 +08:00
jxxghp
9b35d01582
refactor(types): govern gazelle site parser
2026-10-17 01:18:15 +08:00
jxxghp
1e7dd5d864
refactor(types): govern file_list site parser
2026-10-17 01:18:12 +08:00
jxxghp
8de055c73e
refactor(types): govern discuz site parser
2026-10-17 01:18:10 +08:00
jxxghp
8fceb4d40f
refactor(types): align shared contracts for bitpt site parser
2026-10-17 01:18:08 +08:00
jxxghp
1006c709d8
refactor(types): govern shared site parser contracts
2026-10-17 01:14:46 +08:00
Opportunity
5482415697
fix(indexer): normalize Audiences user levels ( #7027 )
2026-10-16 22:08:02 +08:00
Opportunity
b8eb66521b
fix(indexer): 修复 NexusPHP 用户流量详情表格兜底解析 ( #7008 )
2026-10-15 20:30:23 +08:00
Opportunity
5e476e2419
fix(indexer): 修复 Discuz 用户分享率解析 ( #7006 )
2026-10-15 13:01:57 +08:00
jxxghp
99ef7e508b
fix(indexer): support custom seeding and Unit3D bonus pages
2026-10-12 08:36:19 +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
WenGuoyin
e19076f482
feat(indexer): 适配 Milkie 站点搜索与连通测试
...
- 新增 MilkieSpider:基于 milkie.cc JSON API(x-milkie-auth 认证)的
种子搜索与浏览,支持关键字分类收敛、服务端翻页、免费因子与
媒体类型映射,下载链接按 API Key URL 编码拼接
- 注册 SPIDER_PARSER_CLASSES 与专用搜索参数投影
- SiteChain 新增 milkie.cc 连通性测试,401/403 判定 API Key 失效
- 补充 MilkieSpider 单元测试与同步异步参数一致性用例,同步依赖基线
2026-10-08 17:18:10 +08:00
jxxghp
656e2852f7
fix(indexer): paginate keyword results without server page support
...
Refs #6911
2026-10-08 13:46:57 +08:00
ChantXu64
e5e2558585
feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 ( #6907 )
2026-10-07 14:40:55 +08:00
jxxghp
43edef140f
fix(indexer): fetch TNode current user before requiring an id ( #6895 )
2026-10-06 07:40:06 +08:00
jxxghp
378944aeba
fix(indexer): support XML feeds in site search
2026-10-03 23:47:04 +08:00
jxxghp
97b251ed72
chore(parser): preserve existing ruff baseline
2026-10-02 17:04:41 +08:00
jxxghp
e1d1de1ee7
fix(parser): keep Unit3D username as user id
2026-10-02 17:00:41 +08:00
jxxghp
ef967e68e7
fix(indexer): satisfy subtitle API type gates
2026-10-01 12:44:03 +08:00
jxxghp
58ec86b586
fix(indexer): use M-Team subtitle search API
2026-10-01 12:29:28 +08:00
Aqr-K
f4a68f360d
fix(indexer): 站点搜索兜底失败信息附带状态码与页面标题 ( #6819 )
2026-09-29 06:57:10 +08:00
jxxghp
05a53657a6
fix(indexer): parse PterClub seeding stats
2026-09-23 16:15:19 +08:00