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

Resolve one semantic role vocabulary for snapshot kind

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
android, ios, typescript

调研方向

Start with formatRole and attachRefs in packages/kernel/src/snapshot.ts, then inspect presenter and selector consumers and the integration role maps in tester-army/e2e nodes.ts. Read the existing snapshot-lines-kind-conformance.test.ts and role contracts; completion requires a role golden table under contracts/fixtures/, representative iOS and Android live controls, and decisions on vocabulary and kind= selector migration.

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

描述

enhancement needs-triage

Purpose

Snapshot kind is formatRole(type) (packages/kernel/src/snapshot.ts:771), a lowercase class leaf for unmapped types (:467). It ignores heading/roleDescription, and many common controls fall through:

Raw type kind Expected
SecureTextField securetextfield a text field
android.widget.RadioButton radiobutton radio (web already gives radio)
SwitchCompat switchcompat switch
SeekBar seekbar slider (iOS already gives slider)
ReactEditText, TextInputEditText class leaf a text field
MaterialButton class leaf a button
BottomNavigationItemView, TabLayout$TabView class leaf a tab

Integrations keep their own role maps (tester-army/e2e nodes.ts:45-94,187-228,265-300,418).

Required behavior

  • Node-aware role resolution beside formatRole/attachRefs, using class, state, description, and ancestry. A string map alone cannot identify iOS tab children.
  • Presenter and selector consumers updated together.
  • Android and iOS TextView stay distinct.

Open decisions (needed before implementation)

  • Presenter vocabulary versus browser-style roles.
  • Migration semantics for existing kind= selectors.

Completion

Extend snapshot-lines-kind-conformance.test.ts and add a role golden table under contracts/fixtures/. Live: representative iOS and Android controls.

Lands after #3524 and #3527.

主要语言
TypeScript
星标
4.9k
派生
328
平均合并
11 小时 49 分钟
30 天内合并 PR
585

环境准备

  • 没有 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 摘要。