github loocor/codmate 0.5.6

latest releases: 0.5.9, 0.5.8, 0.5.7...
3 months ago
CleanShot 2025-12-28 at 17 03 13

๐Ÿš€ Major New Features

Terminal Session Management Overhaul

  • โœจ Decoupled terminal sessions architecture with new HeadlessTerminalSession class
  • ๐ŸŽฏ Fast session switching by decoupling terminal sessions from views for improved performance
  • ๐Ÿ“Š Active terminal sessions control with toolbar button and popover showing running session count
  • ๐Ÿ”„ Enhanced session lifecycle management with proper start/stop tracking and state synchronization
  • ๐Ÿ›ก๏ธ Race condition prevention with recentlyStopped mechanism to avoid session resurrection issues
  • ๐Ÿ“ˆ Improved scrollback management with dynamic pin/unpin support and aggressive memory optimization for background sessions
  • ๐Ÿ’พ Optimized data flushing with chunked processing and typing-aware flush windows for better responsiveness

Dock File Handling

  • ๐Ÿ“ Folder drag-and-drop support - drop folders onto Dock icon to create new projects
  • ๐ŸŽฏ DockOpenCoordinator for managing new project requests from Dock operations
  • ๐Ÿ“‹ Enhanced Info.plist with CFBundleDocumentTypes support for folder document types
  • ๐Ÿ”— Improved session resumption logic to accommodate embedded terminal preferences from Dock launches

Menu Icon System Infrastructure

  • ๐ŸŽจ Core menu icon support with asset images and system images
  • ๐ŸŒ“ Dark mode inversion support for ChatGPTIcon and other provider icons
  • ๐Ÿ“ Standardized 14x14pt icon size for consistent menu item appearance
  • ๐Ÿ”ง Extended SplitMenuItem.Kind to accept systemImage and assetImage parameters
  • ๐ŸŽฏ Provider icons in menus - ChatGPT, Claude, and Gemini icons now appear in menu items

Terminal Selection Enhancements

  • ๐Ÿ”„ Menu-based terminal selection for Resume operations (embedded vs external terminal profiles)
  • ๐ŸŽฏ Embedded terminal integration in Resume and New Session menus when available
  • โš™๏ธ Terminal profile support for task context session launches
  • ๐Ÿ“‹ Enhanced menu items with terminal selection options in TaskListView and SessionListColumnView

๐ŸŽจ UI/UX Improvements

Menu Bar Enhancements

  • ๐ŸŽจ Dynamic icon updates based on usage data and menu state
  • ๐ŸŒ“ Appearance observation to regenerate menu bar icon when system appearance changes (including wallpaper-based tinting)
  • ๐Ÿ”„ Real-time menu updates when menu is open to reflect current usage data
  • ๐ŸŽฏ Improved icon rendering with adaptive colors (white/black) based on menu bar button appearance
  • ๐Ÿ“ˆ Enhanced Retina rendering with 4x/6x scale for better anti-aliasing
  • ๐Ÿ”„ Refreshable usage items with clickable refresh action in menu

Conversation Timeline

  • ๐ŸŽฏ Improved sticky header interaction by moving gesture handlers to inner content
  • ๐Ÿ“ Better tap area and visual indication for expand/collapse state
  • ๐Ÿ–ฑ๏ธ Enhanced hover effects with proper content shape for better interaction

Task List View

  • ๐ŸŽจ Enhanced context menus with icons and improved organization
  • ๐Ÿ”„ Menu-based session creation with terminal selection options
  • ๐Ÿ“‹ Improved "Collaborate with" menu with provider icons and terminal profile selection
  • ๐ŸŽฏ Better menu item labels with system icons for consistency

Active Terminal Sessions Control

  • ๐Ÿ“Š Toolbar button displaying active session count with badge
  • ๐Ÿ” Popover interface for quick access to running terminal sessions
  • ๐Ÿ”„ Real-time updates via notifications and polling (1.5s interval)
  • ๐ŸŽฏ Session list showing terminal keys and start times

Split Controls

  • ๐ŸŽจ Enhanced menu rendering with icon support
  • ๐Ÿ”ง Improved menu item consistency across the application

๐Ÿ”ง Technical Improvements

Architecture

  • ๐Ÿ—๏ธ HeadlessTerminalSession for decoupled terminal session management
  • ๐ŸŽ›๏ธ TerminalSessionManager refactoring from view-based to session-based architecture
  • ๐Ÿ“ฆ DockOpenCoordinator for centralized Dock file/folder handling
  • ๐Ÿ”„ Notification-based state synchronization for terminal sessions updates
  • ๐Ÿ“Š Active sessions query API with getActiveSessions() and getActiveSessionsCount() methods

Performance Optimizations

  • โšก Optimized scrollback management with dynamic size adjustment (1,000 lines minimum for background, restored to target when attached)
  • ๐Ÿ’พ Memory optimization by aggressively shrinking scrollback for background sessions
  • ๐Ÿ”„ Improved data flushing with chunked processing (8KB max drain, 12 chunks max)
  • โฑ๏ธ Typing-aware flush windows (80ms) for better responsiveness during user input
  • ๐Ÿš€ Faster session switching by keeping sessions alive when not visible

Code Quality

  • ๐Ÿงน Removed view dependencies from TerminalSessionManager
  • ๐Ÿ“ Improved error handling and state management
  • ๐Ÿ” Enhanced logging for terminal session lifecycle events
  • ๐Ÿ›ก๏ธ Thread safety improvements with @MainActor annotations for Dock handlers

๐Ÿ› Bug Fixes

Terminal Session Management

  • ๐Ÿ”ง Fixed session resurrection race condition preventing immediate restart of stopped sessions
  • ๐ŸŽฏ Improved terminal display priority to show focused session's terminal first
  • ๐Ÿ”„ Fixed visibleTerminalKeyInDetail() to correctly identify active terminal
  • ๐Ÿ›ก๏ธ Enhanced stopEmbedded() to support both session ID and terminal key

UI Fixes

  • ๐ŸŽฏ Fixed sticky header gesture handling in ConversationTimelineView
  • ๐Ÿ–ฑ๏ธ Improved hover interaction with proper content shape
  • ๐ŸŒ“ Fixed dark mode visibility for menu bar icons with appearance-based color adaptation

Thread Safety

  • ๐Ÿ›ก๏ธ Added @mainactor to dock folder drop handlers for thread safety when handling drag-and-drop operations

๐Ÿ“Š Change Statistics

  • Files Changed: 25 files
  • Code Changes: +2,083 / -573 lines (net: +1,510 lines)
  • New Files:
    • services/DockOpenCoordinator.swift (60 lines)
    • services/HeadlessTerminalSession.swift (365 lines)
    • views/ActiveTerminalSessionsControl.swift (291 lines)
  • Major Refactoring: TerminalSessionManager architecture overhaul
  • Major Additions: Terminal session decoupling, Dock file handling, menu icon system

Upgrade Recommendation: This release introduces a major terminal session management overhaul that significantly improves performance and user experience. The new decoupled architecture enables faster session switching and better resource management. Users will benefit from the new active terminal sessions control, improved menu icons, and Dock file handling capabilities. The scrollback optimization reduces memory usage for background sessions while maintaining full history when sessions are active.

Don't miss a new codmate release

NewReleases is sending notifications on new releases.