docs(05/07): 锚点补记二十八 —— W48/W49 设备验收通过(换环境串味 / 抽屉未读角标)
改了什么: - 05 新增锚点补记二十八:W48 的判别法(先清空服务端主会话再换账号,否则两账号同一份历史看不出串味)与结果 (A 的本地气泡与持久行在 B 账号下都 0 次、抽屉残留 0 次);W49 的机制证据(抽屉关着时客户端自己在 消息到达后 60ms 发出 GET /api/v1/sessions)与可见结果(次级会话行 未读 1、正在看的主会话无角标); 并更正一处认知:红点是抽屉内会话行的未读角标,菜单图标上没有点。 - 07 的坑清单补两条:① 登录页地址栏留空时 App 会回落到上次记住的地址(我因此白追一小时「请求怎么打到 真后端」);②「登出」是设置页最底部的图标按钮(图标是 MiuixIcons.Back、只有 contentDescription), 截图上像「返回」很难找。 为什么:这批验收原来只有单测覆盖,结清后 05 的待办里不再挂着它;两条坑都是这次真实花掉时间的, 写下来避免下次重演。
This commit is contained in:
1 parent
c905a47d6f
commit
b23948bed0
2 files changed
+42
-2
No files matched your search
@@ -42,8 +42,15 @@
|
||||
文字/坐标判据一律优先用 dump(`bounds | text`),截图只在需要看观感时用。
|
||||
8. **滑动手势会被系统返回手势吃掉**:从屏幕底部附近起滑会直接回桌面。真要滚动就避开底部区域
|
||||
(例如 `input swipe 540 1500 540 800 300`),别用 `1900 → 700`。
|
||||
9. 验收结束时的状态:`adb root` 仍是开的;reverse 为 `tcp:80 → tcp:10942` 与 `tcp:10942 → tcp:10942`
|
||||
(都是真后端);App 拿的是假后端签发的 token ⇒ 会在真后端的 401 上登出,登录页地址栏留着 `localhost`。
|
||||
9. **登录页的「服务器地址」留空时,App 会回落到上一次记住的地址**(不是报错、也不是用界面上那句示例 `http://192.168.1.10:8080`)。
|
||||
我为此白追了一个小时「请求怎么打到真后端去了」:那一次地址栏恰好是空的(我清过),而当时的 reverse 指向真后端。
|
||||
**教训**:凡是要换后端,先 `uiautomator dump` 确认地址栏里**真有值**(`http://localhost/`),别信「刚才填过」。
|
||||
10. **「登出」是设置页最底部的一个图标按钮**(`ui/settings/SettingsScreen.kt:160`,图标用的是 `MiuixIcons.Back`、
|
||||
只有 `contentDescription = "登出"`,红字):截图上它看起来像「返回」,非常难找。找法:dump 里搜 `content-desc="登出"`
|
||||
(位置在「关于 → 版本」下面 32dp,约 `y≈2109` 处),或先把设置页滑到底。
|
||||
⚠️ 这条同时是个**观感问题**(主人可能根本不知道它在哪),要不要换成带文字的危险行条目属于产品决定。
|
||||
11. 验收结束时的状态:`adb root` 仍是开的;reverse 为 `tcp:80 → tcp:10942` 与 `tcp:10942 → tcp:10942`
|
||||
(都是真后端);App 拿的是假后端签发的 token ⇒ 会在真后端的 401 上登出,登录页地址栏留着 `localhost`、用户名留着上一次填的。
|
||||
|
||||
## 3. 复现整套验收的最短路径
|
||||
|
||||
|
||||
Reference in new issue
Block a user