record start ignores the output path for tenant requests since 0.21.35

オープン
#4,215 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
ios, node.js, typescript
領域
backend, cli

調査の方向性

Start by comparing the shipped record-runtime.js from versions 0.21.34 and 0.21.35, then trace how record start <path> passes its positional path for tenant requests. Check the recording start and stop flow and its tests; done means tenant recordings honor the requested output path, or a documented directory option lets callers choose where recordings are written.

索引モデルが issue の本文から書いたものです。

説明

Problem

Since 0.21.35, record start ignores the output path the caller passes when the request carries a tenant (a remote or proxied session). The recording is written as recording-<uuid>.<ext> inside <state dir>/sessions/<session>/, and nothing overrides that directory. 0.21.31 to 0.21.34 honoured the path.

This breaks recording when the state directory sits on a volume that simctl io <udid> recordVideo cannot write to. On macOS an external or removable volume can be denied to the recorder, which fails with simctl recordVideo exited with code 1 (NSCocoaErrorDomain Code=513). The same command writing to /tmp works.

Evidence

  • agent-device 0.21.36, iOS 27 simulator, a tenant request from a remote client through a proxy daemon.
  • record start <path> then record stop: the file lands in <state dir>/sessions/<session>/recording-<uuid>.mov, not at <path>.
  • Comparing the shipped record-runtime.js of 0.21.34 and 0.21.35 shows the positional path is dropped for tenant requests.

Fix idea

Either honour the caller's output path for tenant requests again, or add an option to choose the recording directory, for example an environment variable such as AGENT_DEVICE_RECORDING_DIR or a daemon flag. Callers can then keep recordings off the state directory's volume.

Context: Stim (appandflow/stim) hosts simulators for remote agents and currently works around this by symlinking <state dir>/sessions into a temporary directory (appandflow/stim#5144). An option would let it drop the symlink.

主要言語
TypeScript
スター
5.3k
フォーク
377
平均マージ
13時間 49分
マージ済み PR(30日)
650

環境構築

はじめの一歩

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

callstack/agent-device のほかの issue

callstack/agent-device の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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