pitfall #18: Escape in search flow breaks rendering -> transparent shell -> session killed by self-heal; remove Escape from search path

This commit is contained in:
kenyanghui
2026-09-29 10:07:37 +08:00
parent d5850ce18a
commit 336fb1d241
2 changed files with 14 additions and 1 deletions
+12
View File
@@ -87,3 +87,15 @@ glm-4v-flash 对"只输出JSON: {chat_name:'名字', text:'...'}"这类带占位
桌面版微信记住了账号A,但登录页可 Switch Account;用户重新扫码时可能扫成**另一个账号B**。后果:聊天列表全变、白名单联系人"消失"(搜索只剩 Internet search results)。agent 表面正常,实际监护着错误的身份。
**对策**:①登录后第一件事,核对左上角头像/特征会话是否与白名单匹配;②白名单联系人在当前账号不存在时,搜索只剩网络建议——这是换错号的强信号;③部署时明确告知用户"扫码前确认手机当前登录的是哪个号"。
## 18. 搜索交互中按 Escape 会把渲染打成透明壳(会间接毁掉登录会话)
实测规律:在微信主窗口按 Escape(如"关掉残留下拉"的习惯动作)后,搜索交互会让
Qt 渲染管线崩掉——窗口 Map State 仍是 IsViewable、wmctrl 一切正常,但内容全透明,
截图只见壁纸。更糟的是:透明壳会被自愈逻辑判定"渲染死亡"而 pkill 重启,
**刚登录的会话随之丢失**,用户被迫重新扫码+手机确认。
**对策**:①搜索路径禁用 Escape(进入搜索框后 ctrl+a 全选即可覆盖旧关键词);
②自愈的透明壳重启前,先看进程存活时长——刚登录几分钟就"渲染死亡"的,
大概率是这条坑,宁可等待观察也不要立即杀;
③同样的坑没人知道微信哪版会修,升级微信后应重测。
+2 -1
View File
@@ -225,7 +225,8 @@ def header_matches(header, name):
def open_chat_via_search(name):
c = CFG["coords"]
press("Escape", 0.3) # 关掉可能残留的下拉
# 注意:此处绝不能按 Escape——实测按 Esc 会打断搜索交互并让渲染崩成透明壳,
# 进而被自愈逻辑误判死亡而重启进程,毁掉登录会话(坑#18)。
click(*c["search_box"])
press("ctrl+a", 0.2)
paste(name)