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

Infrastructure: Restore Windows Storybook focus-regression parity

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

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

调研方向

Start with packages/agentic/components/src/components/button/button.stories.tsx, packages/agentic/components/src/common/desktopFocus.wdio.ts, and the executable-test contract in packages/agentic/storybook-desktop/README.md. Compare the retired coverage from PR #4208 with current generated story IDs and native testIDs, then verify the named focus-survival, visibility, status, CI, and artifact requirements on an unlocked Windows Fabric lane without restoring Appium or the retired Jest harness.

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

描述

Goal

Restore the complete regression coverage from the retired Windows Jest Storybook harness through the supported native Storybook/WDIO path. Parent: #4275. Follow-up to the completed retirement milestone #4254.

Status - 2026-10-01

Open; retirement is complete, regression parity is not. PR #4294 removed the legacy harness. PRs #4306, #4313, #4314, and #4320 delivered native providers, executable story tests, modern focus behavior, and FocusZone regressions.

The current catalog has 29 named WDIO cases across 17 stories, including Button, Switch, Input, TabList, and FocusZone focus behavior. Those newer tests are valuable but do not recreate the original ten delayed focus-survival cases. The current story callbacks/helpers contain no original three-second post-activation survival cohort.

Required historical coverage

The load-bearing regression from PR #4208 was a delayed 0xc0000409 application termination after focus acquisition. Preserve a minimum three-second post-activation observation, native focus confirmation, and terminal app-crash detection for each original consumer:

Consumer Required regression
Tag Focus acquisition and delayed survival
Accordion Header focus acquisition and delayed survival
Tab Selected-tab focus acquisition and delayed survival
ListboxItem Focus acquisition and delayed survival
Checkbox Focus acquisition and delayed survival
MenuItem Selected-item focus acquisition and delayed survival
ListItem Selected-item focus acquisition and delayed survival
Radio Focus acquisition and delayed survival
Switch Focus acquisition and delayed survival
Card Interactive-card focus acquisition and delayed survival
Button Real Tab movement from one enabled button to the next

Also reconcile the original Button/Icon/Callout visibility and Callout native-window status checks with the replacement coverage. Use generated current story IDs and stable native testIDs, not the obsolete IDs/XPath selectors from the removed harness.

Acceptance criteria

  • Each of the ten delayed cases is authored as a named, typed, component-colocated WDIO case and retains the three-second regression window.
  • The Button real-Tab movement case and original visibility/status assertions have active replacement coverage.
  • The tests verify native focus and application survival, not only JavaScript state or immediate renderability. Crashes during the observation window terminate the run as failures.
  • Real pointer activation is qualified on an unlocked interactive Windows Fabric endpoint. Programmatic focus can supplement, but must not be mislabeled as a physical-click regression pass.
  • All required cases execute in an active Windows Fabric CI lane, unquarantined, with actual pass evidence. Hosted keyboard/pointer skips do not establish parity.
  • Accordion's currently excluded Fabric module has a safe, documented native test path; exclusions are not silently counted as coverage.
  • Changes to FocusVisual or its consumers trigger/review this cohort, and run artifacts identify each executed/skipped case and exact app/helper/manifest identity.
  • Ownership-safe teardown, process/input recovery, documentation, and relevant package checks remain intact. Do not restore Appium or the retired Jest harness.

Evidence and coordination

主要语言
TypeScript
星标
1.4k
派生
179
平均合并
2 天 9 小时
30 天内合并 PR
30

环境准备

从这里开始

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

microsoft/fluentui-react-native 的其他 Issue

查看 microsoft/fluentui-react-native 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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