Add a live camera preview during the media preflight
维护者通常 1 天内回复
@ChenYingHan1121 已经在做这个了。
开始于 2026年10月21日。
评估
这个 Issue 还没有评估数据。
描述
Problem
During the media preflight ("Check your setup"), candidates can verify whether their camera is working, but they cannot see their own camera feed.
This makes it difficult to check camera framing, face position, and lighting before starting an interview.
A live camera preview, similar to the pre-join screen in Google Meet, would help candidates adjust their camera setup before entering the interview.
Proposed Improvement
Add a live camera preview to the Camera section of the media preflight.
The preview should:
- Display the candidate's camera feed after camera access is granted.
- Use a mirrored view to make adjusting camera position more intuitive.
- Reuse the existing camera track without requesting a second camera stream.
- Hide or clear the preview when the camera is unavailable, disabled, or skipped.
- Preserve the existing face-presence detection behavior.
- Be visible only during the media preflight, not during the interview itself.
Technical Investigation
The existing implementation already obtains and uses the camera stream for face-presence detection.
In web/face-check.js, createFaceCheck() attaches the active camera track to a hidden video element:
video.srcObject = new MediaStream([trackOf()]);
await video.play?.().catch(() => {});
In web/interview.html, the video element is:
<video
id="camera-integrity-video"
class="hidden-media"
muted
playsinline
></video>
This suggests that the preview could reuse the existing camera track without another getUserMedia() call.
A separate visible video element may help keep the preview independent of the face-presence detection element.
Relationship to Existing Work
Related to #141 and PR #143.
Issue #141 focuses on displaying the candidate's webcam during the interview.
This proposal is specifically for the pre-interview media preflight ("Check your setup"), allowing candidates to adjust their camera framing and lighting before starting.
The preview would be limited to the preflight stage and would reuse the existing camera track without interfering with face-presence detection.
I understand that this is related to the existing webcam preview work, and I would appreciate confirmation that it is appropriate to track separately.
Question
Would this preflight-only camera preview be a useful addition to CodeTrial?
If the proposed scope is acceptable, I would be happy to implement it and add browser regression tests.
- 主要语言
- Rust
- 星标
- 177
- 派生
- 100
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 151
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sysprog21/codetrial 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 77/100
维护者通常 1 天内回复
-
Allow deselecting a chosen problem card by clicking it again可能已有人在做 @woohsin 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
sysprog21/codetrial#392 · 4 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Audio output can be confirmed without playing a test sound可能已有人在做 @ChenYingHan1121 于 3 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
sysprog21/codetrial#359 · 4 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Add a Copy code button to the final report可能已有人在做 @yansawu 于 3 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 80/100
sysprog21/codetrial#318 · 5 条评论 · 2 个 reaction · 已指派 1 人 ·
维护者通常 1 天内回复
-
Outline Snapshot Duplicator question accept a copied random list that loops back into itself可能已有人在做 @papaya0112 今天认领。 未关闭
sysprog21/codetrial#417 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 sysprog21/codetrial 的全部 Issue
相似的 Issue
-
area: config effort: S good first issue P3 type: bug
难度 2/5 1-3 小时 新手友好度 70/100
ferenyl/azuredevopstui#63 ·
-
needs-triage O-Arm T-libs
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
-
bug CLI config mcp
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
documentation good first issue
难度 1/5 1-3 小时 新手友好度 88/100
yunaremaia/sandbox-ffi-layers#56 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
git-ai-project/git-ai#2434 ·
维护者通常 1 天内回复