Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

find focus/type dispatch: close its waived interaction guarantees (offscreen, parentOwnedTouchPoint, nonHittable, targetStability)

未关闭
#3,734 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
30/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript
领域
testing-qa

调研方向

Start with the find-focus-dispatch row in packages/contracts/src/interaction-guarantees.ts and the cases in interaction-guarantees.test.ts, then read ADR 0011 for what a gap waiver must cite. Trace the focus/type dispatch seam to see where it uses centerOfRect instead of resolveInteractionTouchPoint, and where it skips the hittable and ref-stability checks the other paths run. Done means each of the four cells is classified as runtime, runner or delegated with a via that names the shared implementation, and each change has a red/green regression. Wait for #3727 to land before starting.

由索引模型根据 Issue 内容生成。

描述

enhancement ready-for-agent

Purpose

#3727 classifies the find <locator> focus / find <locator> type dispatch path as find-focus-dispatch in packages/contracts/src/interaction-guarantees.ts. Four of its cells are gap: waivers. ADR 0011 requires every gap waiver to cite an open tracking issue; this issue owns those four. (outcomeObservation is owned by #3335.)

Required behavior, per cell

  • offscreen: a focus/type match whose target is off screen is refused with a typed reason, or scrolled into view by the shared rule. It is not dispatched at an off-screen point.
  • parentOwnedTouchPoint: the seam aims at the point resolveInteractionTouchPoint chooses, not centerOfRect of the resolved node, so a center tiled by an independent child is not tapped.
  • nonHittable: a non-hittable match is either promoted with the targetHittable / hint annotation the other paths emit, or refused.
  • targetStability: the target is re-confirmed (or the ref frame checked) between capture and dispatch, the same way the other paths do it.

Completion

Each cell moves from waived to an enforced classification (runtime / runner / delegated) whose via names the shared implementation. interaction-guarantees.test.ts passes, and each change carries a red/green regression. Cells can close in separate PRs; close this issue when none remain waived.

Blocked by: #3727 (introduces the row).

主要语言
TypeScript
星标
5.2k
派生
359
平均合并
12 小时 54 分钟
30 天内合并 PR
637

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

callstack/agent-device 的其他 Issue

查看 callstack/agent-device 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。