Reset or Show pressed while the task cube is turning does not stick
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
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.
- Vorherrschende Sprache
- Rust
- Sterne
- 215
- Forks
- 141
- Ø Merge
- 1 T. 12 Std.
- Gemergte PRs (30 T.)
- 230
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus sysprog21/codetrial
-
Audio output can be confirmed without playing a test soundEvtl. vergeben @ChenYingHan1121 hat das vor 13 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
sysprog21/codetrial#359 · 9 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
Treat low-evidence candidate speech as unassessedEvtl. vergeben @Danielncku hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
sysprog21/codetrial#553 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add update notifications for the prebuilt Windows binaryEvtl. vergeben @Yu-Ming-Chang hat das vor 3 Tagen übernommen. Offen
sysprog21/codetrial#547 · 3 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Offer a way back to Setup from the lobbyEvtl. vergeben @Patriciaath999 hat das vor 6 Tagen übernommen. Offen
sysprog21/codetrial#513 · 5 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in sysprog21/codetrial
Ähnliche Issues
-
security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Waschndolos/open-clubmanager#185 ·
Maintainer antworten meist innerhalb von 1 Tag
-
r-bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
servo/rust-smallvec#844 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
farion1231/cc-switch#9122 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
lbjlaq/Antigravity-Manager#3801 ·
Maintainer antworten meist innerhalb von 1 Tag
-
LIMIT inputs are named MIN/MAX instead of the standard MN/MX, so LIMIT(MN := ...) does not resolveOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag