Local recording ends at Finish, before the learning review

オープン 初心者向け
#663 コメント 2 件 リアクション 0 件 担当者 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時間
マージ済み PR(30日)
226

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sysprog21/codetrial のほかの issue

sysprog21/codetrial の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。