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
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
jxxghp
9dbe424c3d
refactor(config): retire RuntimeSettingsCompat host usage
2026-08-26 15:55:21 +08:00
jxxghp
061a92eab0
refactor: route chat and subtitle settings through runtime
2026-08-23 03:17:40 +08:00
jxxghp
97d2dcd7fb
fix(ci): align architecture and pylint gates
2026-08-22 08:50:25 +08:00
jxxghp
8472bcff43
refactor: 收口 V3 分层架构与插件兼容边界
2026-08-18 13:22:02 +08:00
InfinityPacer
24671f8f18
refactor(runtime): lazily activate host modules ( #6331 )
2026-08-16 16:07:38 +08:00
jxxghp
4345fcfa22
refactor(chain): chain 与 module 仅经 run_module 契约互联,实现模块内容封闭
...
- mTorrent 字幕链接解析下沉为 IndexerModule.site_subtitle_links,subtitle 模块自行跳过 API 站点
- TMDB/MusicBrainz 识别缓存管理改为模块方法(tmdb_cache_*/music_cache_*)经 run_module 分发
- WechatClawBot 客户端查找/临时客户端/缓存迁移内聚为 wechatclawbot_* 模块方法,
chain 移除 WechatClawBot 类与 ModuleManager 内省
- LISTENBRAINZ_* 常量迁至 schemas/types.py,模块与链层再导入保持兼容
- TMDbException 升为 schemas/exception.py 跨层契约,vendored 异常保持类身份一致
- 架构守护测试新增 test_chain_does_not_import_module_internals(共 18 项)
- 文档同步:chain->module 仅允许 run_module 分发,直接导入禁止
2026-08-16 05:25:28 +08:00
jxxghp
02f0dd0b9a
refactor(architecture): 修复模块依赖违规并强化架构守护
...
- 字幕编排上移 DownloadChain.download_site_subtitles,SubtitleModule 仅保留站点链接解析
- TransferChain.recommend_name 上移 TV episodes_info 获取,filemanager 模块不再导入 TmdbChain
- endpoint 穿透修复:WXBizMsgCrypt3 迁至 adapters/external/wechat_crypt.py;
music/tmdb 缓存管理、listenbrainz 常量、TMDbException、WechatClawBot 辅助统一经 chain 包装
- RuleParser 与 builtin_rules 合并为 application/filter_rules.py;
fsproxy/fsworker 迁至 adapters/system/
- chain/__init__.py 删除 qbittorrentapi/transmission_rpc 导入,消除后端协议类型泄漏
- 架构守护测试新增三项检查:模块间隔离、入口层穿透、下载器 SDK 泄漏
- 文档同步:05-architecture.md 记录 DB/Oper 聚合例外与迁移文件位置,AGENTS.md 更新所有权表
2026-08-16 04:59:17 +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
cba52c57e6
修复 RAR 字幕包下载识别
2026-06-10 08:46:10 +08:00
jxxghp
829d7944b0
fix: create temp directory for subtitle API downloads
2026-06-10 07:07:33 +08:00
jxxghp
c4602070b1
fix: create missing subtitle download directories
2026-06-10 06:59:23 +08:00
jxxghp
fcf6e14ac9
fix: filter invalid subtitle action links
2026-05-13 17:57:25 +08:00
ilvsx
1688063450
fix(subtitle): create missing download root before saving subtitles
2026-04-14 12:24:18 +08:00
jxxghp
6065c29891
Revert "Merge pull request #5573 from wikrin/refactor-static-methods-conversion"
...
This reverts commit b8fc20b981 , reversing
changes made to e09cfc6704 .
2026-03-14 18:21:31 +08:00
Attente
b89825525a
refactor(helper): 将DirectoryHelper、RuleHelper和TorrentHelper方法改为静态方法
...
- 移除不必要的实例化操作,直接使用类方法
2026-03-13 19:50:10 +08:00
景大侠
bc289b48c8
修复 字幕支持通过代理下载
2026-01-04 16:07:45 +08:00
景大侠
0b01a6aa91
避免获取到字幕上传者的详情链接
2025-12-29 22:52:26 +08:00
景大侠
e557dffbc6
支持憨憨站点的字幕下载
2025-12-29 22:43:47 +08:00
景大侠
7f33b0b1b8
支持馒头站点的字幕下载
2025-12-29 22:43:07 +08:00
stkevintan
378ba51f4d
support path_mapping for downloader
2025-12-08 16:25:46 +08:00
Kevin Tan
1809690915
Update app/modules/subtitle/__init__.py
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-28 17:21:17 +08:00
stkevintan
e51b679380
fix: support non-local filesystem operations for default dir and subtitles
2025-11-28 14:55:01 +08:00
jxxghp
dadc525d0b
feat:种子下载使用缓存
2025-08-20 22:03:18 +08:00
jxxghp
d336bcbf1f
fix etree
2025-07-08 11:00:38 +08:00
Aqr-K
825fc35134
feat(modules): 增加子级 type 分类。
...
- 在 `types` 里,针对各个模块的类型进行子级分类。
- 为每个模块统一添加 `get_subtype` 方法,这样一来,能更精准快速地区分与调用子类的每个模块,又能获取 ModuleType 所规定的分类以及对应存在的子模块类型支持列表,从而有效解决当下调用时需繁琐遍历每个 module 以获取 get_name 或 _channel 的问题。
- 解决因消息渠道前端返回所保存的 type 与后端规定值不一致,而需要频繁调用 _channel 私有方法才能获取分类所可能产生的问题。
2024-12-03 14:57:19 +08:00
jxxghp
363f12ed5a
refactor:Module加入执行优先顺序
2024-10-19 19:31:25 +08:00
jxxghp
603ab97665
add ModuleType Schema
2024-10-12 11:50:00 +08:00
jxxghp
43647e59a4
fix module name
2024-05-16 14:20:18 +08:00
jxxghp
8cb061ff75
feat:模块健康检查
2024-03-06 13:23:51 +08:00
jxxghp
3d34c26731
fix
2023-10-18 19:26:21 +08:00
jxxghp
4e515ec442
fix #516 支持磁力链下载
2023-09-13 17:56:57 +08:00
jxxghp
2de20f601b
fix 开关位置
2023-09-13 12:23:32 +08:00
jxxghp
b7d2168f8e
fix #434
2023-09-04 19:30:06 +08:00
jxxghp
66a1f25465
feat 下载器监控支持转移合集
2023-08-23 08:47:03 +08:00
jxxghp
06957d318f
fix 站点字幕加载导致单文件无法转移的bug
2023-08-12 09:38:31 +08:00
thsrite
61890cb388
fix 下载字幕自动创建目录(下载器开启临时路径的情况)
2023-08-09 09:04:04 +08:00
jxxghp
3be445b409
feat 下载目录二级分类
2023-07-21 07:25:29 +08:00
jxxghp
9eaef01df5
fix bug
2023-06-22 07:52:46 +08:00
jxxghp
d8e0c7cb53
fix subtitle
2023-06-17 19:11:46 +08:00
jxxghp
1d835d68b8
fix bug
2023-06-15 15:11:03 +08:00
jxxghp
2b9975b9b2
add 站点字幕自动下载
2023-06-13 12:34:38 +08:00
jxxghp
3d410e6d0b
fix
2023-06-13 08:25:57 +08:00