iOS: `_UIFloatingBarContainerView` counts as an occluder, so press/fill refuse everything above the tab bar
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
- 52/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- ios, react-native, typescript
- Domaine
- mobile-dev, testing
Piste de recherche
Start by tracing the press and fill entry points using the reproduced selectors and the snapshot --raw output. Compare the iOS occlusion behavior with the Android case in #1806, and use the coordinate press workaround as a baseline. Done means content above the tab bar is no longer rejected when the full-screen container passes touches through, while genuine occlusion remains protected.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
On an iOS simulator, press and fill refuse every element above the tab bar of a React Native app with:
Error (COMMAND_FAILED): Selector label="Add plant" is covered by another visible element and cannot be tapped safely
Nothing covers those elements on screen, and a coordinate press <x> <y> at the element's centre works. The node that counts as covering them is a full-screen UIKit container, _UIFloatingBarContainerView, which touches pass through. This looks like the iOS counterpart of #1806, where contentless full-screen containers counted as occluders on Android.
Repro
- agent-device 0.21.15 (also 0.20.10), iPhone 18 Pro simulator, driven through
agent-device proxy - App: an Expo SDK 57 app in Expo Go, with JS bottom tabs (
expo-router/js-tabs). It's the example app from avas-app/agent-bridge, but any screen with content above a tab bar should do.
agent-device open host.exp.Exponent "exp://<metro-host>:<port>" --platform ios --device "<sim>"
agent-device press 'label="Add plant"' # covered
agent-device fill 'id="plant-name"' "Fern" # covered (on the next screen)
agent-device find "Plants, tab" click # works: the tab bar sits outside the container
agent-device press 380 118 # works: same button by coordinates
snapshot -i marks every content node [covered].
Evidence
From snapshot --raw, the container is a sibling above the app content, full screen apart from the tab bar, and reported hittable:
{"index":122,"parentIndex":11,"type":"Toolbar","role":"_UIFloatingBarContainerView","label":"Toolbar","identifier":"Toolbar","rect":{"x":0,"y":0,"width":402,"height":791},"enabled":true,"depth":12,"hittable":true}
The content it "covers" is its sibling subtree at the same depth, with the same frame (0,0,402,791). The tab bar (y: 791) is outside the container's frame, which is why tab presses work.
Expected
A container with no content of its own that passes touches through (here _UIFloatingBarContainerView, possibly other _UI*Container* views) shouldn't count as an occluder. Or press/fill could fall back to the element's frame centre, the way a coordinate press works today.
Workaround
Look up the rect with get attrs <selector> --json and press/fill its centre by coordinates.
- Langage dominant
- TypeScript
- Étoiles
- 4.8k
- Forks
- 315
- Merge moyen
- 11 h 25 min
- PR mergées (30 j)
- 545
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
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
callstack/agent-device#3062 ·
Les mainteneurs répondent en général sous 1 jour
-
ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
callstack/agent-device#2995 ·
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 57/100
callstack/agent-device#3060 ·
Les mainteneurs répondent en général sous 1 jour
-
Android test-IME fill commits into a stale InputConnection session after focus moves to a new fieldOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 74/100
callstack/agent-device#3052 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
refactor
Difficulté 2/5 Une demi-journée Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 5 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
OHDSI/Data2Evidence#3450 ·
Les mainteneurs répondent en général sous 2 jours
-
e2e-failure ready-to-code
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
redhat-developer/rhdh-plugin-export-overlays#4011 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
automation missing-model model-sync provider:ofox
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
anomalyco/models.dev#8421 ·
Les mainteneurs répondent en général sous 1 jour
-
SlackAdapter and TelegramAdapter are not assignable to Adapter under exactOptionalPropertyTypesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour