Limrun iOS: the iOS 26 tab bar is one empty node, its tabs are missing from the snapshot
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- ios, react-native, typescript
Direção de pesquisa
Read ios-snapshot-adapter.js and trace captureLimrunIosSnapshot, then compare its Limrun tree handling with collapsedTabFallbackNodes and shouldExpandCollapsedTabContainer in RunnerTests+SnapshotAcquisition.swift. Reproduce the collapsed group tab bar on iOS 26 and determine whether Limrun’s elementTree exposes enough information to resolve its tabs. Done means the Limrun snapshot includes separately accessible tab nodes, matching the simulator behavior.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What happens
On a Limrun iOS instance, an iOS 26 UITabBar comes out of snapshot as one empty node. None of its tabs appear anywhere in the tree, so getByText("Notes") / press by label never finds a tab, and agents fall back to raw coordinates.
The same app on a local iOS 26.4 simulator, read through agent-device's own XCUITest runner, lists every tab.
Versions
- agent-device 0.21.22. The Limrun path in 0.21.32 still reads
client.elementTree()with no tab-bar handling. - e2e 0.18.0 / @e2e-dev/mobile 0.10.0
- iOS 26.4. Limrun instance:
os-version/26.4, viewport 402×874. - App: Expo SDK 57, tabs from
expo-router/unstable-native-tabs(a nativeUITabBarController), four tabs plus arole="search"tab.
Limrun (producer: limrun-ios-tree)
#root screen
#n5763 application "Notez-Test"
#n5764 generic-element "Notez, Get Pro, Search, Settings"
...
#n5775 generic-element "Start Recording"
#n5776 group "Tab Bar"
#n5777 text "07:17"
Local simulator, same build (agent-device open … --platform ios)
@e11 [tab-bar] "Tab Bar"
@e12 [button] "Home"
@e13 [button] "Notes" [selected]
@e14 [button] "Calendar"
@e15 [button] "AI Chat"
@e16 [button] "Create Note"
The simulator's accessibility service also lists the five tabs as separate buttons inside the bar's frame.
Where it seems to come from
ios-snapshot-adapter.js(captureLimrunIosSnapshot) builds the snapshot straight from Limrun'selementTree.- The Apple runner already handles a tab bar whose snapshot has no children:
collapsedTabFallbackNodes/shouldExpandCollapsedTabContainerinRunnerTests+SnapshotAcquisition.swift. - That handling never runs on the Limrun path. Limrun's tree also gives the bar type
group, not tab bar.
Ask
Either of these would fix it:
- Resolve the tabs on the Limrun path too, as the runner does for a collapsed tab container.
- If the gap is in Limrun's
elementTreeitself, raise it with Limrun.
Until then, tabs on Limrun can only be reached by coordinates.
- Linguagem predominante
- TypeScript
- Estrelas
- 5.2k
- Forks
- 359
- Merge médio
- 12h 43min
- PRs com merge (30d)
- 666
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstack/agent-device
-
bug ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
callstack/agent-device#4018 ·
Mantenedores costumam responder em até 1 dia
-
Limrun iOS fill reports success but drops non-ASCII textTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 87/100
callstack/agent-device#3819 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/agent-device#1869 ·
Mantenedores costumam responder em até 1 dia
-
iOS simulator: snapshot drops controls nested deeper than 64 accessibility levelsTalvez já em andamento @KrzysztofMoch assumiu há 1 dia. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
callstack/agent-device#4088 ·
Mantenedores costumam responder em até 1 dia
-
needs-info
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
callstack/agent-device#4086 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de callstack/agent-device
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
components-web-app/docs#307 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
localstack/localstack-mcp-server#112 ·
Mantenedores costumam responder em até 1 dia
-
area:frontend kind:bug priority:p1 ready
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
bug ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
PhyberApex/kuroshiro#1687 ·
Mantenedores costumam responder em até 1 dia
-
Performance (Web Vitals) collector: LCP/FCP from background tabs are not discarded, inflating p75Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
umami-software/umami#4720 ·
Mantenedores costumam responder em até 3 dias