Infrastructure: Restore Windows Storybook focus-regression parity
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- react-native, storybook, typescript
- Lĩnh vực
- desktop-dev, testing-qa
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Original regression: PR #4208, commit
4777e54fee2eab72af36d3bfac58e618ed0ad634. - Current Button tests
- Shared native focus helpers
- Current authored-test contract
- Coordinate authoritative input/CI qualification with #4349, native catalog exclusions with #4344, and accessibility/native-state coverage with #4343/#4346.
- Ngôn ngữ chính
- TypeScript
- Star
- 1.4k
- Fork
- 179
- Merge trung bình
- 2 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 30
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/fluentui-react-native
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/fluentui-react-native#4174 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
microsoft/fluentui-react-native#4343 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
microsoft/fluentui-react-native#4344 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
microsoft/fluentui-react-native#4345 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
microsoft/fluentui-react-native#4346 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của microsoft/fluentui-react-native
Issue tương tự
-
bug DUP Reservations
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
bcgov/reserve-rec-public#952 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
daufderheide/racecoordinator_ai#948 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug pulumi/pulumi
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
api bug claude
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
diegosouzapw/OmniRoute#15764 ·
Maintainer thường phản hồi trong vòng 2 ngày