Let the candidate undo Continue without camera in the preflight
Maintainers usually reply within 1 day
Assessment
This issue has not been assessed yet.
Description
Observed behavior
In the media preflight of an unrecorded interview, clicking "Continue without camera" marks the camera step as done ("Not used (no_device)" or "Not used (denied)") and hides the button. Nothing on the page brings the camera back before the interview starts. A candidate who clicks it by mistake, or who plugs in or frees a camera afterwards, can only reload the page or go back to the lobby and start over.
Expected behavior
Until "Start interview" is pressed, the candidate can switch back to using the camera, and the camera step returns to its normal check.
Reproduction
- Run
codetrial weband start an unrecorded interview. - In the media preflight, click "Continue without camera".
- Look for a way to use the camera again before starting.
Environment
OS: Windows 10
Browser: Google Chrome 152
Initial analysis
The skip handler in web/interview.js sets cameraSkipped, calls pool.disable("video") and writes the Meet presentation choice back to off. refresh() then keeps #camera-skip hidden with recordingEnabled || cameraSkipped, a line tests/browser/dom-contract.test.js pins. createDevicePool in web/devices.js has disable(kind) but no counterpart, so a disabled device is never requested again. The skip is only read when the preflight resolves, so undoing it before Start would not affect any report.
Proposed change
Turn the skip button into a toggle ("Use camera" once skipped), add an enable(kind) to the device pool that clears disabled and requests the device again, and restart the face check when the new track arrives. The Meet presentation box stays unchecked after an undo rather than restoring a choice the candidate never made again. Tests: a device pool test that a re-enabled device is requested again, and a preflight test that skipping and then undoing leaves the camera step pending until a live track arrives. I would like to work on this if the direction looks right.
- Dominant language
- Rust
- Stars
- 160
- Forks
- 64
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 124
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sysprog21/codetrial
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
sysprog21/codetrial#318 · 3 comments · 2 reactions ·
Maintainers usually reply within 1 day
-
Candidate test cases persist across interviews for the same problem in the same tabPossibly taken @MZGamer claimed this 1 day ago. Open
sysprog21/codetrial#336 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
A correct C solution to Clone Graph does not compilePossibly taken @Wu-1127 claimed this 1 day ago. Open
sysprog21/codetrial#332 · 1 assignee ·
Maintainers usually reply within 1 day
-
Run the live interviewer on a local speech pipelinePossibly taken @alanhc claimed this 1 day ago. Open
sysprog21/codetrial#330 · 1 assignee ·
Maintainers usually reply within 1 day
-
Allow users to start an interview without GitHub sign-inPossibly taken @TMQ0717 claimed this 3 days ago. Open
sysprog21/codetrial#316 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in sysprog21/codetrial
Similar issues
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
IntersectMBO/developer-experience#347 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
registrystack/registry-stack#2168 ·
Maintainers usually reply within 1 day
-
bug crate: 3d help wanted triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
kornia/kornia-rs#1203 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
[Bug] ComponentType classifies 0x8A8A-0xEAEA as GREASE; mls-extensions §7.5 makes them private useOpen
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day