2.2 KiB
2.2 KiB
Debug Session: timeup-stop-projection
- Status: [OPEN]
- Issue: 倒计时结束后终端计数器仍可继续计数;点击投屏没有打开新页面。
- Debug Server: http://127.0.0.1:7777/event
- Log File: .dbg/trae-debug-log-timeup-stop-projection.ndjson
Reproduction Steps
- 打开前端配置页并进入比赛页。
- 点击投屏,观察是否打开新页面进入投屏页。
- 下载本场并开始比赛。
- 等待倒计时结束,观察终端设备是否停止计数。
Hypotheses & Verification
| ID | Hypothesis | Likelihood | Effort | Evidence |
|---|---|---|---|---|
| A | 到时后后端比赛状态结束了,但停止帧 0x30 没有真正发到串口 |
High | Med | Pending |
| B | 停止帧发出了,但设备又被后续上报或其他命令重新带回计数状态 | Med | Med | Pending |
| C | WinForms 在到时停机前后还有额外串口时序,当前只发一次 0x30 不足以对齐旧逻辑 |
High | Med | Rejected |
| D | 投屏按钮执行了,但浏览器拦截了新窗口,或新窗口打开后没有读到投屏会话 | High | Low | Rejected |
| E | 投屏按钮事件没有正确执行到 window.open,或投屏 URL/窗口复用逻辑有问题 |
Med | Low | Confirmed |
Log Evidence
- 日志只记录到 2 条
App.setup初始化事件,其中第 2 条显示isProjectionWindow=true、search=?screen=counter、windowName=rope-skipping-projection - 这说明投屏页实际上已经被打开并进入投屏模式
- WinForms 全局检索只发现显式停止按钮
button15_Click发送0x30,未发现额外的“到时自动补发其他串口命令”逻辑 - 当前缺少“倒计时到 0”的运行日志,尚未采到
countdown reached zero / auto stop command requested / stop frame sent to serial
Verification Conclusion
- 投屏问题的根因更接近“固定窗口名导致浏览器复用已有投屏窗口”,而不是打不开投屏页
- 已将投屏打开方式改为
_blank,满足“每次点击都打开新页面”的诉求 - 到时停机问题仍需一次聚焦复现,以确认是“没触发停机”还是“停机帧已发但设备未停”