iOS alert resolution reads every element of the app window when a popover is found
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 64/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- swift
调研方向
Start in RunnerTests+Alert.swift around the resolution root and preferredAlertTitle, then inspect actionableElements in RunnerTests+SystemModal.swift and compare the no-alert fix from #2901. Bound the XCTest queries under the popover or dimming region and check the deadline between reads. Add a popover-over-long-list regression fixture and verify the command finishes within its budget.
由索引模型根据 Issue 内容生成。
描述
Problem
Alert handling in the iOS runner reads per element over a whole app window, with no deadline check, when a popover is found. #2901 fixed the no-alert case (firstDismissPopupWindow now uses one predicate query). The same cost remains when a popover is present:
- the resolution root becomes the whole app window (
RunnerTests+Alert.swift~47-48); actionableElements(RunnerTests+SystemModal.swift~121-143) makes about 5 XCTest reads for each button, cell and link;preferredAlertTitle(RunnerTests+Alert.swift~219) walks every descendant.
A popover over a list with many rows can therefore overrun the command watchdog and keep the runner busy. The synchronous XCTest work continues after the watchdog answers the client, so later commands get RUNNER_BUSY. This is the same wedge #2901 fixed for the no-alert path.
Required behavior
Alert resolution makes a bounded number of XCTest reads, whatever the screen size: query under the dimming or popover region, use predicates instead of walks, and check the command deadline between reads. Add a regression fixture with a popover over a long list, and assert the command finishes well within its budget.
Found in the adversarial review of #2901.
- 主要语言
- TypeScript
- 星标
- 5.1k
- 派生
- 339
- 平均合并
- 12 小时 50 分钟
- 30 天内合并 PR
- 632
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
callstack/agent-device 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 64/100
callstack/agent-device#3945 ·
维护者通常 1 天内回复
-
Limrun iOS fill reports success but drops non-ASCII text可能已有人在做 @mvanhorn 于 5 天前认领。 未关闭bug ready-for-agent
难度 2/5 1-3 小时 新手友好度 87/100
callstack/agent-device#3819 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
callstack/agent-device#1869 ·
维护者通常 1 天内回复
-
iOS keyboard capture can race dismissal and omit the input assistant bar可能已有人在做 @shamilovtim 于 1 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 51/100
callstack/agent-device#3957 ·
维护者通常 1 天内回复
-
iOS fill can report TEXT_ENTRY_MISMATCH before the confirmation deadline可能已有人在做 @shamilovtim 于 1 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 35/100
callstack/agent-device#3952 ·
维护者通常 1 天内回复
查看 callstack/agent-device 的全部 Issue
相似的 Issue
-
ready
难度 2/5 1-3 小时 新手友好度 63/100
wheresrhys/totf#1214 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
CodeChefVIT/ffcs#281 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 83/100
endora-commerce/endora-commerce#451 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 65/100
vetro-protocol/vetro-monorepo#1007 ·
维护者通常 1 天内回复