Skip to content

Quality pass: UI views & components#91

Merged
dhilgaertner merged 3 commits intomainfrom
feature/crow-73-quality-pass-ui
Apr 6, 2026
Merged

Quality pass: UI views & components#91
dhilgaertner merged 3 commits intomainfrom
feature/crow-73-quality-pass-ui

Conversation

@dhilgaertner
Copy link
Copy Markdown
Contributor

@dhilgaertner dhilgaertner commented Apr 5, 2026

Summary

  • Extract shared components (BrandmarkImage, SearchField, CapsuleBadge, status color/icon extensions) to eliminate code duplication across 10 UI files
  • Fix StatusBadge "Inreview" display bug and PRStatusDetail brace nesting issue
  • Add accessibility labels to all icon-only buttons, status indicators, and badges
  • Add duplicate workspace name validation in settings and setup wizard
  • Log delete-session errors instead of silently swallowing
  • Add 17 unit tests for shared logic (WorktreeClassification, status mappings, branch shortening, message builders)

Closes #73

Test plan

  • make build compiles without errors
  • swift test in Packages/CrowUI — 17 tests pass
  • swift test in Packages/CrowCore — 3 existing tests still pass
  • Launch app, verify sidebar session rows render correctly
  • Verify ticket board pipeline segments display correct colors
  • Verify StatusBadge shows "In Review" (not "Inreview")
  • Verify PR badges show correct icons in session detail header
  • Verify delete session alert shows proper messages for worktree/no-worktree cases
  • Verify duplicate workspace name shows inline error in Settings and Setup Wizard
  • VoiceOver: tab through sidebar buttons and verify labels are announced

🤖 Generated with Claude Code

@dhilgaertner dhilgaertner requested a review from dgershman as a code owner April 5, 2026 22:25
dhilgaertner and others added 3 commits April 5, 2026 21:23
Refactor CrowUI package to eliminate code duplication, add accessibility
support, improve consistency, and establish test coverage.

- Extract shared components: BrandmarkImage, SearchField, CapsuleBadge,
  shortenBranch(), TicketStatus.color, SessionStatus.displayName,
  PRStatus check/review icon/color/label extensions, CorveilTheme.bgDone
- Fix StatusBadge rendering "Inreview" instead of "In Review"
- Fix PRStatusDetail brace nesting bug
- Add accessibility labels to all icon-only buttons and status indicators
- Add doc comments to all key internal components
- Log delete-session errors instead of silently swallowing with try?
- Add duplicate workspace name validation in settings and setup wizard
- Add 17 unit tests covering shared logic and message builders

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Consolidate test and build jobs into a single build-and-test job that
dynamically discovers and runs tests for all packages with a Tests/
directory. This ensures CrowUI tests (and any future package tests)
run in CI with full dependencies available.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update the test job to discover and run tests for all packages with a
Tests/ directory, instead of only CrowCore. The test job now includes
Ghostty framework setup (needed by CrowUI's dependency on CrowTerminal).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dhilgaertner dhilgaertner force-pushed the feature/crow-73-quality-pass-ui branch from db11f90 to f3fd340 Compare April 6, 2026 02:26
@dhilgaertner dhilgaertner merged commit ff994e9 into main Apr 6, 2026
2 checks passed
@dhilgaertner dhilgaertner deleted the feature/crow-73-quality-pass-ui branch April 6, 2026 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quality Pass: UI Views & Components

1 participant