docs(05): 更正 ① W16 搜索的结论 —— 本来就是好的,先前「设备上不可用」是我的测量假象(含教训:动代码前先用像素确认症状)

This commit is contained in:
AskaEth committed 2026-10-04 21:46:26 +08:00
1 parent 3ff4f45166
commit 647cf47cf2
1 file changed
+19 -4
+19 -4
View File
@@ -644,12 +644,27 @@ PDF · 563 B · 24 字 · 已读入
| 二次确认 | 「删除这条消息?」/「它会从所有端移除,且不可恢复。」 |
| 删除执行 | logcat **`DELETE /api/v1/messages/f9c53d22…` → `200`**(56 字节);服务端那条 assistant **已消失**、界面气泡消失 |
### ① W16 会话内搜索 —— ❌ **设备上不可用**(真 bug,修复中)
### ① W16 会话内搜索 —— ✅ **通过**(⚠️ 并附一条我自己制造的假警报与教训)
点顶栏入口 `content-desc="搜索会话里的消息"`(`[1206,204][1266,264]`)**界面毫无变化**:无面板、无「输入关键词…」、无标题。但 dump 里**多出**一个 `android.widget.EditText` 位于 **`[36,339][1176,509]`**(顶部、宽约 1140px;聊天页自己的输入框在 `[300,1736][1086,1906]`)⇒ **面板的输入框出来了、面板其余部分没出来或尺寸塌了**。
**结论先改**:这一项**本来就是好的**。下文保留那条「不可用」的原委,以免重犯。
- 第一次修复的代理(W20)**零输出挂死 14 分钟、worktree 里零改动**(停掉后核对:停在旧提交、无残留)。
- 已重派(W22),并在任务书里加了**反挂死三条**:不许它自己跑 `git merge`(分支由主代理对齐好)、**任何命令 3 分钟无输出就换做法/报告**、**只跑一轮构建**。
真正的设备证据(都取到了):
| 环节 | 证据 |
|---|---|
| 入口 | 顶栏右上角放大镜 `content-desc="搜索会话里的消息"`;它的**可点父节点**是 `[1164,162][1308,306]`(144px = 48dp 标准触控区) |
| 打开面板 | **像素确认**:不透明盖满整页、顶栏「搜索会话」+ ✕、输入框**自动聚焦**(蓝色边框)且 IME 弹起、中间「输入关键词,搜索这个会话里的消息」 |
| 搜索 | 输入 `W15` 提交 → logcat **`GET …/messages?limit=30&q=W15` → `200`(583 字节)**;顶栏「**2 条命中**」+ 两行结果(`我 / W15-retry-2-EDITED / 10-04 13:32`、`我 / W15-key-test / 10-04 13:30`) |
| 点结果定位 | 面板关闭 + 顶部横幅「**已定位到这条消息**」 |
| 返回键层级 | 再开面板(dump 数到「搜索会话」= 1)→ 按返回 → **像素确认回到聊天页**(面板关、IME 收起、消息与输入栏都在),`topResumedActivity` 仍 `MainActivity`(没退到抽屉/桌面) |
**⚠️ 那条假警报的原委(值得记,别再犯)**:我先前连点两次入口后 dump,都「看到聊天页、且多出一个 `EditText [36,339][1176,509]`」,于是判「面板没渲染、尺寸塌了」。**真相是 `uiautomator dump` 在「面板弹出 + IME 动画」期间会静默失败,而我读到了上一次的旧文件**——把「一个正常的输入框」读成了「面板塌掉的残骸」。改用**像素**(`screencap`)一看,面板好端端盖着整页。
**代价与教训**:我为此派了两个代理去修「非 bug」(W20 零输出挂死 14 分钟、W22 被停掉),**都零改动、没污染仓库**。两条纪律:
1. **动代码之前先用像素确认症状**(`uiautomator dump` 只用来取坐标,不用来判定「界面有没有变化」);
2. 当**症状与读出来的结构矛盾**时(根容器 `fillMaxSize()` + 不透明底色 ⇒ 结构上不可能「看不见」),**先怀疑自己的测量**,再怀疑代码。
**另记一处「不是错但不该这么写」**:`SessionSearchPanel.kt:105` 在 `Column` 里给子项用了 `Modifier.fillMaxSize()`(正确写法是 `weight(1f)`)。实测**当前不影响观感**(面板内容居中正常),所以**我没有改**——没有证据的改动只会引入风险,留在这里备案。
### 本轮新增的坑(客户端侧方法论,值得单独记)