iOS fill can report TEXT_ENTRY_MISMATCH before the confirmation deadline
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- ios, testing-qa, typescript
Línea de trabajo
Read RunnerTests+TextEntryConfirmation.swift and inspect the ReplacementTextEntryConfirmation polling rule. Run or add the synthetic regression described in the issue for transient partial text, a moved empty field, later exact success, and persistent mismatch. Done means negative observations keep polling within the existing deadline while the stated early success, identity, and mismatch behaviors remain intact; linked pull request #3953 is already open.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug
On the iOS accessibility-driven fill route, replacement confirmation can return verified: false before its existing confirmation deadline. The caller then reports TEXT_ENTRY_MISMATCH, even though a subsequent read within that deadline can contain the requested text.
This is a source-level, synthetic reproduction against 45125d717b207736dd47bc7969edbff7807a6e6d; it does not depend on a particular application.
Deterministic reproduction
Exercise ReplacementTextEntryConfirmation with requested text 123456, an empty baseline, and timestamps relative to initialization:
| Time | Observation | Expected |
|---|---|---|
| 0.10 s | 123 on the same identified input |
Pending |
| 0.31 s | 123 on that input |
Pending |
| 0.50 s | 123456 on that input |
Pending while settling |
| 0.71 s | 123456 on that input |
Verified |
Currently the second observation returns verified: false, so the caller stops before the later correct observation. The same early rejection occurs for an empty, focused, unidentified field whose frame changed from its baseline.
Cause
In RunnerTests+TextEntryConfirmation.swift, settled && (moved || result.verified != false || sampledAt >= deadline) permits a settled negative result whenever the observation differs from its baseline. A changed partial value or changed field frame satisfies moved; neither proves that a negative observation is final.
Required behavior
- Keep polling negative replacement observations within the existing bounded confirmation budget.
- Preserve early settled exact/unconfirmed results and identity protections.
- Preserve rejection when a mismatch persists through the deadline.
- Type once; do not clear, retype, or add mutation retries.
Completion: a synthetic regression must fail on the current rule and pass after correction, including transient partial text, a moved empty field, later exact success, and persistent mismatch rejection. No public API change or new dependency is needed.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.1k
- Forks
- 339
- Merge medio
- 12 h 57 min
- PR fusionados (30 d)
- 653
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 64/100
callstack/agent-device#3945 ·
Los mantenedores suelen responder en 1 día
-
Limrun iOS fill reports success but drops non-ASCII textPosiblemente ocupada @mvanhorn la tomó hace 4 días. Abiertobug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
callstack/agent-device#3819 · 2 comentarios ·
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
-
iOS keyboard capture can race dismissal and omit the input assistant barPosiblemente ocupada @shamilovtim la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 51/100
callstack/agent-device#3957 ·
Los mantenedores suelen responder en 1 día
-
Conformance Differential (iOS): nightly job red on main since 10-17Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug ready-for-agent
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
callstack/agent-device#3944 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
0️⃣ phase/new
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
microsoft/playwright#43640 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100