InfinityPacer
5de950fb7c
fix(subscribe): stop failing sites from stalling subscription downloads
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-03 02:59:35 +08:00
jxxghp
9aab7c0f4c
fix(agent): pin scheduled tasks to real execution accounts ( #7241 )
2026-10-29 22:39:08 +08:00
jxxghp
16cd9f75ed
fix(apppush): deliver business notifications to all active users ( #7235 )
2026-10-29 21:43:18 +08:00
paysen
b55d9bd167
fix(transfer): recover legacy results and retain pending sources ( #7232 )
2026-10-29 17:06:36 +08:00
jxxghp
721c03734a
feat(widget): 提供受限凭据和只读快照接口 ( #7175 )
...
* feat(widget): add restricted read-only snapshot foundation
* test(widget): 补齐运行时与文档迁移契约
2026-10-25 06:02:47 +08:00
jxxghp
3ac7526930
feat(notification): relay AppPush through private MoviePilot Server
2026-10-24 07:32:00 +08:00
ranzhigg
e0ff8141f8
fix(transfer): allow safely discarding manual-review tasks ( #7154 )
2026-10-23 15:18:33 +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
Aqr-K
6610a8c008
fix: retain plugin lifecycle ownership and recover installation state ( #7146 )
...
* fix: retain plugin lifecycle ownership and recover installation state
* test: cover plugin rollback and uninstall lifecycle boundaries
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-23 07:44:07 +08:00
Aqr-K
bcbf79f030
fix(media): preserve recognition and rule mutation identities ( #7144 )
...
* fix(media): preserve recognition and rule mutation identities
* test: cover typed classification facts with alias policies
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-23 07:33:27 +08:00
Aqr-K
5aebc7ac59
fix(auth): preserve administrator and credential consistency ( #7141 )
2026-10-23 06:50:30 +08:00
jxxghp
17a866f47b
fix(transfer): restore AI takeover for failed transfers
2026-10-22 09:43:03 +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
00645938d2
fix: isolate durable notification recovery
2026-10-17 13:11:15 +08:00
jxxghp
c3e18208c2
refactor(types): bind plugin installation transaction results
2026-10-16 20:29:51 +08:00
jxxghp
4955b7b9ea
fix: harden backend isolation and execution safety
2026-10-16 09:11:28 +08:00
jxxghp
435703573e
fix(transfer): persist provider checkpoint planning time
...
Write planned_at atomically for provider_pending checkpoints and refresh it when host planning takes over. Cover real admission-to-execution persistence and distinguish incomplete plan fields from inconsistent execution checkpoint fields.
Refs #6973
2026-10-13 07:13:42 +08:00
jxxghp
86c7fccfd5
feat(subscribe): persist business activity with scoped details
2026-10-12 23:43:01 +08:00
jxxghp
bd1e6eb899
fix(agent): separate public API queries from bound user operations
2026-10-12 07:30:35 +08:00
jxxghp
bb29451222
fix: isolate unhandled durable transfer failures
2026-10-10 12:17:07 +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
ChantXu64
e5e2558585
feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 ( #6907 )
2026-10-07 14:40:55 +08:00
jxxghp
e51fd44964
fix(agent): resolve alternative QQ and Feishu user bindings
...
Keep strict binding lookup as the default and explicitly match alternative channel identifiers for the Agent API gateway. Reject ambiguous active-user matches and cover single-field bindings with database-backed tests.
Refs #6905
2026-10-07 09:16:33 +08:00
jxxghp
3726ca078a
fix(mediaserver): isolate cached item ids by server ( #6850 )
2026-10-01 17:07:23 +08:00
jxxghp
47d51c3630
feat(agent): align history recall with Hermes SQLite FTS5
2026-09-30 16:28:39 +08:00
jxxghp
4a2ef75706
fix(music): retry transient recognition before freezing file operations
2026-09-30 06:36:04 +08:00
jxxghp
b4175a4f88
fix(image): cache site allowlist and include custom image hosts
2026-09-30 01:09:32 +08:00
jxxghp
67ae166a54
fix(servarr): restore subscription repository async contract
2026-09-18 22:13:33 +08:00
jxxghp
4e9a64c0f0
refactor(application): 按模块子目录统一文件命名
2026-09-15 23:57:06 +08:00
jxxghp
ebddeee23b
feat(subscribe): accumulate music album track progress
2026-09-14 19:35:04 +08:00
Aqr-K
5e232ca14d
fix(plugin): 安装记录大小写不敏感查询、游标物化,site 端点改从 Application 取 ( #6682 )
...
* fix(plugin): 安装 journal 按大小写不敏感列出事务记录
create 用 func.lower 判定同一物理插件并据此拒绝重复占位,list 却还是等值过滤。
判据分叉后,恢复流程查不到那条被 create 认定为未收尾的 journal,会认为没有待恢复
事务,而新事务又永远被同一行挡住。list 改用与 create 相同的 func.lower 判据。
* fix(plugin): 批量读插件身份时在事务内物化游标
list_by_plugin_ids 无会话调用时由组合根另开短事务,会话在 lambda 返回后立即关闭,
外层再 list() 消费惰性游标会撞上 "identity map is no longer valid",一行都读不到。
补上 .all(),让行在事务内取完。
* refactor(api): site 端点从 Application 取插件路由刷新
register_plugin_api 的唯一拥有者是 app.application.plugin.routes,
dependencies/plugin.py、scheduler/reconcile.py 与 initializers/plugins.py 都已从那里
取用,只剩 site 端点还在向 plugin 端点横向借。改为同一来源,并加门禁锁住这条判据。
依赖基线相应下降一条边(8650 -> 8649:site 不再到达 app.api.endpoints 与
app.api.endpoints.plugin,改为到达 app.application.plugin.routes),mypy 低水位同步
下降一条 attr-defined,两处文档数字随之更新。
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-09-14 07:18:50 +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
889bdfe501
fix(classification): align migration defaults and source semantics
2026-09-12 17:43:36 +08:00
jxxghp
acfa5eee72
fix(history): suppress failure feedback on successful records
2026-09-10 11:51:08 +08:00
jxxghp
fcc83e6bbe
fix(servarr): restore sync subscription lookup ( #6635 )
2026-09-10 09:29:17 +08:00
jxxghp
5fa5b414aa
feat(agent): harden tool outcomes, recovery and discovery
2026-09-09 19:55:21 +08:00
jxxghp
022dd006a5
fix(transfer): allow manual reorganization after stale task failures
...
Refs #6625
2026-09-09 17:53:24 +08:00
jxxghp
5a214afc19
fix(subscribe): keep scheduled searches progressing across site retries
2026-09-09 16:45:42 +08:00
jxxghp
9e1c25124b
fix(transfer): restore regression and architecture gates
2026-09-09 13:40:35 +08:00
jxxghp
ce690b1140
feat(transfer): add failure stage, recovery action, retry count, and cleanup status to transfer history
2026-09-09 13:17:36 +08:00
jxxghp
d0c894f5eb
fix(transfer): close durable error recovery loop
2026-09-08 22:38:59 +08:00
jxxghp
d97906f0a9
fix(transfer): clarify execution conflict errors
2026-09-08 22:01:55 +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
b9120a5b6a
fix(classification): preserve non-TMDB legacy categories
2026-09-06 23:36:43 +08:00
jxxghp
82652add91
fix(auth): fix passkey deletion password verification
2026-09-06 10:05:40 +08:00