From 92ee7fedbd23cb0d9ad8262f733d05fe9025a682 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 4 Oct 2026 21:46:56 +0800 Subject: [PATCH] =?UTF-8?q?docs(05):=20=E8=90=BD=E3=80=8C=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E9=94=9A=E7=82=B9=E3=80=8D=EF=BC=88=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=8A=B6=E6=80=81=20/=20=E5=B7=B2=E5=AE=8C=E6=88=90=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E6=B8=85=E5=8D=95=20/=20=E5=BE=85=E5=8A=9E=20/=20?= =?UTF-8?q?=E5=AE=B6=E5=8A=A1=EF=BC=89=E2=80=94=E2=80=94=20=E4=BE=BF?= =?UTF-8?q?=E4=BA=8E=E4=B8=8A=E4=B8=8B=E6=96=87=E5=8E=8B=E7=BC=A9=E5=90=8E?= =?UTF-8?q?=E6=8E=A5=E7=BB=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devdocs/05-开发进度与交接.md | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/devdocs/05-开发进度与交接.md b/devdocs/05-开发进度与交接.md index 006534b..2016b29 100644 --- a/devdocs/05-开发进度与交接.md +++ b/devdocs/05-开发进度与交接.md @@ -676,3 +676,51 @@ PDF · 563 B · 24 字 · 已读入 ### 验收用的会话(**都留着,未清理**) `E2E-DOC`(纯附件回合没助手消息的现场)、`E2E-PDF`(带 PDF 附件、回合正常)、`E2E-RETRY`(含一条**被编辑过**的消息 `W15-retry-2-EDITED`)。主人说清再清。 + +## ★ 当前状态与待办(恢复锚点 · 2026-10-04 深夜) + +> **压缩/换会话后先读这一节**,它是对「此刻到底在哪」的一句话答案;细节在上面各批次里。 + +### 状态 + +- **`android` = `origin/android` = `647cf47`,工作区干净**,**831 测试 / 0 失败 / 0 错误**。 +- 可安装包:`app/build/outputs/apk/debug/app-debug.apk`。 +- 那轮「装机验收」的**四项全部有设备证据**(含 ① 的更正:本来就是好的,是我测量假象):见上一节「装机验收轮」。 + +### 本轮(W8→W22)已落地并推送的模块(一行一个) + +| # | 内容 | 提交 | +|---|---|---| +| W8 | 设置页「版本」行 → **关于页** | `3ed2377`→`f24877d` | +| W10 | **可观测性三帧**(metrics/trace/log)→ 概览实时刷新 + 最近日志 | `b5e6f78`→`93941cd` | +| W9 | **文档附件全链路**(选文件 / 待发芯片 / 上传 / `chat.documents` / 气泡芯片 / 分享文件走文档) | `30180ab`→`ab76798` | +| — | 契约 v0.59 已发布 → 更正旧注释;`devdocs/` **入库** | `2973391` `2369dd2` | +| W13 | **队列满处置那条气泡**(`pending_full` / 定向 `chat_busy` 的 `clientMsgId`) | `3b4a790`→`9854cc4` | +| W14 | **图片全屏查看** + 打开/保存 | `557ef3f`→`f109846` | +| W15 | **重试复用幂等键**(按内容指纹) | `af11a94`→`8b90703` | +| W16 | **会话内搜索**(顶栏入口 / 面板 / 点结果定位) | `23b46f9`→`46ac15a` | +| W17 | 重试记忆改**多槽** | `d3fc0c8`→`440e441` | +| W19 | **单条消息编辑与删除** | `3518917`→`ea16f48` | +| W18 | **跟上 v0.61 的 `.pdf`**(App 内预览对非文本拒收,不再出乱码) | `48e4188`→`1f9d1dd` | +| W21 | 重试记忆加 **10 分钟时间上界** | `8938fff`→`df63783` | + +(W20/W22 是**修「非 bug」的空转**,零改动,见上一节的教训。) + +### 待办(按优先级) + +1. **`after` 正向增量**(`GET /sessions/{id}/messages?after=`;与 `q` 互斥)—— 本轮唯一还没动的原计划项。 +2. **W19 留下的两处**:① 编辑框里显示的是**原始 `content`(含 `

`/`` 标记)**(剥标记再回写会静默丢掉旁白与动作)—— 要不要给「只显示纯文本」的编辑口径,**待主人拍板**;② **删除后抽屉里的「最后消息预览」不刷新**(本端只改了消息列表,没触发 `GET /sessions`)。 +3. **遗留 ①:连接所有权** —— 每个会话一个 `ChatScreen` 的 VM 各建一条 `ChatSocket`,而 VM 活在 Activity 级 `ViewModelStore` 里 ⇒ 访问过的每个会话都**永久留一条连接**(含各自的 `OkHttpClient` 与连接池),**删会话也不回收**。自然解法:**共享一条 socket + 按会话路由**。 +4. **`ChatSocket.sendInterrupt` 零调用方**(「切会话时打断」这个出口从未接线,是死 API)。 +5. `observability_audit` 帧(**后端未做**,审计仍是 REST);`POST /admin/users` 仍是 `501` ⇒ 铸不出 `viewer` 账号,viewer 降级只能单测背书。 +6. 子会话流程(主人已确认搁置)。 + +### 家务(等主人一句话) + +- **三条验收会话留着没动**:`E2E-DOC` / `E2E-PDF` / `E2E-RETRY`(后者含一条被编辑过的消息)。要清就说。 +- **15+ 个 worktree**(W4–W22)都合并推送过、目录里是各自构建产物。要清的话**用 Git Bash 的 `rm -rf`**(Windows 直接用 git 自带的删会撞 `MAX_PATH`)。 + +### 与本轮配套的两条新纪律(已进上面的教训段,这里再点一次) + +1. **动代码之前先用像素确认症状**;`uiautomator dump` 只用来取坐标。 +2. **症状与代码结构矛盾时,先怀疑自己的测量**。