jxxghp
f5bd3458a6
fix(subscribe): restore strict media identity checks
2026-10-30 22:36:51 +08:00
jxxghp
8f21e12d75
fix(search): release unused site request reservations
2026-10-26 09:23:29 +08:00
jxxghp
b51f93f60f
fix(subscribe): reconcile inferred media type conflicts ( #7166 )
2026-10-23 23:08:10 +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
379c26a300
feat(subscribe): record initial and upgrade download provenance ( #7061 )
2026-10-19 16:03:21 +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
47ef181ca0
mypy: narrow subscription write inputs
2026-10-17 09:48:15 +08:00
jxxghp
58967c602c
mypy: fix subscription metadata contracts
2026-10-17 09:48:15 +08:00
jxxghp
a2f8e22036
refactor(types): import subscription view from its owner
2026-10-17 04:22:02 +08:00
jxxghp
2c889a1735
fix(subscribe): 站点本地流控按限流窗口退避 ( #6996 ) ( #7001 )
...
订阅分页搜索遇到站点本地流控(limit_interval/limit_count/limit_seconds)
拒绝时只按秒级 cooldown 反复重试,在整个限流窗口内持续触发风控。现在:
- 本地流控被拒时按站点配置窗口计算退避(访问间隔与计数窗口取最大值,
并多留 1 秒越过窗口的严格比较边界);
- 同一退避写入站点预算冷却,窗口内其它订阅任务不会继续访问该站点;
- 本地流控没有发出请求,不计入连续失败与错误退避类别。
2026-10-15 09:14:13 +08:00
jxxghp
8cbba9916e
fix(subscribe): prefer complete packs for initial TV downloads
2026-10-13 21:16:22 +08:00
jxxghp
86c7fccfd5
feat(subscribe): persist business activity with scoped details
2026-10-12 23:43:01 +08:00
jxxghp
391f55df40
feat(subscribe): add isolated execution logs with authorized streaming ( #6963 )
2026-10-11 22:18:37 +08:00
jxxghp
54f2daba06
fix(subscribe): stop automatic searches and downloads when paused
2026-10-09 12:00:18 +08:00
ChantXu64
e5e2558585
feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 ( #6907 )
2026-10-07 14:40:55 +08:00
jxxghp
6cdd4dbc66
fix(subscribe): resolve cross-source video status without premiere year
2026-09-28 16:59:30 +08:00
jxxghp
b99b4fe2c3
chore(architecture): 同步模块路径与质量门禁
2026-09-16 00:12:16 +08:00
jxxghp
37ea8ba14d
fix(subscribe): support cross-source video status lookup
2026-09-15 11:31:04 +08:00
jxxghp
01b13cc634
fix(types): annotate subscription view projection
2026-09-14 20:07:23 +08:00
jxxghp
ebddeee23b
feat(subscribe): accumulate music album track progress
2026-09-14 19:35:04 +08:00
jxxghp
8072b7d78f
Refactor application architecture and compatibility boundaries
2026-09-13 12:53:00 +08:00
jxxghp
1ba4d087c5
fix: scope subscription maintenance by media type
2026-09-12 20:56:05 +08:00
jxxghp
5a214afc19
fix(subscribe): keep scheduled searches progressing across site retries
2026-09-09 16:45:42 +08:00
jxxghp
a69c9073cb
feat(transfer): implement recovery commands for discarding corrupt tasks
2026-09-08 23:15:38 +08:00
jxxghp
d0c894f5eb
fix(transfer): close durable error recovery loop
2026-09-08 22:38:59 +08:00
jxxghp
8255df4df4
fix(subscribe): remove cumulative search delays and resume pending sites
2026-09-08 08:58:35 +08:00
jxxghp
b85aa5e31b
feat(subscription): add search_interval and last_search fields for subscription management
2026-09-08 07:12:21 +08:00
jxxghp
1fb4a45064
fix(architecture): move site outcome state to budget
2026-09-05 20:14:05 +08:00
jxxghp
b4be185e44
fix(subscribe): tolerate partial site search failures
2026-09-05 20:03:09 +08:00
jxxghp
54cc3d368d
refactor(subscribe): isolate queued search execution
2026-09-05 18:09:25 +08:00
jxxghp
0a732be485
feat(subscribe): improve search scheduling feedback
2026-09-05 17:23:26 +08:00
jxxghp
e3641bbfea
fix: align deferred execution callback type
2026-09-04 22:36:21 +08:00
jxxghp
6cf1657311
fix: keep subscription execution dependency boundary
2026-09-04 22:26:02 +08:00
jxxghp
54557a991f
refactor: keep subscription search within architecture budget
2026-09-04 22:15:42 +08:00
jxxghp
5afb1fc03e
fix: defer subscription search on site budget conflicts
2026-09-04 22:05:56 +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
InfinityPacer
e50bd06905
fix(subscription): always close search log summaries
2026-09-03 12:15:01 +08:00
jxxghp
eefc34076e
Merge pull request #6561 from InfinityPacer/codex/subscription-governance-logging
2026-09-03 12:10:13 +08:00
InfinityPacer
7ed5f9f027
refactor(subscription): isolate governance observability
2026-09-03 12:08:53 +08:00
InfinityPacer
af47c1abee
feat(subscription): add governance logging summaries
2026-09-03 11:55:51 +08:00
jxxghp
71147c1d96
feat(classification): support multi-source media rules
2026-09-03 11:51:18 +08:00
InfinityPacer
68880dbbf1
优化订阅执行治理与规模性能 ( #6557 )
...
* feat(subscription): govern concurrent search and match execution
* refactor(subscription): consume complete candidate snapshots
* refactor(subscription): remove download submission ledger
* feat(subscription): stagger fallback searches without site gaps
* refactor(subscription): remove unused retry capability
* test(subscription): verify complete scale execution
* fix(subscription): surface site search failures
* test(subscription): verify site pressure through search
* test(subscription): use static facade imports
* fix(subscription): preserve completed downloads on shutdown
* fix(subscription): classify execution expiry as failure
* fix(subscription): preserve fallback search staggering
* test(subscription): stabilize unfinished wrapper gate
* fix(subscription): settle expired search returns
* style(subscription): normalize governance imports
* fix(subscription): align governance type contracts
* docs(architecture): sync mypy debt metric
* docs(architecture): sync startup module counts
2026-09-03 11:26:24 +08:00
jxxghp
c20515971a
fix: restore multi-exception syntax
2026-09-02 20:22:57 +08:00
jxxghp
857aa813e5
fix(subscribe): satisfy final governance gates
2026-09-01 17:50:08 +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
db5c316756
refactor(subscribe): make download submission idempotent
2026-09-01 17:09:54 +08:00