iOS: `_UIFloatingBarContainerView` counts as an occluder, so press/fill refuse everything above the tab bar
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- ios, react-native, typescript
- Lĩnh vực
- mobile-dev, testing
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 4.7k
- Fork
- 304
- Merge trung bình
- 11 giờ 6 phút
- Pull request đã merge (30 ngày)
- 521
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/agent-device
-
ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
callstack/agent-device#2995 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/agent-device#1869 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
callstack/agent-device#3047 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
callstack/agent-device#3021 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ready-for-agent
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
callstack/agent-device#3004 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của callstack/agent-device
Issue tương tự
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
inu-appcenter/memorIN-frontend#106 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 7 ngày
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
fix: CopyFilters ignores tabĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
CSCfi/sd-search-ui#145 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add: Cbeebies pl SDĐang mởcheck:passed streams:add
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày