iOS fill can report TEXT_ENTRY_MISMATCH before the confirmation deadline
Les mainteneurs répondent en général sous 1 jour
Une pull request liée a déjà été fusionnée.
- #3953 par @shamilovtim — fusionnée
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- ios, testing-qa, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 5.1k
- Forks
- 339
- Merge moyen
- 12 h 53 min
- PR mergées (30 j)
- 644
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de callstack/agent-device
-
Taps on Jetpack Compose buttons refused because of the fake Button child nodePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
callstack/agent-device#3982 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
callstack/agent-device#3945 ·
Les mainteneurs répondent en général sous 1 jour
-
Limrun iOS fill reports success but drops non-ASCII textPeut-être pris @mvanhorn l’a pris il y a 5 jours. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
callstack/agent-device#3819 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
callstack/agent-device#1869 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
callstack/agent-device#3981 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
VictoriaMetrics/victorialogs-datasource#747 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
bug from-studio
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
esengine/DeepSeek-Reasonix#14608 ·
Les mainteneurs répondent en général sous 1 jour
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
getarcaneapp/arcane#4590 ·
Les mainteneurs répondent en général sous 1 jour
-
支持对已取消(cancelled)任务生成报告Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Clouditera/VulnHunter#57 ·