record start ignores the output path for tenant requests since 0.21.35

Abierto
#4,215 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
ios, node.js, typescript
Área
backend, cli

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
5.3k
Forks
377
Merge medio
13 h 18 min
PR fusionados (30 d)
653

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de callstack/agent-device

Todos los issues de callstack/agent-device

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.