record start ignores the output path for tenant requests since 0.21.35

Đang mở
#4,215 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
ios, node.js, typescript
Lĩnh vực
backend, cli

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

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.

Ngôn ngữ chính
TypeScript
Star
5.3k
Fork
377
Merge trung bình
13 giờ 49 phút
Pull request đã merge (30 ngày)
650

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của callstack/agent-device

Tất cả issue của callstack/agent-device

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.