fix: preserve directed messaging and channel interaction contracts (#7148)

* fix: retain plugin lifecycle ownership and recover installation state

* fix: preserve directed messaging and channel interaction contracts

* test: cover plugin rollback and uninstall lifecycle boundaries

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
This commit is contained in:
Aqr-K
2026-10-23 07:49:53 +08:00
committed by GitHub
parent daa2729bdd
commit fc0eed08cc
22 changed files with 708 additions and 149 deletions

View File

@@ -26,6 +26,15 @@
升级前历史没有来源标记,界面显示“未记录”,不会按当前订阅设置追溯推断。
普通订阅的首次提交与洗版订阅补缺在活动中都标记为首次订阅。
### 通知配置与交互身份
`POST /api/v1/notification/config` 保存通知渠道时要求名称和稳定 `id` 各自唯一。
改名应保留原 `id`;复制为新的渠道实例应使用新的 `id`,避免共享登录凭据。
通过消息渠道发起普通重启时,完成回执保留发起时的 `source` 配置。
Discord 仅指定 `userid` 的定向通知使用私聊;无法私聊时返回失败,不转发公共频道。
`/skills` 安装和删除按展示时的条目身份操作,刷新或翻页后的旧按钮会失效,应使用最新列表重新选择。
### 文件整理与恢复
整理成功历史保存 `episode_group`;批量复用历史时仅恢复所有记录共同的剧集组,