Commit Graph
279 Commits
Author SHA1 Message Date
jxxghp 6e69258e3c refactor: make model sessions explicit 2026-08-23 23:33:07 +08:00
jxxghp e1509c4e0d refactor: reorganize startup persistence boundaries 2026-08-23 21:24:34 +08:00
jxxghp 5e9933ca8b refactor: isolate subscribe history queries 2026-08-23 14:46:39 +08:00
jxxghp 8b955c04d6 refactor: isolate passkey queries 2026-08-23 14:37:21 +08:00
jxxghp 2120b8040a refactor: isolate pending transfer and config queries 2026-08-23 14:29:59 +08:00
jxxghp 8fc9a021b0 refactor: isolate agent history queries 2026-08-23 14:21:53 +08:00
jxxghp d8b8583d49 refactor: isolate media server and site userdata queries 2026-08-23 14:15:37 +08:00
jxxghp be1071b6cd refactor: isolate workflow queries 2026-08-23 14:06:14 +08:00
jxxghp 4074fa4e42 refactor: isolate transfer and download history queries 2026-08-23 13:59:12 +08:00
jxxghp f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
jxxghp f729a8ffe7 refactor: migrate plugin data read queries 2026-08-23 02:44:40 +08:00
jxxghp adfe72cbaa refactor: migrate site read queries to explicit sessions 2026-08-23 02:42:37 +08:00
jxxghp de85ae3ef9 refactor: migrate user model queries 2026-08-23 02:06:14 +08:00
jxxghp 5395bbff54 fix: preserve legacy model query ABI 2026-08-23 01:08:01 +08:00
jxxghp 4e895c6c67 refactor: migrate passkey host queries 2026-08-23 00:52:46 +08:00
jxxghp 2031f3c420 refactor: migrate agent task query ownership 2026-08-23 00:37:03 +08:00
jxxghp be18cace1f refactor: finish transactional runtime migration 2026-08-22 15:18:16 +08:00
jxxghp e61b5168ad refactor: move workflow execution writes to uow 2026-08-22 13:21:52 +08:00
jxxghp b8c79e1a1e fix: 修复用户异步删除和 OTP 更新 2026-08-22 10:25:35 +08:00
jxxghp 5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp 820f7e8850 refactor: make download and transfer events durable 2026-08-22 08:03:00 +08:00
jxxghp dce7372b81 feat: persist subscription side-effect outbox 2026-08-21 21:50:18 +08:00
jxxghp 5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
Aqr-K 8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
InfinityPacer 57e7f86f38 feat(agent): record task run history (#6305) 2026-08-13 22:13:36 +08:00
InfinityPacer e014604b1c fix: 避免服务重启后重复执行 Agent 定时任务 (#6302) 2026-08-13 19:25:11 +08:00
jxxghp b4863a6550 feat(media): support extensible media sources 2026-08-13 13:26:17 +08:00
Aqr-KandAqr-K a2e70b443d fix(monitor,transfer): 修复 FUSE 挂载无响应导致的监控冻死、整理链锁死与漏件 (#6276)
* wip(v3): 移植监控与整理韧性修复到 v3 基线

包含:监控看门狗隔离/挂载探测、整理队列持久化、文件系统子进程代理、
写入原子化。迁移重挂到 v3 链 8a4c7e1d2f90 -> 7f5c1d2e3a4b -> e3d9f4b7c806。
tmdb 相关测试尚未通过,待定位。

* fix(v3): 修正移植引入的 16 项测试失败

- poller.py:合并时我方保留的行仍用旧变量名 merged_snapshot,而 v3 已统一
  改名为 current_snapshot,导致 NameError 被外层 except 吞掉、快照从未保存
- smb.py:采纳 f-string 拆分写法,恢复 Python 3.11 可解析
- dispatcher 测试:历史查重由 _should_skip_by_history 统一承担,mock 点随之调整
- tmdb 缓存测试:补充 v3 新增的 media_source/media_id 字段
- tmdb 重试测试:为 fake 补充 match_multi/async_match_multi

尚余 3 项与 v3 识别流程的连接失败处理有关,待单独判断。

* fix(v3): 测试适配 v3 的 media_source/media_id 重构

v3 将媒体标识从 tmdbid 统一重构为 media_source + media_id,recognize_media
的 tmdbid 参数已被 **kwargs 静默吞掉——传了也不生效,流程会误降级到名称搜索。
tmdb 重试用例改用新参数后恢复正确路径。

同时修正 fake 的 match_multi 语义:真实实现(tmdbapi.match_multi)吞掉所有
异常并返回 None,连接失败与「未找到」在该路径上本就不可区分,fake 需保持一致。

至此移植引入的 19 项失败全部清零。

---------

Co-authored-by: Aqr-K <Aqr-K@users.noreply.github.com>
2026-08-13 08:19:54 +08:00
jxxghp ca32922a7f refactor(media): unify media identity and chain responsibilities 2026-08-12 18:31:09 +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 4a14af706c feat(dashboard): 媒体统计新增音乐本月新增数量
- monthly_media_statistics 纳入音乐整理记录,按曲目计数并按媒体 ID 去重
- Statistic 新增 music_count_month 字段,仪表板统计接口一并返回
2026-08-10 20:33:25 +08:00
jxxghp 75e56d8e9a feat(music): add audio quality workflow 2026-08-10 10:23:02 +08:00
jxxghp b3b376f2b1 feat(agent): complete music workflow support 2026-08-10 08:11:54 +08:00
jxxghp 5572b2dc64 fix(music): separate album and recording subscriptions 2026-08-09 23:30:31 +08:00
jxxghp 393a4ca4e2 feat(music): complete album subscription workflow 2026-08-09 20:43:33 +08:00
jxxghp 05d15a04f5 feat(v3): add music automation workflow 2026-08-07 21:50:22 +08:00
jxxghp a700ba9379 feat(download): persist poster and backdrop images (#6232) 2026-08-03 21:38:26 +08:00
jxxghp 52ca375f3d fix(history): stabilize download history pagination 2026-08-03 08:45:35 +08:00
InfinityPacer 7c3f9629bf fix(subscribe): scope duplicate checks by episode group (#6219) 2026-08-01 18:40:29 +08:00
jxxghp cae28d8c03 fix(transfer): 支持显式重新整理历史记录 2026-07-26 08:59:57 +08:00
jxxghp 297cd04fbc fix: deduplicate SunnyPT site messages 2026-07-23 14:12:41 +08:00
jxxghp 3b709b7f2e feat: unify media source identity flow (#6129) 2026-07-21 20:20:09 +08:00
jxxghp e3f80af74f feat: expand metadata sources and media server sync (#6129) 2026-07-21 11:34:18 +08:00
jxxghp 31544629b4 Add autonomous Agent task scheduling 2026-07-19 20:19:06 +08:00
jxxghp 09bb32f681 fix: cool down failed subscription resources 2026-07-07 17:07:13 +08:00
InfinityPacer 7f82a9ea4d fix(security): scope subscriptions to owner (#6056) 2026-07-05 09:45:27 +08:00
jxxghp 9b1bdb0cb2 feat(dashboard): add system summary endpoint and monthly media statistics 2026-06-28 17:49:09 +08:00
jxxghp 4233ebfba6 Persist notification clear markers 2026-06-24 16:58:08 +08:00
jxxghp 3e3883a57f Fix history search case sensitivity 2026-06-23 11:16:12 +08:00