Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

iOS 27: `_UIFloatingBarContainerView` still marks content "covered" when the container matches its parent or sits a few points below the viewport top

Ouverte
#3,883 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
ios, react-native, typescript
Domaine
mobile, testing-qa

Piste de recherche

Start with packages/capture-kit/src/snapshot-occlusion.ts and the tests in snapshot-occlusion-sibling-sized-chrome.test.ts; compare the two snapshot shapes described in the issue with the existing sibling-sized and full-viewport checks. Add coverage for parent-sized containers beside an enclosing branch and containers whose top is within 0–4pt of the viewport top. Done means the new cases pass while the stated non-enclosing and smaller-than-parent cases remain covering.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

On iOS 27, taps on normal screen content fail with Ref @eN is covered by another visible element. The node reported as covering is the UIKit floating-bar container (_UIFloatingBarContainerView, type Toolbar, label/identifier Toolbar, hittable: true). This looks like the same family of bugs as #2996 and #3628. The fixes in #3097 and #3162 don't cover the two tree shapes below.

Environment

  • agent-device 0.21.25 (through @e2e-dev/mobile 0.12.0). The captured snapshots below also come out covered with the 0.21.30 occlusion code.
  • iPhone 18 Pro Max simulator, iOS 27.0, Xcode 27.1
  • React Native app (Expo SDK 58). The same build passes on iOS 26.5.

Shape 1: XCTest tree. The container matches its parent, not a sibling.

In the raw tree, the container has a sibling with the same rect, so #3097's sibling-sized exemption would apply. After group pruning, that sibling is gone. The container ends up next to a larger content branch that encloses it:

Other            0,2  440x954         ← content branch (sibling)
Other            0,64 440x892         ← parent
  Toolbar        0,64 440x892         ← _UIFloatingBarContainerView, hittable

No sibling has the same rect, so isSiblingSizedChromeContainer returns false. The container is not full-viewport, so the toolbar is treated as an overlay over the content.

Shape 2: flat / interactive projection. The container is 2pt short of full-viewport.

Application      0,0  440x956   (viewport 440x956)
  Other          0,62 440x2
  ScrollView     0,112 440x782
  ...
  Toolbar        0,2  440x954   role=_UIFloatingBarContainerView
  Toolbar        0,64 440x892   role=_UIFloatingBarContainerView

The 0,2 container misses isFullViewportChromeContainer because its top is 2pt below the viewport top. Our app keeps a 2pt status strip pinned at the top, and the window content starts below it. The container still spans the full width and reaches the bottom of the viewport.

Proposed fix

I have two narrow rules in packages/capture-kit/src/snapshot-occlusion.ts, with 3 new tests in snapshot-occlusion-sibling-sized-chrome.test.ts. All 1013 capture-kit tests pass:

  1. Parent-sized beside an enclosing branch: a tabbar/toolbar/navigationbar container is not an overlay when its rect equals its parent's rect and a sibling of it fully encloses it. The tests also show it still counts as covering when no sibling encloses it, or when it is smaller than its parent.
  2. Viewport footprint tolerance: the full-viewport chrome check accepts a container that matches the viewport's x, width and bottom edge, with its top 0–4pt below the viewport top.

With the same change applied as a local patch to 0.21.25, our suite goes from 1/4 to 4/4 on iOS 27.

Would you like a PR for this? I can open one with the change and the tests.

Snapshots

Both snapshots are from the same screen. App text is replaced with <label> / <identifier> / <value>. Nodes that agent-device marked covered have their hittable: true restored, so this is the input to occlusion, not its output. Run through snapshot-occlusion from 0.21.30, the interactive snapshot marks 18 of 26 nodes covered.

