DeepSeek 那边回复明明读完了,扩展却报「等待回复超时」。不是网速慢,是那个节点自己没了。
它的长对话区是虚拟列表:一轮回复渲染结束前后,外层容器会被整个替换掉。轮询里如果拿的是旧元素引用,它已经脱离文档,生成状态永远读不到 false,只能一路等到超时。用户看到的是「回答完了,却提示失败」,点重新回复又能好,极难复现。
改法是把判定依据从元素身份换成回复文本:同一段文本连续几次采样不变、发送按钮回到可点状态,才算这一轮结束。另外补了一个「容器替换但文本不变」的回归测试——这种坑不写测试,下次改版一定复发。
它的长对话区是虚拟列表:一轮回复渲染结束前后,外层容器会被整个替换掉。轮询里如果拿的是旧元素引用,它已经脱离文档,生成状态永远读不到 false,只能一路等到超时。用户看到的是「回答完了,却提示失败」,点重新回复又能好,极难复现。
改法是把判定依据从元素身份换成回复文本:同一段文本连续几次采样不变、发送按钮回到可点状态,才算这一轮结束。另外补了一个「容器替换但文本不变」的回归测试——这种坑不写测试,下次改版一定复发。
展开
评论
4
![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)