Aqr-K
d666ae9d86
fix: preserve media library cache on incomplete enumeration ( #7145 )
2026-10-23 06:53:14 +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
Aqr-K
bf4ef4214e
perf(mediaserver): add caller-controlled query projections ( #7068 )
...
* perf(mediaserver): add caller-controlled query projections
* test(mediaserver): cover query projection option contracts
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-19 08:33:45 +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
InfinityPacer
8c52755d4e
fix(plex): avoid detail reloads for continue watching
2026-10-18 01:40:55 +08:00
jxxghp
f1e09b40d0
fix(types): preserve Plex SDK return contracts
2026-10-17 20:14:11 +08:00
DDSRem
2de976f6b3
Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
...
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
a6487140e1
refactor(types): preserve optional Plex instance labels
2026-10-17 04:59:10 +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
3726ca078a
fix(mediaserver): isolate cached item ids by server ( #6850 )
2026-10-01 17:07:23 +08:00
jxxghp
d1899c465b
fix(plex): sync music items with optional metadata ( #6814 )
2026-09-29 07:04:06 +08:00
jxxghp
e2f925af71
fix: avoid Plex sync detail reloads and preserve cache on read failure
2026-09-28 06:57:38 +08:00
jxxghp
61179abada
fix(plex): retry paged media library reads
2026-09-25 12:04:10 +08:00
jxxghp
8072b7d78f
Refactor application architecture and compatibility boundaries
2026-09-13 12:53:00 +08:00
ranzhigg
08b5e9d34c
fix(plex): skip episodes with missing season or episode numbers
2026-09-04 07:51:22 +08:00
jxxghp
184cfc9c67
fix(wallpaper): 过滤非影视媒体库海报
2026-09-01 20:48:23 +08:00
jxxghp
b4b5f82511
refactor(modules): narrow package root exports
2026-08-29 21:19:00 +08:00
jxxghp
92e745fc97
refactor(architecture): split chain owners and close runtime boundaries
2026-08-28 22:26:19 +08:00
jxxghp
5128ae9e1e
refactor: 推进后端分层架构治理
2026-08-18 00:29:14 +08:00
jxxghp
7e851dbfa7
refactor(chain): 处理链功能域 mixin 化,清理未使用导入并根治兼容层循环导入
...
- ChainBase 拆分为 RecognitionMixin/MessageProcessingMixin/NotificationMixin
- TransferChain 拆分为 7 个功能 mixin(_mixins.py),SubscribeChain 音乐订阅域拆出 _music.py
- 斜杠命令交互四件套收敛为 InteractionChainMixin 委托,会话管理器移至 application 层,chain 层不再 re-export
- 模块基础类收敛到 app/modules/_base(notification/mediaserver 语义重命名)
- 清理 app/chain/__init__.py 24 个未使用导入,修正 49 处测试 patch 目标到实际命名空间
- 兼容层 legacy 符号不再并入 __all__,根治 schemas 初始化反向拉起 application.transfer 的循环导入
- 修复 bangumi 集数为字符串时 set_bangumi_info 抛 TypeError
- 新增重复代码等架构门禁测试;capability 清单校验排除下划线内部目录
2026-08-16 16:30:16 +08:00
InfinityPacer
24671f8f18
refactor(runtime): lazily activate host modules ( #6331 )
2026-08-16 16:07: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
8bf2f601a6
refactor(media): unify source identity and music browsing
2026-08-12 12:56:40 +08:00
jxxghp
97dba2a8ae
feat: unify media recognition and music lifecycle
2026-08-12 06:51:58 +08:00
jxxghp
1fc255b8a7
fix(music): complete subscription lifecycle
2026-08-10 07:21:06 +08:00
jxxghp
415ccda6a2
feat(v3): enhance music server integration with Navidrome support
2026-08-08 12:57:09 +08:00
InfinityPacer
197a09b2a4
fix(dashboard): distinguish empty media results ( #6187 )
2026-07-25 14:24:25 +08:00
kuke2733
229824a417
feat(subscribe): merge mediaserver library entries into files info ( #6131 )
2026-07-16 17:36:56 +08:00
InfinityPacer
893269f8c1
fix(modules): serialize configuration reload lifecycle ( #6122 )
2026-07-15 17:28:49 +08:00
jxxghp
4d30dee74c
feat(mediaserver): add item count to media library details across multiple servers
2026-06-29 21:37:58 +08:00
jxxghp
9eb71c744b
feat(mediaserver): add item count retrieval for various media servers
2026-06-29 10:45:10 +08:00
InfinityPacer
bedab9ab92
fix(mediaserver): fallback stale tv item ids
2026-05-09 06:54:39 +08:00
jxxghp
483fe55372
fix: correct Plex notification image lookup
...
Closes #5700
2026-04-28 09:19:18 +08:00
DDSRem
517300afe9
fix: clean typing issues and refresh runtime dependencies
...
Align endpoint/module type hints and config reload handling while updating base Python image and package pins to improve build/runtime compatibility.
Made-with: Cursor
2026-03-24 19:21:04 +08:00
jxxghp
d469c2d3f9
refactor: 统一将布尔判断 if var: 和 if not var: 更改为显式的 if var is not None: 和 if var is None: 以正确处理 None 值。
2026-02-02 13:49:32 +08:00
Attente
1ef4374899
feat(telegram): 图片增加缓存与安全校验, 获取失败降级发送
...
- 统一部分类型标注
- 修正部分文本错误
2025-12-03 09:56:30 +08:00
Attente
ca5ec8af0f
feat(config): 优化配置变更事件处理机制
2025-11-27 23:17:34 +08:00
Attente
c7f098771b
feat: adapt to Pydantic V2
2025-11-01 17:56:37 +08:00
jxxghp
438d3210bc
fix agent
2025-11-01 10:39:08 +08:00
jxxghp
c8d0c14ebc
更新 plex.py
2025-08-11 13:57:03 +08:00
jxxghp
c20bd84edd
fix plex error
2025-08-06 12:21:02 +08:00
jxxghp
5340e3a0a7
fix
2025-07-28 16:55:22 +08:00
jxxghp
70a0563435
add server_type return
2025-07-12 14:52:18 +08:00
jxxghp
955912b832
fix plex
2025-07-12 14:44:45 +08:00
jxxghp
b9cb781a4e
rollback size
2025-07-11 08:34:02 +08:00
jxxghp
a3adf867b7
fix
2025-07-10 22:48:08 +08:00
jxxghp
f3cfc5b9f0
fix plex
2025-06-29 08:27:48 +08:00
jxxghp
93eec6c4b8
fix cache
2025-06-27 15:24:57 +08:00
jxxghp
1f44e13ff0
add reload logging
2025-06-23 10:14:22 +08:00