iOS fill can report TEXT_ENTRY_MISMATCH before the confirmation deadline
Mantenedores costumam responder em até 1 dia
Um pull request relacionado já foi integrado.
- #3953 de @shamilovtim — integrado
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- ios, testing-qa, typescript
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- TypeScript
- Estrelas
- 5.2k
- Forks
- 359
- Merge médio
- 12h 54min
- PRs com merge (30d)
- 637
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstack/agent-device
-
bug ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
callstack/agent-device#4018 ·
Mantenedores costumam responder em até 1 dia
-
A session bound to an Apple device rejects --device=<its own UDID>Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
callstack/agent-device#3945 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Limrun iOS fill reports success but drops non-ASCII textTalvez já em andamento @mvanhorn assumiu há 8 dias. Abertabug ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 87/100
callstack/agent-device#3819 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/agent-device#1869 ·
Mantenedores costumam responder em até 1 dia
-
Android snapshot helper: a capture cancelled in its first milliseconds stalls the next captureAbertabug ready-for-agent
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
callstack/agent-device#4030 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de callstack/agent-device
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
marmelab/react-admin#11431 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
db-ux-design-system/core-web#8655 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
stripe/react-stripe-js#728 ·
-
[Upload Grade C dataset] the pop-up changes it's size while uploading the document => Jumping effectAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
epam/statgpt-admin-frontend#305 ·
Mantenedores costumam responder em até 1 dia