feat(mindspace): 悬浮聊天勾选资料联动、UI 与交互优化
勾选单个文件时 Agent 获知上下文并主动问候;打开悬浮窗使用新会话。 统一弹窗浅色主题、固定高度与输入区布局,支持点击外部收起。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,37 +1,42 @@
|
||||
# 103 发布 0630002 — 回退说明
|
||||
|
||||
**发布编号:** `20260630-013953-7906f3c`
|
||||
**Git commit:** `7906f3c`(分支 `0630002`)
|
||||
**发布编号:** `20260630-020301-14f46cf`
|
||||
**Git commit:** `14f46cf`(分支 `0630002`)
|
||||
**发布时间:** 2026-06-30
|
||||
|
||||
## 本次内容
|
||||
|
||||
- **修复删除无效**:MySQL `source_snapshot_json` 经 mysql2 返回为 object 时,`JSON.parse(object)` 抛错导致 `relative_path` 为空,工作区 HTML 未清理,列表同步后页面「复活」
|
||||
- 新增 `parseJsonColumn()`,统一解析 JSON 列(`mindspace-pages.mjs`、`mindspace-page-sync.mjs`)
|
||||
- 删除 purge 失败时增加 warn 日志
|
||||
- **待办提醒推送**:`schedule-reminder-worker` 扫描并投递单次 `h5_schedule_reminders`(微信服务号 + 站内通知)
|
||||
- **行事历 UI**:仅展示「提醒」;状态「已通知 / 待通知」;支持忽略、勾选、全选、批量删除
|
||||
- **日程写入**:`startLocal` / `remindLocal` 强制本地时间解析,拒绝离谱 epoch 毫秒时间戳
|
||||
- **API**:`POST /mindspace/v1/schedule/reminders/:id/ignore`、`POST /mindspace/v1/schedule/reminders/bulk-delete`
|
||||
|
||||
## 103 自动备份(发布脚本已创建)
|
||||
|
||||
| 类型 | 路径(103 上) |
|
||||
|------|----------------|
|
||||
| 全量 live 备份 | `/Users/john/Project/backups/memind/memind-full-20260630-013953-7906f3c-before.tar.gz` |
|
||||
| 持久目录备份 | `/Users/john/Project/backups/memind/memind-persisted-20260630-013953-7906f3c-before.tar.gz` |
|
||||
| 旧源码归档 | `/Users/john/Project/archives/Memind-source-before-20260630-013953-7906f3c` |
|
||||
| 全量 live 备份 | `/Users/john/Project/backups/memind/memind-full-20260630-020301-14f46cf-before.tar.gz` |
|
||||
| 持久目录备份 | `/Users/john/Project/backups/memind/memind-persisted-20260630-020301-14f46cf-before.tar.gz` |
|
||||
| 旧源码归档 | `/Users/john/Project/archives/Memind-source-before-20260630-020301-14f46cf` |
|
||||
| 当前 live | `/Users/john/Project/Memind`(无源码 runtime) |
|
||||
|
||||
**上一版 live(本发布前):** `20260630-013953-7906f3c`(commit `7906f3c`)
|
||||
|
||||
## 健康验证
|
||||
|
||||
```bash
|
||||
ssh 58.38.22.103 'curl -sf http://127.0.0.1:8081/api/status && echo'
|
||||
```
|
||||
|
||||
## 回退到上一版 runtime(0630001)
|
||||
**2026-06-30 发版后验证:** `ok`;`.env` 中 `H5_SCHEDULE_ENABLED=1`、`H5_REMINDER_WORKER_ENABLED=1`。
|
||||
|
||||
## 回退到上一版 runtime(7906f3c)
|
||||
|
||||
在 **103** 上执行:
|
||||
|
||||
```bash
|
||||
RELEASE_ID=20260630-013953-7906f3c
|
||||
PREV_RELEASE=20260630-012244-66ca0b3
|
||||
RELEASE_ID=20260630-020301-14f46cf
|
||||
PREV_RELEASE=20260630-013953-7906f3c
|
||||
APP_DIR=/Users/john/Project/Memind
|
||||
ARCHIVE=/Users/john/Project/archives/Memind-source-before-${RELEASE_ID}
|
||||
PORTAL_LABEL=cn.tkmind.memind-portal
|
||||
@@ -41,7 +46,6 @@ launchctl bootout "${LAUNCHD_GUI}/${PORTAL_LABEL}" 2>/dev/null || true
|
||||
lsof -tiTCP:8081 -sTCP:LISTEN | xargs kill -9 2>/dev/null || true
|
||||
|
||||
mv "${APP_DIR}" "${APP_DIR}.failed-runtime-${RELEASE_ID}"
|
||||
# 若需回到 0630001 runtime,从全量备份解压或保留的 runtime artifact 恢复
|
||||
tar -xzf /Users/john/Project/backups/memind/memind-full-${PREV_RELEASE}-before.tar.gz -C /Users/john/Project
|
||||
|
||||
launchctl bootstrap "${LAUNCHD_GUI}" "${HOME}/Library/LaunchAgents/${PORTAL_LABEL}.plist"
|
||||
@@ -51,13 +55,17 @@ curl -sf http://127.0.0.1:8081/api/status
|
||||
|
||||
## 从全量 tar 恢复(极端情况)
|
||||
|
||||
从**本发布前**全量备份恢复(即回到 `7906f3c` 上线前的 live 快照):
|
||||
|
||||
```bash
|
||||
cd /Users/john/Project
|
||||
mv Memind "Memind.broken-$(date +%Y%m%d-%H%M%S)"
|
||||
tar -xzf backups/memind/memind-full-20260630-013953-7906f3c-before.tar.gz
|
||||
tar -xzf backups/memind/memind-full-20260630-020301-14f46cf-before.tar.gz
|
||||
# 再启动 Portal LaunchAgent
|
||||
```
|
||||
|
||||
若 runtime 切换失败,发布脚本 remote 段内置 `trap rollback` 会自动尝试恢复。
|
||||
|
||||
## 本地复现 / 再发版
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user