- Set CI=true for native build to ensure correct environment in CI runs
- Add chmod step to guarantee executable permissions on built binary
- Use ditto instead of zip to archive app bundle, preserving permissions and signatures
- Add Claudia logo to release body
- Add first release announcement and feature highlights
- Clean up test branch references in build workflows
- Update release body formatting for better presentation
- Fix reusable workflow errors by adding workflow_call triggers to build workflows
- Update package.json dependencies
- Bump package version for consistency
- Update Cargo dependencies
- Add new dependencies required for enhanced functionality
- Update Cargo.lock with resolved versions
- Update tauri.conf.json with new build configurations
- Add platform-specific settings
- Configure bundle options for different targets
- Update .gitignore patterns
- Add new build artifacts to ignore list
- Minor fix in claude.rs command implementation
- Add scripts/bump-version.sh for coordinated version updates
- Updates version in package.json, Cargo.toml, tauri.conf.json, and Info.plist
- Ensures version consistency across all project files
- Provides clear instructions for tagging and releasing
- Add Info.plist for macOS app metadata
- Configure bundle identifier as claudia.asterisk.so
- Set minimum macOS version to 10.15
- Register .claudia.json file type association
- Add usage descriptions for camera and microphone access
- Add entitlements.plist for macOS app permissions
- Disable app sandbox for Homebrew compatibility
- Enable network access for API communications
- Allow file system access and subprocess spawning
- Configure hardened runtime exceptions for JIT and library validation
- Enable automation for Apple Events
- Add .cargo/config.toml for cross-compilation
- Configure aarch64-unknown-linux-gnu target
- Enable PKG_CONFIG_ALLOW_CROSS for cross-platform builds
- Add build-linux.yml for Ubuntu/Linux x86_64 builds
- Installs required system dependencies (webkit2gtk, GTK3, etc.)
- Builds Tauri application for Linux platform
- Uploads build artifacts for distribution
- Add build-macos.yml for macOS Intel and Apple Silicon builds
- Supports both x86_64 and aarch64 architectures
- Handles Apple certificate import and code signing
- Creates notarized DMG installers
- Includes Homebrew cask generation
- Allows skipping builds and using previous artifacts
- Add release.yml for automated releases
- Triggers on version tags (v*)
- Orchestrates builds across all platforms
- Creates GitHub releases with all artifacts
- Supports manual workflow dispatch with version input
- Initialize analytics service on app startup in main.tsx
- Integrate analytics consent management in App.tsx
- Track app lifecycle events (start, screen changes)
- Update Tauri configuration for production build
- Set up proper analytics shutdown on app close
- Ensure analytics is initialized before other services
This completes the analytics integration setup with proper
initialization and lifecycle management.
- Track MCP server additions with configuration method (manual/preset/import)
- Monitor server connections and disconnections with success metrics
- Record server removal events with connection state
- Track MCP tool invocations with source attribution
- Monitor connection errors with retry attempts
- Add performance tracking for server operations
These metrics help understand MCP server usage patterns and
identify connection reliability issues.
- Track prompt submissions with detailed metrics (length, complexity, attachments)
- Monitor session lifecycle (start, stop, duration, engagement)
- Record tool executions with performance and success metrics
- Track checkpoint creation and restoration events
- Implement enhanced session metrics including:
- Time to first message
- Average response time
- Files created/modified/deleted count
- Error frequency and recovery attempts
- Token usage and code generation metrics
- Add session engagement scoring
- Monitor conversation abandonment patterns
- Track agent execution context when applicable
This provides deep insights into user interactions and session
quality for improving the AI coding experience.
- Create AnalyticsErrorBoundary component to catch and track UI errors
- Implement automatic error reporting to analytics on component failures
- Provide customizable fallback UI for error states
- Add withAnalyticsErrorBoundary HOC for easy component wrapping
- Include error recovery functionality with reset capability
- Track component stack information for debugging
This ensures all UI errors are captured and reported for better
application stability monitoring and debugging.
- Add ResourceMonitor for tracking system resource usage (memory, CPU, network)
- Implement API request tracking with performance metrics and error monitoring
- Create usePerformanceMonitor hook for component-level performance tracking
- Add useAsyncPerformanceTracker for async operation monitoring
- Track memory warnings, performance bottlenecks, and network failures
- Support configurable thresholds for resource usage alerts
- Implement periodic sampling with intelligent reporting
These utilities enable proactive performance monitoring to identify
and address bottlenecks before they impact user experience.
- Implement comprehensive analytics type system with 100+ event types
- Create event builders for consistent event tracking
- Add main analytics service with PostHog integration
- Include performance tracking utilities with percentile monitoring
- Support anonymous user tracking with session management
- Implement sanitization helpers to remove PII from events
- Add event queueing with automatic flush intervals
- Support for screen tracking and app context
BREAKING CHANGE: Analytics tracking is now integrated throughout the app
and requires PostHog API key configuration via environment variables.
- Track tab creation and closure events in TabManager
- Add session tracking (created, resumed, completed) in ClaudeCodeSession
- Track model selection changes in ClaudeCodeSession
- Monitor agent execution events (success/failure) in AgentExecution
- Include execution duration metrics for agents
- Use useTrackEvent hook for consistent event tracking
- Add new Analytics tab to Settings component
- Implement analytics enable/disable toggle
- Show consent dialog when enabling analytics without prior consent
- Add delete all analytics data functionality
- Display privacy information and data collection details
- Track analytics settings changes with event tracking
- Initialize analytics service on app startup
- Add PostHogProvider wrapper for React integration
- Include AnalyticsConsentBanner in App component
- Set up app lifecycle tracking with useAppLifecycle hook
- Configure PostHog with environment variables
- Create AnalyticsConsent modal dialog for initial consent
- Add AnalyticsConsentBanner for non-intrusive consent request
- Implement privacy-focused consent flow with clear data collection info
- Show what data is collected and privacy protections
- Support both controlled and uncontrolled component usage
- Add smooth animations with Framer Motion
- Include accept/decline handlers with analytics service integration
- Create AnalyticsService singleton for centralized analytics tracking
- Implement ConsentManager for privacy-first analytics consent
- Add comprehensive event builders and sanitizers
- Define analytics event types and interfaces
- Support opt-in analytics with local storage persistence
- Include event queue and batch processing
- Add privacy-focused configuration (no session recording, no autocapture)
- Remove unused imports (tauri_plugin_shell modules)
- Delete should_use_sidecar() function
- Delete create_sidecar_command() function
- Clean up dead code related to sidecar process execution
- Remove unused imports (regex, Arc)
- Fix receiver/child tuple order from spawn() call
- Convert CommandEvent bytes to strings properly
- Remove unused variables (_start_time, mut from installations)
- Update function signatures to match new API
- Simplify child process registration by removing child parameter
- Remove all bundled/sidecar binary functionality
- Delete build scripts for fetching and building Claude executables
- Simplify binary detection to only support system installations
- Update UI to remove bundled installation options
- Update build configuration and documentation
- Remove TODO comments from WebviewPreview.tsx
- Clean up unused import comments for Tauri webview
- Add App.cleaned.tsx as refactored version
- Improve code readability and maintainability
- Add useLoadingState hook for managing loading states
- Add useDebounce hook for debouncing values/callbacks
- Add useApiCall hook for API call management with error handling
- Add usePagination hook for pagination logic
- Create centralized hooks/index.ts for exports
- Reduce code duplication across components
- Add Zustand (v5.0.6) for lightweight state management
- Create sessionStore for managing session-related state
- Create agentStore for managing agent runs with intelligent polling
- Eliminate prop drilling across component tree
- Add comprehensive documentation for store usage
- Add TabContext and useTabState for centralized tab management
- Create TabManager component with drag-and-drop reordering
- Implement TabContent component for dynamic content rendering
- Add AgentsModal for enhanced agent management interface
- Integrate tab system into main App component
- Update existing components to work with new tab architecture
- Support multiple tab types: chat, agent, projects, usage, mcp, settings
- Add tab status tracking and unsaved changes detection
- Implement smooth animations and modern UI interactions
- Add scopeFilter prop to SlashCommandsManager for filtering by scope
- Replace browser confirm() with proper delete confirmation dialog
- Fix slash_command_delete to handle project commands with project_path param
- Add Slash Commands tab to ProjectSettings as the default tab
- Add Commands button to ClaudeCodeSession for quick access
- Improve error handling and user feedback for delete operations
- Better UI text when showing project-specific commands only
- Add built-in slash commands: /add-dir, /init, /review
- Update slash_commands_list to include default commands
- Enhance SlashCommandPicker UI to show default commands in dedicated tab
- Improve empty state handling with search-aware messaging
- Add proper command display with icons, descriptions, and scope badges
- Add Default and Custom tabs to separate built-in vs user/project commands
- Enhance command grouping with User/Project scope indicators and icons
- Improve filtering logic to work with tab selection
- Add visual distinction between user and project commands with icons
- Maintain backward compatibility with existing command display logic
- Fix handleFileSelect to properly find @ position instead of assuming cursorPosition-1
- Replace entire @query text with selected file path instead of appending
- Add error handling for edge cases where @ symbol cannot be found
- Resolves issue where typing @READ and selecting README.md resulted in @READ@README.mdFixes#114
- Remove save_clipboard_image and cleanup_temp_images backend commands
- Update FloatingPromptInput to store pasted images as data URLs in the prompt
- Update ImagePreview component to handle both file paths and data URLs
- Update extractImagePaths to properly handle quoted data URLs
- Update handleRemoveImage to handle data URL removal
This eliminates file system operations for pasted images and stores them directly
in the prompt as base64 data URLs (e.g., @"data:image/png;base64,...").
Images are now fully self-contained within the session without creating temp files.
- Add save_clipboard_image and cleanup_temp_images commands in Rust backend
- Implement paste event handler in FloatingPromptInput to capture pasted images
- Save pasted images to .claude_temp/session_id/ directory
- Add automatic cleanup of temp images when session ends
- Fix image preview display for file paths containing spaces
- Update regex patterns to handle both quoted (@"path with spaces") and unquoted (@path) mentions
- Automatically wrap paths with spaces in quotes when inserting
- Update remove handler to properly handle both quoted and unquoted paths
Users can now paste images directly from clipboard (e.g., screenshots) and see proper previews for all image files regardless of filename format.
- Change from vertical list to responsive grid (1/2/3 columns)
- Update project page container from centered to full-width
- Improve card layout with better vertical spacing
- Simplify session count and file indicators
- Ensure cards have consistent height in grid
- Add HooksEditor component for managing project hooks
- Add ProjectSettings component for project-specific configurations
- Create hooksManager utility for hook operations
- Add hooks type definitions
- Update backend commands to support hooks functionality
- Integrate hooks into main app, agent execution, and Claude sessions
- Update API and utilities to handle hooks data
- Add predev script to build executables before starting dev server
- Configure Tauri to include claude-code as external binary
- Reorganize Tauri command handlers with clear section comments for better maintainability
- Add bun build temporary files to .gitignore
These changes enable proper Claude binary integration and ensure executables are built before development.
Fixes#136
- Deleted RunningSessionsView.tsx file
- Removed import and usage in CCAgents.tsx
- Removed 'Running Sessions' tab from navigation
- Removed activeTab state management
- Simplified UI to show only agents list
- Pin Claude Code version to 1.0.41 across all build scripts for consistency
- Add version parameter support to fetch-and-build.js script
- Enhance build script with improved CLI argument parsing
- Add prebuild hook to automatically build current platform executables
Changes made:
• package.json: Add --version=1.0.41 to all build:executables scripts
• package.json: Add prebuild script to run build:executables:current
• scripts/fetch-and-build.js: Add parseArguments() function for CLI parsing
• scripts/fetch-and-build.js: Add determineClaudeCodeVersion() for version resolution
• scripts/fetch-and-build.js: Update fetchClaudeCodePackage() to accept version parameter
• scripts/fetch-and-build.js: Enhance usage documentation and error messages
- Refactored execute_agent function with comprehensive error handling
- Added new imports: Arc, Mutex for thread safety and tauri_plugin_shell
- Improved Claude binary detection and command building
- Enhanced argument handling for agent execution
- Added better process management and output streaming
- Implemented more robust error propagation and logging
- Expanded command construction with proper environment setup
- Added extensive documentation and error context
- **Enhanced Claude Binary Management**: Added support for sidecar binary execution alongside system binaries
- **Improved Command Creation**: Refactored command creation logic with separate functions for sidecar and system binaries
- **Enhanced Process Management**: Better process lifecycle management with improved error handling
- **Updated Tauri Configuration**: Added shell plugin configuration and expanded security policies
- **Agent Commands**: Enhanced agent management with improved error handling and validation
- **Redesigned Claude Version Selector**: Complete UI overhaul with modern select component and better UX
- **Enhanced Settings Integration**: Improved settings page integration with new selector component
- **API Layer Updates**: Updated API calls to support new binary execution modes
- **UI Component Improvements**: Better visual feedback and loading states
- **Updated Capabilities**: Enhanced Tauri capabilities for better security and functionality
- **Documentation Updates**: Updated scripts README with new build instructions
- **Security Enhancements**: Improved CSP policies and asset protocol configuration
- Added function to determine execution mode
- Implemented for sidecar binary execution
- Implemented for system binary execution
- Enhanced process management with better error handling
- Replaced radio group with modern select component
- Added visual indicators for different installation types
- Improved loading states and error feedback
- Better responsive design and accessibility
- Enhanced CSP policies for better security
- Improved asset protocol configuration
- Better error handling and validation throughout
- Optimized process management and resource usage
- 10 files modified with 647 additions and 208 deletions
- Major changes in Claude execution system and UI components
- Configuration updates for enhanced security and functionality
- All existing functionality preserved
- New sidecar binary support tested
- UI components thoroughly tested for accessibility and responsiveness
- Update output file names to follow Tauri v2 sidecar naming format (name-platform-architecture)
- Use standard Rust target triples: x86_64-apple-darwin, aarch64-unknown-linux-gnu, etc.
- Fix getCurrentPlatform() to return proper target triples
- Update platform matching logic for current platform builds
- Add documentation explaining the new naming convention
- Maintain support for modern, baseline, and musl variants
Files now properly follow the Tauri sidecar binary naming standard as documented at:
https://v2.tauri.app/develop/sidecar/
Add complete build infrastructure for creating single-file Claude Code executables
across all supported platforms using Bun's native compilation features.
- **Cross-platform builds**: Support for Linux (glibc/musl), macOS (Intel/ARM), Windows
- **CPU optimization variants**: Modern (AVX2+) and baseline (pre-2013) CPU support
- **Embedded assets**: All executables include yoga.wasm and ripgrep binaries
- **Optimized builds**: Minification and sourcemaps for production-ready binaries
- Add slide-in animation for timeline panel using framer-motion
- Implement responsive layout adjustments when timeline is open
- Add close button (X icon) to timeline header for better UX
- Wrap timeline in AnimatePresence for smooth enter/exit transitions
- Adjust main content and floating prompt input positioning when timeline is visible
- Improve timeline visual hierarchy with proper header and content sections
- Add spring animation with damping for smooth timeline panel transitions
Remove the entire sandbox security system including:
- All sandbox-related Rust code and dependencies (gaol crate)
- Sandbox command handlers and platform-specific implementations
- Comprehensive test suite for sandbox functionality
- Agent sandbox settings UI components
Simplify agent configuration by removing sandbox and permission fields:
- Remove sandbox_enabled, enable_file_read, enable_file_write, enable_network from agent configs
- Update all CC agents to use simplified configuration format
- Remove sandbox references from documentation and UI
- Replace synchronous confirm() with proper React Dialog component
- Add state management for delete confirmation dialog
- Prevent immediate deletion before user confirmation
- Add loading states and proper error handling
- Improve UX with clear confirmation message and responsive design
- Implemented GitHub agent browser in CCAgents component
- Created GitHubAgentBrowser component for browsing and importing agents
- Added Rust commands for fetching and importing agents from GitHub
- Updated API layer with GitHub agent import methods
- Updated Cargo.toml with new dependencies
- Fixed Tauri configuration and capabilities
- Added dropdown menu for import options
- Implemented search and preview functionality for GitHub agents