iOS alert resolution reads every element of the app window when a popover is found
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 64/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- swift
- Domaine
- mobile-dev, performance, testing-qa
Piste de recherche
Start in RunnerTests+Alert.swift around the resolution root and preferredAlertTitle, then inspect actionableElements in RunnerTests+SystemModal.swift and compare the no-alert fix from #2901. Bound the XCTest queries under the popover or dimming region and check the deadline between reads. Add a popover-over-long-list regression fixture and verify the command finishes within its budget.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Alert handling in the iOS runner reads per element over a whole app window, with no deadline check, when a popover is found. #2901 fixed the no-alert case (firstDismissPopupWindow now uses one predicate query). The same cost remains when a popover is present:
- the resolution root becomes the whole app window (
RunnerTests+Alert.swift~47-48); actionableElements(RunnerTests+SystemModal.swift~121-143) makes about 5 XCTest reads for each button, cell and link;preferredAlertTitle(RunnerTests+Alert.swift~219) walks every descendant.
A popover over a list with many rows can therefore overrun the command watchdog and keep the runner busy. The synchronous XCTest work continues after the watchdog answers the client, so later commands get RUNNER_BUSY. This is the same wedge #2901 fixed for the no-alert path.
Required behavior
Alert resolution makes a bounded number of XCTest reads, whatever the screen size: query under the dimming or popover region, use predicates instead of walks, and check the command deadline between reads. Add a regression fixture with a popover over a long list, and assert the command finishes well within its budget.
Found in the adversarial review of #2901.
- Langage dominant
- TypeScript
- Étoiles
- 5.2k
- Forks
- 359
- Merge moyen
- 12 h 48 min
- PR mergées (30 j)
- 657
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
-
A session bound to an Apple device rejects --device=<its own UDID>Peut-être pris @zerone0x l’a pris aujourd’hui. Ouvertebug
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 6 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
-
Android: snapshot helper exits without parseable output after a screen transition (still on 0.21.33)Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
callstack/agent-device#4005 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
callstack/agent-device#3992 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
[Bug]: Payment providers removed from config are never disabled in payment_providerPeut-être pris @medusa-os-bot l’a pris aujourd’hui. Ouvertetype: bug
Difficulté 2/5 Une demi-journée Accessibilité débutants 82/100
medusajs/medusa#17544 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
software-mansion/argent#1651 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
lane:reliability
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour