Commit Graph
447 Commits
Author SHA1 Message Date
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
InfinityPacer 0ba4a7e5e3 fix(agent): close async chat persistence lifecycle 2026-08-23 11:44:18 +08:00
jxxghp a8b3dd3988 fix(site): use explicit transactions for connectivity paths 2026-08-23 10:33:14 +08:00
InfinityPacer 97fb7e6526 chore: sync database worker branch with upstream v3 2026-08-23 04:48:50 +08:00
jxxghp e15c4668bd fix: preserve runtime settings and user config compatibility 2026-08-23 03:40:47 +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
InfinityPacer b79f927fcf fix(database): harden worker shutdown and overload propagation 2026-08-23 02:29:54 +08:00
InfinityPacer fc677a2bba feat(database): bound async configuration writes 2026-08-23 02:29:40 +08:00
InfinityPacer 3d7fb44dc7 refactor(database): isolate configuration transactions 2026-08-23 02:29:22 +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 1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp be18cace1f refactor: finish transactional runtime migration 2026-08-22 15:18:16 +08:00
jxxghp 1a71e4809f feat: wire host database and extension metrics 2026-08-22 13:22:33 +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 c5de1c7b1b refactor: make subscription lifecycle events durable 2026-08-22 07:43:41 +08:00
jxxghp bb0964622b fix: preserve legacy event and db dto contracts 2026-08-21 22:33:21 +08:00
jxxghp dce7372b81 feat: persist subscription side-effect outbox 2026-08-21 21:50:18 +08:00
jxxghp b598b516d5 refactor: migrate high-risk write transactions 2026-08-21 20:46:57 +08:00
jxxghp 7de72e0e83 refactor: own subscription create transactions 2026-08-21 20:37:31 +08:00
jxxghp dd1c4c3279 refactor: unify database readiness lifecycle 2026-08-21 20:07:07 +08:00
jxxghp 8f81492e99 fix: 修复站点批量导入报错(重复方法覆盖导致异步调用失效) 2026-08-18 17:10:14 +08:00
jxxghp c2a27f7c71 refactor: 收口订阅与插件应用边界 2026-08-18 13:54:17 +08:00
jxxghp 8472bcff43 refactor: 收口 V3 分层架构与插件兼容边界 2026-08-18 13:22:02 +08:00
jxxghp 5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
jxxghp 240a4dffe6 refactor(schemas): 统一 message/notification 命名边界,旧名收敛至兼容映射表
- notification 域:渠道能力(MessageChannel→NotificationChannel、ChannelCapability* 迁入 notification.py)
- message 域:消息收发(Notification→Message、NotificationType→MessageType、CommingMessage→IncomingMessage、NotificationHistoryItem→MessageHistoryItem、NotificationClear*→MessageClear*)
- Agent 工具契约:send_notification_message→send_message、notification_callback→message_callback
- 源码不保留旧名物理别名,旧导入经 app/runtime/compat/manifest.py SYMBOL_ALIASES 惰性解析
- API 路径与持久化键冻结不变,前端零改动
- 新增兼容守护测试与 docs/rules/07 命名边界规范
2026-08-16 19:32:20 +08:00
jxxghp a2117bafc8 fix(compat): preserve legacy plugin imports 2026-08-15 07:15:03 +08:00
Aqr-K 8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
jxxghp 369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp 7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
jxxghp 895635c277 fix(db): 假值系统配置落库而非删除记录,布尔开关关闭态可持久化(#6309)
SystemConfigOper.set/async_set 原先对假值(False/0/None/空容器)执行删除记录,
读取端以「无记录」表示未配置并回落默认值,导致「挂载盘删除空目录」等布尔开关
关闭后刷新自动弹回开启。现改为假值同样落库更新,显式删除仍走 delete 方法。
2026-08-14 06:59:17 +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
InfinityPacer 0ac641c05d fix(database): fail startup on migration errors (#6279) 2026-08-12 21:29:38 +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 d72ed5ed8e feat(v3): move notification templates into DB migration and support music notifications 2026-08-10 13:23:20 +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