settings clear-app-state fails with ENOENT … scandir '(null)' for iOS system apps such as Settings
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 80/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- mobile
Línea de trabajo
Empieza con clearIosSimulatorAppState en packages/platform-apple/src/core/app-settings.ts e inspecciona cómo gestiona la salida de simctl get_app_container antes de llamar a readHostDirectory. Comprueba si hay pruebas que cubran el borrado del estado de la aplicación del simulador de iOS; el issue no indica ningún archivo de pruebas. El trabajo estará terminado cuando se rechace (null) con un mensaje de operación no compatible específico de la aplicación, en lugar de provocar un error ENOENT.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
On an iOS simulator, clearing the state of a system app fails with an internal error instead of a clear refusal:
agent-device settings clear-app-state clear --app com.apple.Preferences --platform ios --udid <udid>
ENOENT: no such file or directory, scandir '(null)'
Reproduced with agent-device 0.21.22 on an iOS 26.5 simulator (Xcode 27.0). 0.21.23 has the same code.
Cause
clearIosSimulatorAppState in packages/platform-apple/src/core/app-settings.ts rejects only an empty container path:
const containerPath = result.stdout.trim();
if (!containerPath) { throw new AppError('COMMAND_FAILED', …); }
const entries = await readHostDirectory(containerPath);
For an app without a data container, simctl exits 0 and prints the literal text (null):
$ xcrun simctl get_app_container <udid> com.apple.Preferences data
(null)
$ echo $?
0
The check passes, and readHostDirectory('(null)') throws ENOENT.
Suggested fix
Treat (null) like an empty path, and refuse with a message that names the app, for example UNSUPPORTED_OPERATION: com.apple.Preferences has no data container to clear (system apps have none).
- Lenguaje dominante
- TypeScript
- Estrellas
- 4.9k
- Forks
- 328
- Merge medio
- 12 h 13 min
- PR fusionados (30 d)
- 541
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstack/agent-device
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
install and reinstall from another session in the same daemon replace the app on a claimed deviceAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
callstack/agent-device#3345 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
callstack/agent-device#3344 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
callstack/agent-device#3342 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
macOS: decide the public surface for "do not activate this app" (the --foreground axis collision)Abiertoneeds-triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
callstack/agent-device#3338 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
MystenLabs/MemWal#1163 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Mondriaan
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
knaw-huc/textannoviz#709 ·
Los mantenedores suelen responder en 1 día
-
billion-context-pi
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ranxianglei/billion-context#2521 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Add: YRF Music NepalAbiertostreams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100