๐ Major New Features
Auto-Assign Enhancement
- โจ Flexible scope selection for auto-assigning sessions to projects
- ๐ Custom date range support for targeted historical session organization
- ๐ฏ Today/All/Custom options with intuitive picker interface
- ๐ Real-time progress feedback during batch assignment operations
- ๐จ Modal sheet interface replacing simple button trigger for better UX
Local Development Support
- ๐ ๏ธ New
make runtarget for quick local debug builds (native arch, inferred version) - ๐ง Enhanced Makefile with
VERvariable for version specification - โ๏ธ SWIFT_CONFIG variable support to control build configuration
- ๐ SIGN_ADHOC option for ad-hoc signing during local runs without Developer ID certificates
- ๐ฆ Separate entitlements file (
CodMate-Notify.entitlements) for fine-grained permission control
Window Management Improvements
- ๐ช Single window enforcement by replacing WindowGroup with Window singleton
- ๐ฏ Unified window activation logic centralized in MenuBarController
- ๐ Optimized window restoration with visibility and identifier-based detection
- ๐ก๏ธ Prevented duplicate windows and inconsistent behavior
- ๐จ Unified toolbar style to prevent KVO issues with Window singleton
๐จ UI/UX Improvements
Project Overview Enhancements
- ๐ Loading state tracking with
isLoadingandhasLoadedOnceflags - ๐ Fallback filtering logic when scope filters yield empty results but counts indicate data
- ๐จ OverviewChartPlaceholder for better loading UX during initial data fetch
- ๐ Improved empty state layout in OverviewActivityChart
- โก Better state synchronization to prevent empty states during initial load
Usage Status Auto-Refresh
- ๐ Automatic usage refresh on view appearance for Codex and third-party providers
- โก Auto-refresh on snapshot changes to ensure up-to-date usage information
- ๐ฏ Smart refresh logic that only triggers when snapshot is not ready
- ๐ Usage status control improvements with better refresh timing
Visual Fixes
- ๐ Fixed Codex icon dark mode inversion to only apply when icon has no white background
- ๐จ Consistent icon appearance for running sessions in dark mode
- ๐ง Improved visibility by preventing incorrect inversion logic
๐ง Technical Improvements
Code Quality & Robustness
- ๐ Fixed loading state race condition in ProjectOverviewViewModel
- ๐ก๏ธ Removed unsafe force unwrap on Calendar.date(byAdding:to:) operations
- ๐ Early state synchronization by setting
hasLoadedOncebefore snapshot completion - ๐ Improved code formatting with better line breaks, parameter alignment, and consistent spacing
- ๐งน Enhanced error handling with defensive fallbacks for calendar operations
Build System
- ๐ฆ Added 'artifacts' to Package.swift exclude list to prevent unnecessary package scans
- ๐ Documented 'make run' command in README.md for local development
- ๐ง Improved build script flexibility with better configuration options
๐ Change Statistics
- Files Changed: 15 files
- Code Changes: +654 / -227 lines (net: +427 lines)
- Major Additions: AutoAssignSheet component, Makefile run target, loading state management
- Major Improvements: Window management, usage auto-refresh, project overview UX
Upgrade Recommendation: This release focuses on improving developer experience with better local development support and enhanced auto-assign functionality. The new make run target simplifies local testing workflows. Window management improvements ensure a more consistent single-window experience. Users will benefit from automatic usage status refresh and better loading states in project overview.