Reset or Show pressed while the task cube is turning does not stick
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
Observed behavior
In a task that names the cube explainer, such as the default rubik task, Reset and Show do not hold when they are pressed while a turn is still swinging. The cube first shows the solved cube or the typed position, and then the turns still queued land on it. Applying R U R' U' and pressing Reset during the first turn ends on 21375642212111 with "Moves so far: R U R' U'" instead of the solved 12345671111111. Showing 21653471111312 the same way ends on 12673452213311, a different position from the one typed. docs/task-mode.md says a code typed from the public cases changes all three views, so a learner checking a public case against the cube is shown the wrong position.
Expected behavior
Reset ends on the solved cube and Show on the typed position, whatever was still turning; the turns asked for before either button is pressed are dropped.
Reproduction
- Open a task that names the
cubeexplainer and start the attempt, so the cube is shown. - Type
R U R' U'into the cube's algorithm box and press Apply. - While the first turn is still swinging (each turn takes about a quarter of a second), press Reset.
- Wait a second: the cube turns again, the history reads "Moves so far: R U R' U'", and the code reads
21375642212111. - Repeat with
21653471111312typed into the position box and Show pressed in step 3: the code ends on12673452213311.
I ran these steps in Chromium on the task page as tests/browser/task-workspace.test.js serves it, with that file's stub task agent, camera and face detector; the cube is the page's own web/cube-view.js.
CodeTrial version
cargo run -- --version does not build here: the webrtc-sys C++ build fails with this machine's toolchain. The page comes from a checkout of main at 3bbbcf5 (3bbbcf5d924bfb22ececc82ca2543d71f810b225).
Environment
OS: Ubuntu 24.04.3 LTS
Browser: Chromium 156.0.8078.4 (the Playwright build)
Language: not applicable
Interview loop: task mode, the default rubik task
Problem: not applicable
REACTO or STAR step: not applicable
Reconnect: not applicable
Sanitized evidence

run() queues each turn on busy and applies it after await swing(move) to whatever state is current by then (web/cube-view.js L390-L407). The Reset handler (L257-L262) and the Show handler (L304-L314) assign state and history at once, and neither cancels nor waits for the turns still queued, so those land on the replacement cube. The cube's state stays in the page; nothing is sent to the runtime, Jim or the review.
A fix that drops the turns asked for before a Reset or Show, with a browser test that fails on main, follows as a pull request.
Public data confirmation
- I removed credentials, session tokens, candidate recordings, and personal interview content from this public report.
- 主要语言
- Rust
- 星标
- 215
- 派生
- 141
- 平均合并
- 1 天 12 小时
- 30 天内合并 PR
- 232
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sysprog21/codetrial 的其他 Issue
-
Audio output can be confirmed without playing a test sound可能已有人在做 @ChenYingHan1121 于 12 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
sysprog21/codetrial#359 · 9 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Treat low-evidence candidate speech as unassessed可能已有人在做 @Danielncku 于 1 天前认领。 未关闭
难度 5/5 一周以上 新手友好度 35/100
sysprog21/codetrial#553 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Web lobby cannot reopen Setup after configuration可能已有人在做 @YEH-YU-YANG 于 4 天前认领。 未关闭
sysprog21/codetrial#525 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Offer a way back to Setup from the lobby可能已有人在做 @Patriciaath999 于 4 天前认领。 未关闭
sysprog21/codetrial#513 · 4 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Jim's stage covers the editor, and Hide avatar does not free the space可能已有人在做 @Phonlin 于 4 天前认领。 未关闭
sysprog21/codetrial#512 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 sysprog21/codetrial 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
good first issue
难度 2/5 1-3 小时 新手友好度 92/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 77/100
yunfie-twitter/Palleria#474 ·
维护者通常 1 天内回复
-
good first issue help wanted
难度 2/5 1-3 小时 新手友好度 72/100
servo/rust-smallvec#827 ·
维护者通常 1 天内回复