iOS: `_UIFloatingBarContainerView` counts as an occluder, so press/fill refuse everything above the tab bar
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- ios, react-native, typescript
- Bereich
- mobile-dev, testing
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 5k
- Forks
- 334
- Ø Merge
- 12 Std. 2 Min.
- Gemergte PRs (30 T.)
- 678
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstack/agent-device
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
callstack/agent-device#3792 ·
Maintainer antworten meist innerhalb von 1 Tag
-
macOS helper audio-probe always reports -90 dBFS: AVAudioPCMBuffer frameLength set after the copyOffenbug ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
callstack/agent-device#3771 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
callstack/agent-device#1869 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ready-for-agent refactor
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
callstack/agent-device#3794 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug in-progress ready-for-agent
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 72/100
callstack/agent-device#3787 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in callstack/agent-device
Ähnliche Issues
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
lingdojo/kana-dojo#32663 · 1 Kommentar · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Admin: Title Separator field can't be cleared (input falls back to "|")Evtl. vergeben @emdashbot hat das heute übernommen. Offenbot:bug bot:in-review
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
emdash-cms/emdash#4236 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
PHP workflow streaming requests buffer the full SSE responseEvtl. vergeben @Winoren hat das heute übernommen. Offenreview: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
langgenius/dify#44270 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:holodeck review-finding
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
hyperdrive-technology/holodeck#142 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
code-yeongyu/senpi#3573 ·
Maintainer antworten meist innerhalb von 1 Tag