jxxghp
|
b4f8736541
|
refactor(workflow): enforce typed query boundary
|
2026-08-28 01:16:08 +08:00 |
|
jxxghp
|
e9de149dbf
|
refactor(transfer): complete durable recovery state machine
|
2026-08-28 00:03:36 +08:00 |
|
InfinityPacer
|
513d867dd6
|
fix(plugin): suppress delayed install reloads (#6484)
|
2026-08-27 23:28:09 +08:00 |
|
jxxghp
|
988b425510
|
fix(plugin): preserve market package generation
|
2026-08-27 22:46:03 +08:00 |
|
jxxghp
|
f134e068e7
|
refactor: normalize capability module paths
|
2026-08-27 22:20:38 +08:00 |
|
jxxghp
|
ea58c245dd
|
fix: restore quality gates after module renames
|
2026-08-27 21:05:36 +08:00 |
|
jxxghp
|
f888aab2c9
|
refactor: 统一插件迁移与 Passkey 模块命名
|
2026-08-27 20:38:55 +08:00 |
|
jxxghp
|
e82ce8447c
|
refactor: complete durable transfer execution settlement
|
2026-08-27 20:27:42 +08:00 |
|
InfinityPacer
|
8e7a553c1e
|
fix: 保留插件开发热重载与代际候选 (#6483)
* fix(plugin): preserve development source admission
* test(plugin): cover runtime payload hot reload
|
2026-08-27 20:16:24 +08:00 |
|
InfinityPacer
|
011ebfbe5f
|
fix: 协调本地插件与绑定仓库的版本选择 (#6482)
* fix(plugin): reconcile local and bound payload versions
* fix(plugin): preserve bound source on updates
* fix(plugin): normalize source reconciliation ids
* fix(plugin): defer local payload activation
* fix(plugin): centralize startup source admission
* fix(plugin): derive sync mode from admitted source
|
2026-08-27 20:03:30 +08:00 |
|
InfinityPacer
|
2b1f590c4d
|
refactor(text): unify Chinese conversion on Rust (#6481)
|
2026-08-27 17:17:06 +08:00 |
|
jxxghp
|
a62c541ec0
|
refactor: add fenced transfer recovery leases
|
2026-08-27 14:39:38 +08:00 |
|
jxxghp
|
49ea278436
|
fix(site): satisfy login fallback type ratchet
|
2026-08-27 14:10:46 +08:00 |
|
jxxghp
|
ff355cbe5d
|
fix(site): follow tracker login page for cookie refresh (#6473)
|
2026-08-27 13:52:37 +08:00 |
|
jxxghp
|
23bff6b2bb
|
refactor: add durable transfer planning checkpoints
|
2026-08-27 13:16:33 +08:00 |
|
jxxghp
|
49d30e5fdf
|
fix: 修复订阅筛选清空与任务进度竞态
|
2026-08-27 12:02:04 +08:00 |
|
jxxghp
|
8fea9cbcf5
|
fix(qbittorrent): 规范下载任务年份类型
|
2026-08-27 11:02:32 +08:00 |
|
jxxghp
|
aac184a1b9
|
refactor(transfer): make queue admission durable
|
2026-08-27 10:57:22 +08:00 |
|
 InfinityPacerandjxxghp
|
3b7f8c357d
|
fix: 增加插件 V3t 运行时兼容门禁 (#6475)
* fix(plugin): enforce declared runtime compatibility
* chore(ci): record plugin runtime compatibility edges
---------
Co-authored-by: jxxghp <jxxghp@gmail.com>
|
2026-08-27 07:06:16 +08:00 |
|
InfinityPacer
|
627775c090
|
fix(plugin): 按绑定仓库保留更新候选 (#6474)
* fix(plugin): preserve repository update candidates
* chore(ci): sync architecture ratchet baselines
* chore(ci): align canonical coverage baseline
* chore(ci): align coverage ratchet baseline
|
2026-08-27 06:56:33 +08:00 |
|
jxxghp
|
5df388719e
|
chore(architecture): establish trusted refactor baseline
|
2026-08-27 05:33:17 +08:00 |
|
jxxghp
|
9053db926d
|
fix(music): align album tracks by exact title
|
2026-08-26 23:11:38 +08:00 |
|
jxxghp
|
9e81421eba
|
fix(indexer): close quality ratchet regression
|
2026-08-26 22:53:36 +08:00 |
|
jxxghp
|
ee53d6df01
|
fix(outbox): avoid reused history event keys (#6449)
|
2026-08-26 22:47:01 +08:00 |
|
jxxghp
|
be8db5520b
|
fix(indexer): normalize Rousi profile fields
|
2026-08-26 22:42:29 +08:00 |
|
jxxghp
|
50b85235d8
|
fix(qqbot): converge heartbeat lifecycle
|
2026-08-26 22:40:01 +08:00 |
|
jxxghp
|
5484223d1e
|
fix(indexer): adapt Rousi Pro PeerGo personal API key
|
2026-08-26 22:31:45 +08:00 |
|
jxxghp
|
15ddbbbafe
|
fix(i18n): 补充插件仓库绑定提示翻译
|
2026-08-26 21:55:45 +08:00 |
|
jxxghp
|
6062b06610
|
fix(quality): close type and lint ratchets
|
2026-08-26 21:55:01 +08:00 |
|
jxxghp
|
1f7fac2b28
|
fix(qbittorrent): 清理查询超时的临时标签 (#6395)
|
2026-08-26 21:53:06 +08:00 |
|
jxxghp
|
d234c7132a
|
chore(architecture): reconcile v3 contract baselines
|
2026-08-26 21:45:30 +08:00 |
|
InfinityPacer
|
d24c52ea97
|
fix(plugin): 按绑定仓库处理插件更新 (#6472)
|
2026-08-26 21:35:16 +08:00 |
|
jxxghp
|
0a5b6a637d
|
fix(site): recognize Gazelle login state (#6464)
|
2026-08-26 21:09:19 +08:00 |
|
jxxghp
|
88703d645a
|
fix(subscribe): clean deleted rule group references
|
2026-08-26 20:58:15 +08:00 |
|
InfinityPacer
|
7c81fb357f
|
fix(plugin): 收敛市场安装与运行态错误处理 (#6470)
|
2026-08-26 18:00:49 +08:00 |
|
jxxghp
|
9dbe424c3d
|
refactor(config): retire RuntimeSettingsCompat host usage
|
2026-08-26 15:55:21 +08:00 |
|
jxxghp
|
cdab54254d
|
fix(architecture): satisfy ruff/mypy ratchets for media auxiliary
e02418bac 把新导入放在 settings = RuntimeSettingsCompat() 之后,
导致 5 个模块 E402 诊断超出只降不增基线;同时 media_auxiliary
把工厂函数 MetaInfo 误用作返回类型标注。将新增导入移回赋值语句
之前,返回类型修正为 MetaBase。
|
2026-08-26 14:33:36 +08:00 |
|
jxxghp
|
df2ce103e1
|
fix(architecture): move media auxiliary mixin into _base package
media_auxiliary 作为模块共享 Mixin 放在 app/modules 顶层会被视为
业务模块,导致 anilist/bangumi/douban/imdb/themoviedb 跨模块直接
依赖,违反模块间禁止导入的架构约束。移入模块共享样板包
app/modules/_base(模块发现跳过)并同步依赖基线。
|
2026-08-26 14:07:08 +08:00 |
|
jxxghp
|
e02418bace
|
feat(media): aggregate aliases from enabled metadata sources
|
2026-08-26 13:45:03 +08:00 |
|
InfinityPacer
|
ac2a2b1129
|
feat(plugin): persist declared metadata snapshots (#6467)
|
2026-08-26 13:15:12 +08:00 |
|
jxxghp
|
bd0795082a
|
test(governance): satisfy reliability gates
|
2026-08-26 12:50:55 +08:00 |
|
jxxghp
|
362f606751
|
feat(governance): unify durable event retention
|
2026-08-26 12:45:44 +08:00 |
|
InfinityPacer
|
71db425c07
|
feat(plugin): 建立可信来源准入与安装恢复 (#6462)
|
2026-08-26 07:52:00 +08:00 |
|
jxxghp
|
3272f72823
|
fix(ci): sort GPW parser imports
|
2026-08-26 07:10:33 +08:00 |
|
jxxghp
|
a706474310
|
fix(site): adapt GPW Gazelle seeding
|
2026-08-26 07:05:53 +08:00 |
|
jxxghp
|
33a367ebf9
|
fix(ci): stabilize event and web agent checks
|
2026-08-26 07:04:04 +08:00 |
|
jxxghp
|
df6f86ec3d
|
fix(subscription): isolate statistic report failures
|
2026-08-26 07:01:41 +08:00 |
|
jxxghp
|
5493732d9f
|
fix: 清洗豆瓣季年份空值
|
2026-08-26 06:56:29 +08:00 |
|
ngcat
|
a79e00f1e9
|
fix(subscribe): map v2 tmdbid source to media_id (#6460)
|
2026-08-26 06:43:01 +08:00 |
|
ngcat
|
c0222ee7d1
|
fix(fsproxy): wait on Windows pipes without select() (#6459)
|
2026-08-26 06:42:11 +08:00 |
|