Architecture Refactor + Bug Fixes
Bug fix:
- Ports from dev servers in
~/Desktop,~/Documents,~/Downloadsare now correctly detected
Architecture:
- Codebase split into 7 focused files (was 1 monolithic file)
- Migrated to Swift 6 with
@Observable, async/await, structured concurrency - Port scanning via protocol with dependency injection
- Thread-safe git root + branch caching
- 27 unit tests
New:
- Error state UI with retry button
- Sleep/wake lifecycle handling (polling pauses during sleep)
- Spinning icon in empty state
Requires macOS 14 (Sonoma) or later.