Local recording ends at Finish, before the learning review

未关闭 适合新手
#663 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@richard81115 已经在做这个了。

开始于 2026年11月11日。

  • #679 来自 @richard81115 —— 未关闭

评估

难度
1/5
预计耗时
1 小时以内
新手友好度
84/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
rust
领域
documentation

调研方向

阅读 docs/task-mode.md 中的“Local recordings”部分,并根据此处报告的行为检查其中的描述:尝试结束时录制也会结束,此时学习回顾尚未出现。添加一句说明,回顾不包含在录制内容中,如有需要必须单独录制。文档清楚说明录制在哪里结束,以及学习者可以如何录制回顾后,即视为完成。

由索引模型根据 Issue 内容生成。

描述

Observed behavior

The local task recorder stops as soon as the attempt is finished, so the downloaded WebM ends right after the "Finish and freeze this revision" dialog and never shows the learning review. docs/task-mode.md says that completion finalizes the recording, so the behavior matches the documentation.

Why it matters

The course assignment asks for a recording "from the rules page to the learning review after Finish". The built-in recorder cannot capture that last part, and a new capture cannot be started during the attempt.

Steps to reproduce

  1. Start the server with cargo run --release -- web --task-mode and open http://localhost:3000 in Chrome.
  2. Accept the rules, allow the microphone and camera, and calibrate.
  3. On the preparation page, start the local recording, choose this tab and share tab audio.
  4. Press Start, work on the task, press Finish and confirm.
  5. Open the downloaded WebM. Its last frame shows the workspace just after the dialog closes; the learning review that the page shows next is not in the file.

Cause

In web/task.js, attemptOver() calls stopMonitoring(), which calls localRecording.finish() and releases the camera and microphone. The result arrives later and renderReview() shows it, after the recorder has already saved the file.

Plan

The change I can send is a documentation one: a sentence in the "Local recordings" section of docs/task-mode.md stating that the recording ends when the attempt is finished and therefore does not include the learning review, so a learner who needs the review on video knows to capture it separately.

Recording through the review would be a larger change: for an attempt that ends with Finish, keep the tab capture running after monitoring stops, let the recorder drop its microphone input without reporting a lost microphone, and finalize in renderReview() once the review is in the page, with browser tests for both paths. I cannot commit to that before the assignment deadline, so I am leaving it as a direction rather than a promise.

Environment

codetrial 0.1.0 (5570fe9), built from source; server in WSL Ubuntu on Windows 11; Chrome 157.0.8103.39; default task rubik, language C.

主要语言
Rust
星标
228
派生
150
平均合并
1 天 3 小时
30 天内合并 PR
226

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

sysprog21/codetrial 的其他 Issue

查看 sysprog21/codetrial 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。