Proxy lease refuses every iOS install/open: connection platform 'ios' compared with internal 'apple'
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- cli, mobile-dev
Línea de trabajo
Comienza en src/cli/commands/connection-runtime.ts, en applyResolvedDeviceSelector (alrededor de las líneas 888-898) y assertRequestedConnectionScope (alrededor de las líneas 955-961). Rastrea publicPlatformString y buildProxyDeviceKey y haz que la plataforma resuelta sea coherente con la plataforma pública de la conexión. Reprodúcelo con una concesión de proxy de iOS e instala o abre, y confirma que el comportamiento de Android no cambia.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
With a proxy lease, every iOS install and open on a remote connection is refused with:
Error (INVALID_ARGS): Active remote connection is already bound to a different platform. Re-run connect --force to replace it.
even though the connection was opened for iOS and the request targets that same iOS device. Android is unaffected.
Cause
When the lease state resolves a device, applyResolvedDeviceSelector copies the device's internal platform into the request flags:
For an iOS-family device that value is the internal apple, not the public ios. assertRequestedConnectionScope then compares it with the connection's stored public platform:
so ios !== apple and the request is refused. Android passes because its internal and public names are both android.
Repro
agent-device 0.21.12 (same code on main at 76dbee0): open a remote connection with platform: ios and a proxy lease, then run install <app> (or open) against the leased device. It fails right after the device lookup, before a lease is taken.
Possible fix
Store the public name in the flags, e.g. flags.platform = publicPlatformString(device) (already used by buildProxyDeviceKey in the same file), or normalize both sides before the comparison.
Context
Found through Stim (appandflow/stim#1096). Stim works around it by keeping iOS on the default 60 s lease (appandflow/stim#1127), which means large iOS apps can still hit #2946 (lease not renewed during upload); fixing this would let iOS use the longer proxy lease.
- Lenguaje dominante
- TypeScript
- Estrellas
- 4.7k
- Forks
- 304
- Merge medio
- 11 h 25 min
- PR fusionados (30 d)
- 545
Preparar el entorno
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
-
ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
callstack/agent-device#2995 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
callstack/agent-device#3047 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
callstack/agent-device#3021 ·
Los mantenedores suelen responder en 1 día
-
ready-for-agent
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
callstack/agent-device#3004 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
priority: P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
prime-radiant-inc/evener#3291 ·
Los mantenedores suelen responder en 1 día
-
accessibility bug revealjs
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
quarto-dev/quarto-cli#14961 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
supabase/agent-skills#614 ·
-
Content
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
RunestoneInteractive/rs#1559 · 1 comentario ·
Los mantenedores suelen responder en 2 días