Interactive snapshot (shape 2)
{
 "viewport": {"width":440,"height":956},
 "nodes": [
  {"index":0,"depth":0,"type":"Application","role":"UIApplication","rect":{"x":0,"y":0,"width":440,"height":956},"enabled":true,"hittable":false,"kind":"application","label":"<label>"},
  {"index":1,"parentIndex":0,"depth":1,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":0,"y":62,"width":440,"height":2},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":2,"parentIndex":0,"depth":1,"type":"StaticText","role":"RCTParagraphComponentView","subrole":"UIView","rect":{"x":16,"y":78,"width":58.333335876464844,"height":20.333335876464844},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":3,"parentIndex":0,"depth":1,"type":"ScrollView","role":"RCTEnhancedScrollView","subrole":"UIScrollView","rect":{"x":0,"y":112,"width":440,"height":782},"enabled":true,"hittable":true,"kind":"scroll-area"},
  {"index":4,"parentIndex":3,"depth":2,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":0,"y":128,"width":440,"height":16.333328247070312},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":5,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":152.3333339691162,"width":408,"height":64.66667175292969},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":6,"parentIndex":3,"depth":2,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":0,"y":241,"width":440,"height":16.333343505859375},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":7,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":265.3333339691162,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":8,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":313.00000190734863,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>","identifier":"<identifier>"},
  {"index":9,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":360.66666984558105,"width":408,"height":46.66668701171875},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":10,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":408.3333339691162,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":11,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":456.0000057220459,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":12,"parentIndex":3,"depth":2,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":0,"y":526.6666564941406,"width":440,"height":16.33331298828125},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":13,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":550.9999904632568,"width":408,"height":46.66668701171875},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":14,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":598.6666584014893,"width":408,"height":46.6666259765625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":15,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":669.3333129882812,"width":408,"height":46.66668701171875},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":16,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":716.9999809265137,"width":408,"height":64.66668701171875},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":17,"parentIndex":3,"depth":2,"type":"Cell","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":16,"y":782.6666488647461,"width":408,"height":64.6666259765625},"enabled":true,"hittable":true,"kind":"cell","label":"<label>"},
  {"index":18,"parentIndex":3,"depth":2,"type":"Button","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":0,"y":871.3333129882812,"width":440,"height":16.3333740234375},"enabled":true,"hittable":true,"kind":"button","label":"<label>"},
  {"index":19,"parentIndex":0,"depth":1,"type":"Toolbar","role":"_UIFloatingBarContainerView","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"},
  {"index":20,"parentIndex":0,"depth":1,"type":"Toolbar","role":"_UIFloatingBarContainerView","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"},
  {"index":21,"parentIndex":0,"depth":1,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":24,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":22,"parentIndex":0,"depth":1,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":122,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":23,"parentIndex":0,"depth":1,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":220,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":24,"parentIndex":0,"depth":1,"type":"Other","role":"RCTViewComponentView","subrole":"UIView","rect":{"x":318,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":25,"parentIndex":0,"depth":1,"type":"Toolbar","role":"_UIFloatingBarContainerView","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"}
 ]
}
Raw XCTest snapshot (shape 1, before group pruning)
{
 "nodes": [
  {"index":0,"depth":0,"type":"Application","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":false,"kind":"application","label":"<label>"},
  {"index":1,"parentIndex":0,"depth":1,"type":"Window","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"window"},
  {"index":2,"parentIndex":1,"depth":2,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other"},
  {"index":3,"parentIndex":2,"depth":3,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other"},
  {"index":4,"parentIndex":3,"depth":4,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other"},
  {"index":5,"parentIndex":4,"depth":5,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other"},
  {"index":6,"parentIndex":5,"depth":6,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":7,"parentIndex":6,"depth":7,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":8,"parentIndex":7,"depth":8,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":9,"parentIndex":8,"depth":9,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":10,"parentIndex":9,"depth":10,"type":"Other","rect":{"width":440,"y":0,"height":956,"x":0},"enabled":true,"hittable":true,"kind":"other"},
  {"index":11,"parentIndex":9,"depth":10,"type":"Other","rect":{"height":2,"width":440,"x":0,"y":62},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":12,"parentIndex":11,"depth":11,"type":"Other","rect":{"y":62,"x":257,"width":154,"height":2},"enabled":true,"hittable":true,"kind":"other"},
  {"index":13,"parentIndex":9,"depth":10,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":14,"parentIndex":13,"depth":11,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":15,"parentIndex":14,"depth":12,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":16,"parentIndex":15,"depth":13,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":17,"parentIndex":16,"depth":14,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":18,"parentIndex":17,"depth":15,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":19,"parentIndex":18,"depth":16,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":20,"parentIndex":19,"depth":17,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":21,"parentIndex":20,"depth":18,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":22,"parentIndex":21,"depth":19,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":23,"parentIndex":22,"depth":20,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":24,"parentIndex":23,"depth":21,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":25,"parentIndex":24,"depth":22,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":26,"parentIndex":25,"depth":23,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":27,"parentIndex":26,"depth":24,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"Toolbar"},
  {"index":28,"parentIndex":27,"depth":25,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other"},
  {"index":29,"parentIndex":28,"depth":26,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other"},
  {"index":30,"parentIndex":29,"depth":27,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":31,"parentIndex":30,"depth":28,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":32,"parentIndex":31,"depth":29,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":954},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":33,"parentIndex":32,"depth":30,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":110},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":34,"parentIndex":33,"depth":31,"type":"Other","rect":{"x":0,"y":2,"width":440,"height":110},"enabled":true,"hittable":true,"kind":"other"},
  {"index":35,"parentIndex":33,"depth":31,"type":"StaticText","rect":{"x":16,"y":78,"width":58.333335876464844,"height":20.333335876464844},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":36,"parentIndex":35,"depth":32,"type":"StaticText","rect":{"x":16,"y":78,"width":58.333335876464844,"height":20.333335876464844},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":37,"parentIndex":32,"depth":30,"type":"Other","rect":{"x":0,"y":112,"width":440,"height":844},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":38,"parentIndex":37,"depth":31,"type":"ScrollView","rect":{"x":0,"y":112,"width":440,"height":844},"enabled":true,"hittable":true,"kind":"scroll-area","label":"<label>"},
  {"index":39,"parentIndex":38,"depth":32,"type":"Other","rect":{"x":0,"y":112,"width":440,"height":885.6666870117188},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":40,"parentIndex":39,"depth":33,"type":"Other","rect":{"x":0,"y":112,"width":440,"height":885.6666870117188},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":41,"parentIndex":40,"depth":34,"type":"Other","rect":{"x":0,"y":128,"width":440,"height":16.333328247070312},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":42,"parentIndex":40,"depth":34,"type":"Other","rect":{"x":16,"y":152.3333339691162,"width":408,"height":64.66667175292969},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":43,"parentIndex":42,"depth":35,"type":"Other","rect":{"x":16,"y":152.3333339691162,"width":408,"height":64.66667175292969},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":44,"parentIndex":40,"depth":34,"type":"Other","rect":{"x":0,"y":241,"width":440,"height":16.333343505859375},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":45,"parentIndex":40,"depth":34,"type":"Other","rect":{"x":16,"y":265.3333339691162,"width":408,"height":237.33331298828125},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":46,"parentIndex":45,"depth":35,"type":"Other","rect":{"x":16,"y":265.3333339691162,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":47,"parentIndex":45,"depth":35,"type":"Other","rect":{"x":16,"y":312.00000190734863,"width":408,"height":1},"enabled":true,"hittable":true,"kind":"other"},
  {"index":48,"parentIndex":45,"depth":35,"type":"Other","rect":{"x":16,"y":313.00000190734863,"width":408,"height":46.666656494140625},"enabled":true,"hittable":true,"kind":"other","label":"<label>","identifier":"<identifier>"},
  {"index":49,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":1,"y":359.66666984558105,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":50,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":46.66668701171875,"y":360.66666984558105,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":51,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":1,"y":407.3333339691162,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":52,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":46.666656494140625,"y":408.3333339691162,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":53,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":1,"y":455.0000057220459,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":54,"parentIndex":45,"depth":35,"type":"Other","rect":{"height":46.666656494140625,"y":456.0000057220459,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":55,"parentIndex":40,"depth":34,"type":"Other","rect":{"height":16.33331298828125,"y":526.6666564941406,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":56,"parentIndex":40,"depth":34,"type":"Other","rect":{"height":94.33331298828125,"y":550.9999904632568,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":57,"parentIndex":56,"depth":35,"type":"Other","rect":{"height":46.66668701171875,"y":550.9999904632568,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":58,"parentIndex":56,"depth":35,"type":"Other","rect":{"height":1,"y":597.6666584014893,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":59,"parentIndex":56,"depth":35,"type":"Other","rect":{"height":46.6666259765625,"y":598.6666584014893,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":60,"parentIndex":40,"depth":34,"type":"Other","rect":{"height":178,"y":669.3333129882812,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":61,"parentIndex":60,"depth":35,"type":"Other","rect":{"height":46.66668701171875,"y":669.3333129882812,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":62,"parentIndex":60,"depth":35,"type":"Other","rect":{"height":1,"y":715.9999809265137,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":63,"parentIndex":60,"depth":35,"type":"Other","rect":{"height":64.66668701171875,"y":716.9999809265137,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":64,"parentIndex":60,"depth":35,"type":"Other","rect":{"height":1,"y":781.6666488647461,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other"},
  {"index":65,"parentIndex":60,"depth":35,"type":"Other","rect":{"height":64.6666259765625,"y":782.6666488647461,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":66,"parentIndex":40,"depth":34,"type":"Button","rect":{"height":16.3333740234375,"y":871.3333129882812,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"button","label":"<label>"},
  {"index":67,"parentIndex":38,"depth":32,"type":"Other","rect":{"height":782,"y":112,"x":407,"width":30},"enabled":true,"hittable":true,"kind":"other","label":"<label>","value":"<value>"},
  {"index":68,"parentIndex":67,"depth":33,"type":"Other","rect":{"height":739.3333333333334,"y":115,"x":434,"width":3},"enabled":true,"hittable":true,"kind":"other"},
  {"index":69,"parentIndex":38,"depth":32,"type":"Other","rect":{"height":30,"y":923,"x":62,"width":316},"enabled":true,"hittable":true,"kind":"other","label":"<label>","value":"<value>"},
  {"index":70,"parentIndex":69,"depth":33,"type":"Other","rect":{"height":3,"y":950,"x":65,"width":310},"enabled":true,"hittable":true,"kind":"other"},
  {"index":71,"parentIndex":38,"depth":32,"type":"Other","rect":{"height":782,"y":112,"x":407,"width":30},"enabled":true,"hittable":true,"kind":"other","label":"<label>","value":"<value>"},
  {"index":72,"parentIndex":71,"depth":33,"type":"Other","rect":{"height":739.3333333333334,"y":115,"x":434,"width":3},"enabled":true,"hittable":true,"kind":"other"},
  {"index":73,"parentIndex":38,"depth":32,"type":"Other","rect":{"height":30,"y":923,"x":62,"width":316},"enabled":true,"hittable":true,"kind":"other","label":"<label>","value":"<value>"},
  {"index":74,"parentIndex":73,"depth":33,"type":"Other","rect":{"height":3,"y":950,"x":65,"width":310},"enabled":true,"hittable":true,"kind":"other"},
  {"index":75,"parentIndex":27,"depth":25,"type":"Toolbar","rect":{"height":954,"y":2,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"},
  {"index":76,"parentIndex":75,"depth":26,"type":"Other","rect":{"height":954,"y":2,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"other"},
  {"index":77,"parentIndex":21,"depth":19,"type":"Toolbar","rect":{"height":892,"y":64,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"},
  {"index":78,"parentIndex":77,"depth":20,"type":"Other","rect":{"height":892,"y":64,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"other"},
  {"index":79,"parentIndex":19,"depth":17,"type":"Other","rect":{"height":126,"y":830,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"other"},
  {"index":80,"parentIndex":19,"depth":17,"type":"Other","rect":{"height":94,"y":862,"x":0,"width":440},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":81,"parentIndex":80,"depth":18,"type":"Other","rect":{"height":60,"y":862,"x":16,"width":408},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":82,"parentIndex":81,"depth":19,"type":"Other","rect":{"height":44,"y":870,"x":24,"width":98},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":83,"parentIndex":82,"depth":20,"type":"Other","rect":{"x":51,"y":870,"width":44,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":84,"parentIndex":83,"depth":21,"type":"StaticText","rect":{"x":60.666666984558105,"y":879.6666669845581,"width":24.333332061767578,"height":24.6666259765625},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":85,"parentIndex":84,"depth":22,"type":"StaticText","rect":{"x":60.666666984558105,"y":879.6666669845581,"width":24.333332061767578,"height":24.6666259765625},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":86,"parentIndex":81,"depth":19,"type":"Other","rect":{"x":122,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":87,"parentIndex":81,"depth":19,"type":"Other","rect":{"x":220,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":88,"parentIndex":81,"depth":19,"type":"Other","rect":{"x":318,"y":870,"width":98,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":89,"parentIndex":88,"depth":20,"type":"Other","rect":{"x":345,"y":870,"width":44,"height":44},"enabled":true,"hittable":true,"kind":"other","label":"<label>"},
  {"index":90,"parentIndex":89,"depth":21,"type":"StaticText","rect":{"x":354.6666669845581,"y":879.6666669845581,"width":24.333343505859375,"height":24.6666259765625},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":91,"parentIndex":90,"depth":22,"type":"StaticText","rect":{"x":354.6666669845581,"y":879.6666669845581,"width":24.333343505859375,"height":24.6666259765625},"enabled":true,"hittable":true,"kind":"text","label":"<label>"},
  {"index":92,"parentIndex":14,"depth":12,"type":"Toolbar","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"toolbar","label":"Toolbar","identifier":"Toolbar"},
  {"index":93,"parentIndex":92,"depth":13,"type":"Other","rect":{"x":0,"y":64,"width":440,"height":892},"enabled":true,"hittable":true,"kind":"other"},
  {"index":94,"parentIndex":0,"depth":1,"type":"Window","rect":{"x":0,"y":0,"width":440,"height":956},"enabled":true,"hittable":true,"kind":"window"},
  {"index":95,"parentIndex":94,"depth":2,"type":"Other","rect":{"x":0,"y":0,"width":440,"height":956},"enabled":true,"hittable":true,"kind":"other"},
  {"index":96,"parentIndex":95,"depth":3,"type":"Other","rect":{"x":0,"y":0,"width":440,"height":956},"enabled":true,"hittable":true,"kind":"other"}
 ]
}
Langage dominant
TypeScript
Étoiles
5.1k
Forks
339
Merge moyen
11 h 59 min
PR mergées (30 j)
736

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de callstack/agent-device

Toutes les issues de callstack/agent-device

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.