mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-31 16:33:34 +08:00
Independent QA marked three checks `not run` because they needed a human at the keyboard. Each covers behavior this refactor changed, so they are now assertions instead of intentions. `A11Y-01` — a full keyboard tab-order audit. These components back roughly 500 controls, so a decoration that picks up a tab stop or a control that loses one would spread everywhere before anyone noticed. `keyboard.test.tsx` fixes the property they must all share: interactive components expose an exact number of tab stops, decorative ones expose none, `disabled` and `loading` leave the sequence, a segmented control stays one stop at any size, and every reachable control shows a focus indicator. That last check has two valid shapes, which the first version got wrong: most controls style themselves, but `Switch` hides its native checkbox under `peer sr-only` and paints the ring on the track beside it. Checking only the focused node reported a missing indicator on a control that draws one. `ATT-02` — the image lightbox. Its arrows were icon-only with hardcoded English before this branch; the existing suite only counted overlay registrations. Now covers naming, wrap-around in both directions, arrow keys, that the arrows disappear for a single image, and that keys stop firing once closed. `SEARCH-02` — stepping through find-in-page matches. `FindInPageModal` had no `useTranslation` at all; its three controls are icon-only, so a missing name leaves them unreachable by screen reader. Now covers naming, the disabled state before a query matches, forward and backward wrap, and close. `CHAT-05` (queued message edit/delete) needed nothing — `ChatInput.test.tsx` already covers it; QA had only skipped it by hand. Each guard was verified by breaking the thing it protects: a `tabIndex` on `Badge` fails the decorative check, and reverting the focus fix fails the indicator check. Changed-lines coverage 91.32%.
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64, MSI only)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录,文件名会显式包含平台、架构和包类型。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app