Tags: loocor/codmate
Tags
refactor(ui): unify settings experience and optimize interactions - Replace UnifiedProviderPickerView with SimpleProviderPicker in Codex and Claude settings - Remove model override editors from Codex (use catalog defaults) - Simplify Claude model mapping sheet with provider context - Migrate remaining icon views to use unified theme helper - Update menu bar provider selection to use simplified two-option picker - Fix spacing in settings Grid layouts (12pt -> 4pt vertical) - Update AGENTS.md with provider icon theme handling guidelines - Improve consistency across all settings pages and UI components
fix(ui): improve session list item spacing and text truncation - Add text truncation (.tail) to session titles to prevent overflow - Add right padding (32pt) to prevent title/icon overlap - Add 8pt left padding to right-side icons for consistent spacing - Ensures proper visual separation between title text and trailing icons
feat(makefile): add zip target for creating zip archives from DMG files - Introduce a new 'zip' target to create zip archives from generated DMG files. - Implement error handling for missing version and output directory. - Ensure DMG files exist before attempting to create zip archives. - Provide feedback during the zip creation process.
feat: add provider icons and system icons to menus, improve UI consis… …tency - Add provider asset icons (ChatGPT/Claude/Gemini) to menu items in ProjectsListView - Add system icons (terminal, network) to menu submenus - Fix sticky header interaction in ConversationTimelineView (move gesture handlers to inner content) - Improve menu item consistency with assetImage parameter support
docs: add comprehensive feature inventory documentation What: - Introduced a new `feature-inventory.md` file detailing the features of CodMate. - Organized features into categories with corresponding code evidence for traceability. - Included sections on coverage methodology, value/advantage mapping, and use case scenarios. Why: - Provides a structured reference for developers and stakeholders to understand the capabilities of CodMate. - Facilitates future feature synthesis and marketing efforts by mapping features to user value. Where: - Added `docs/feature-inventory.md`: Comprehensive documentation of features and their implementations.
feat: improve UX with notification URL handling and Codex config sync What: - Suppress window activation when handling codmate://notify URLs - Add 1-second delay before resetting activation suppression flag - Read sandbox_mode and approval_policy defaults from ~/.codex/config.toml - Prefer Codex CLI config values over CodMate preferences when available - Implement simple TOML parser for top-level key-value pairs - Improve code formatting in UsageProviderSnapshot Why: - Notification URLs should not interrupt user workflow by activating windows - Codex CLI config should be source of truth for sandbox/approval defaults - Keeping CodMate in sync with Codex settings reduces configuration confusion - Simple TOML parsing avoids external dependencies for basic config reading Where: - CodMateApp.swift: Notification URL activation suppression logic - services/SessionPreferencesStore.swift: Codex config.toml reading and preference sync - models/UsageProviderSnapshot.swift: Code formatting improvements
fix: resolve loading state race condition and remove unsafe force unwrap What: - Fix loading state binding race condition in ProjectOverviewViewModel - Set hasLoadedOnce early in scheduleSnapshotRefresh to enable proper state sync - Remove force unwrap on Calendar.date(byAdding:to:) in AutoAssignSheet - Add defensive fallback when calendar operation fails Why: - Previous logic kept isLoading=true during initial load even when parent finished loading - hasLoadedOnce was only set after snapshot completion, preventing state synchronization - Force unwrapping calendar operations is unsafe, though edge cases are rare - Graceful degradation improves robustness Where: - models/ProjectOverviewViewModel.swift: Loading state synchronization logic - views/AutoAssignSheet.swift: Calendar operation error handling
chaos: add notices generation and update documentation Changes: - Introduced a new `make notices` command to regenerate `THIRD-PARTY-NOTICES.md` from resolved dependencies. - Added a Python script (`gen-third-party-notices.py`) to automate the generation of the notices file. - Updated `Makefile` to include the new `notices` target. - Enhanced `README.md` and `BUILD.md` to document the new notices generation process and its purpose. - Improved the structure and content of `THIRD-PARTY-NOTICES.md` to include detailed license information for dependencies.
PreviousNext