Commit Graph

1301 Commits

Author SHA1 Message Date
jxxghp
4972a3cdea fix(ci): close post-merge mypy regressions 2026-09-10 10:19:16 +08:00
jxxghp
8cf7d73ad2 Merge pull request #6634 from dogodefi/codex/music-artist-collection-organize 2026-09-10 09:47:00 +08:00
jxxghp
0a43a307c4 fix(ci): restore architecture gate parity 2026-09-10 09:45:58 +08:00
jxxghp
02686ed674 feat(search): merge music artists into person search 2026-09-10 09:02:17 +08:00
yanjunpu
c6c7a1d621 feat: support artist collection downloads 2026-09-10 04:18:06 +08:00
jxxghp
7548ad0c53 feat(transfer): 手动整理支持 skip_success 跳过已成功记录
- 新增 skip_success 参数,规划前过滤已有成功整理历史的文件项
- 提取 _has_successful_manual_transfer_history 统一成功历史检测
- 重构 _get_successful_manual_transfer_histories 合并目录/文件查询路径
- 提取 _deduplicate_fileitems 去重逻辑为独立函数
- _TransferSubmissionCollector 增加跳过计数与回执展示
- 预览与执行共用候选范围,失败项保留重试规则
- 补充覆盖单选/多选/历史入口及混合目录的完整测试
2026-09-09 22:18:21 +08:00
jxxghp
54a7367462 fix(transfer): report durable submission outcomes per file 2026-09-09 20:54:20 +08:00
yanjunpu
340bafbdaa test: align music library status with media existence contract 2026-09-09 17:01:11 +08:00
yanjunpu
ee1a37a2ac feat: add music library status endpoint 2026-09-09 17:01:11 +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
yanjunpu
45c2254f92 fix(media): preserve search plugin ABI 2026-09-09 04:11:28 +08:00
yanjunpu
0a6c440526 fix(media): preserve unified music search contract 2026-09-09 04:05:02 +08:00
yanjunpu
2e8664c1dc fix(music): scope and rank manual search results 2026-09-09 03:57:20 +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
64543a3765 Merge branch 'v3' into codex/music-album-batch-transfer 2026-09-08 22:29:45 +08:00
yanjunpu
13f0ac4faa fix(transfer): reidentify selected music history batches 2026-09-08 22:17:45 +08:00
yanjunpu
83a0e21035 Merge remote-tracking branch 'origin/v3' into codex/manual-source-classification 2026-09-08 22:10:15 +08:00
yanjunpu
4d7bd96c6b fix(music): preserve album context for manual batches 2026-09-08 15:06:36 +08:00
jxxghp
a2f1407c95 Merge pull request #6601 from dogodefi/codex/music-release-preferences
feat(music): add MusicBrainz release preferences
2026-09-08 14:27:06 +08:00
yanjunpu
5a4a5a1188 Merge remote-tracking branch 'origin/v3' into codex/manual-source-classification
# Conflicts:
#	docs/architecture-overview.md
#	docs/architecture/optimization-checklist.md
#	tests/fixtures/architecture/dependency-baseline.json
2026-09-08 13:45:01 +08:00
jxxghp
ca627a4f00 fix: release plugin media sources from built-in declarations 2026-09-08 10:00:33 +08:00
yanjunpu
1f728996eb feat(music): add release region and script preferences 2026-09-08 05:20:02 +08:00
yanjunpu
7c270737f0 fix(download): satisfy source classification gates 2026-09-07 23:47:01 +08:00
yanjunpu
0570eb24fc Merge remote-tracking branch 'origin/v3' into codex/manual-source-classification 2026-09-07 23:27:11 +08:00
jxxghp
b40eda2617 fix(transfer): preserve durable retry for failed manual history 2026-09-07 23:17:00 +08:00
yanjunpu
471c624aee fix(download): follow single-word module policy 2026-09-07 15:56:20 +08:00
yanjunpu
9a74802d2b feat(download): recognize and organize existing tasks 2026-09-07 15:52:11 +08:00
yanjunpu
2361470af4 feat(download): classify existing source locations 2026-09-07 00:33:44 +08:00
jxxghp
82652add91 fix(auth): fix passkey deletion password verification 2026-09-06 10:05:40 +08:00
jxxghp
fba0b6ae67 refactor: 统一音乐与影视的识别搜索匹配流程 2026-09-06 00:48:00 +08:00
jxxghp
0a732be485 feat(subscribe): improve search scheduling feedback 2026-09-05 17:23:26 +08:00
jxxghp
7251400237 fix(api): 修复音乐详情响应校验 2026-09-05 16:42:15 +08:00
jxxghp
0ed64d9380 fix(api): flatten split endpoint routes 2026-09-05 16:17:36 +08:00
jxxghp
e656793aa5 refactor(api): split management endpoint routers 2026-09-05 16:05:27 +08:00
jxxghp
f00853de2a feat(api): expose frontend-safe management capabilities 2026-09-05 15:11:02 +08:00
jxxghp
0d0bcf8a3b fix(api): preserve startup import budget 2026-09-04 19:04:08 +08:00
jxxghp
6ac16b8b24 fix(api): satisfy complexity ratchet 2026-09-04 18:30:05 +08:00
jxxghp
ff01449cdd fix(api): humanize user-facing error messages 2026-09-04 17:55:56 +08:00
jxxghp
d128509f34 feat(classification): complete media preview and impact analysis 2026-09-04 11:50:07 +08:00
jxxghp
5a8380525d fix(api): keep plugin endpoint within complexity budget 2026-09-04 10:53:08 +08:00
jxxghp
adae5bd878 fix(api): restore full plugin catalog by default 2026-09-04 10:47:02 +08:00
jxxghp
0f8aad2daf fix(agent): encode channel metadata in API headers 2026-09-03 18:09:40 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
478e7ee0a4 fix(auth): restore API token compatibility 2026-09-02 20:22:57 +08:00
jxxghp
c20515971a fix: restore multi-exception syntax 2026-09-02 20:22:57 +08:00
Aqr-K
a4d38e0f12 fix(plugin): 卸载先停后删、销毁全程持锁,PostgreSQL 会话按插件 schema 解析原生 SQL
卸载编排改为先停插件再删数据:插件的停机钩子取一次自有库句柄就能把刚删除的数据重新
建出来,注册表因此不再需要销毁墓碑,release 恢复为「只释放连接、保留数据」的单一语义。
停止同时注销插件类,其后的删除一律按 force 执行。

destroy_database 的摘句柄、关连接与删载体全部收进同一把锁:原先在锁外删除载体,并发的
get_database 能在间隙注册一个指向同一载体的新句柄,随后的删除会把它一并抹掉。

PostgreSQL 句柄在派生引擎上注册 begin 监听器,按事务执行 SET LOCAL search_path,让
schema_translate_map 覆盖不到的原生 SQL 同样解析到插件自己的 schema;监听器只挂在
OptionEngine 上,宿主引擎与其它插件的连接不受影响。
2026-09-02 02:14:19 -04:00
jxxghp
a29b641f44 fix(meta): refresh Rust parse options on config update 2026-09-02 12:55:55 +08:00
jxxghp
2767bb2e4f fix(subscription): bind file statistics to sync session 2026-09-02 12:02:59 +08:00