record start ignores the output path for tenant requests since 0.21.35
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- ios, node.js, typescript
調査の方向性
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>thenrecord stop: the file lands in<state dir>/sessions/<session>/recording-<uuid>.mov, not at<path>.- Comparing the shipped
record-runtime.jsof 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
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstack/agent-device のほかの issue
-
bug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
callstack/agent-device#4212 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
iOS alert wait: the last poll can get ~30 ms and turns "no alert" into a failed read対応中かも @pcbeingused333 が 4 日前に担当しました。 オープンbug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
callstack/agent-device#4018 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
callstack/agent-device#1869 ·
メンテナーはふだん 1 日以内に返信
-
iOS 27: HealthKit's authorization sheet reads as one node, so label and ref presses can't reach itオープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
callstack/agent-device#4226 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 70/100
callstack/agent-device#4216 ·
メンテナーはふだん 1 日以内に返信
callstack/agent-device の issue をすべて見る
似ている issue
-
area: infrastructure bug priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
snapotter-hq/SnapOtter#4575 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
documentation server-memory v2
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/servers#5457 ·
メンテナーはふだん 1 日以内に返信
-
comp: ssr comp: zones type: feature version: current (v17+)
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
angular/angularfire#3836 ·
メンテナーはふだん 3 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信