- Add GitHub Actions workflow for automated build testing
- Support multi-platform builds (Linux, Windows, macOS)
- Include Rust formatting and linting checks
- Add Bun frontend build and caching
- Implement concurrency cancellation for efficiency
- Add build artifact upload on failure for debugging
- Include PR status comments with build results
This commit provides a comprehensive solution to Claude binary detection issues
by implementing a user-friendly version selector UI and improving the binary
discovery logic. It addresses all concerns raised in multiple PRs and comments.
Changes:
- Add ClaudeVersionSelector component for selecting from multiple installations
- Update ClaudeBinaryDialog to use version selector instead of manual path input
- Fix unused variable warning in production builds (claude.rs:442)
- Improve select_best_installation to handle production build restrictions
- Add listClaudeInstallations API endpoint to fetch all available installations
- Make Claude version indicator clickable to navigate to Settings
- Move Claude installation selector to General tab in Settings (per user request)
- Enhance dialog UX with loading states and clear installation instructions
- Add Radix UI radio-group dependency for version selector
Fixes:
- Production build warning about unused claude_path variable
- Version detection failures in production builds due to process restrictions
- Poor UX when Claude binary is not found (now shows helpful dialog)
- Inability to easily switch between multiple Claude installations
This implementation takes inspiration from:
- PR #3: Version selector dropdown approach (preferred by users)
- PR #4: Binary detection improvements and path validation
- PR #39: Additional detection methods and error handling
- Commit 5a29f9a: Shared claude binary detection module architecture
Addresses feedback from:
- getAsterisk/claudia#4 (comment): User preference for dropdown selector
- Production build restrictions that prevent version detection
- Need for better error handling when Claude is not installed
The solution provides a seamless experience whether Claude is installed via:
- npm/yarn/bun global installation
- nvm-managed Node.js versions
- Homebrew on macOS
- System-wide installation
- Local user installation (~/.local/bin, etc.)
Refs: #3, #4, #39, 5a29f9a
- Add run_id/session_id based event isolation for concurrent executions
- Enhance process registry with graceful shutdown and fallback kill methods
- Implement session-specific event listeners in React components
- Add proper process cleanup with timeout handling
- Support both isolated and backward-compatible event emissions
- Improve error handling and logging for process management
This change prevents event crosstalk between multiple concurrent agent/claude sessions
running simultaneously, ensuring proper isolation and user experience.
Restructure AgentExecution component layout to enhance user experience:
- Make header and configuration sections sticky to remain visible during scrolling
- Optimize scrollable output display area with proper overflow handling
- Improve container structure for better layout management and responsiveness
- Maintain existing functionality while providing better visual organization
- Add AgentRunOutputViewer modal component for inline run preview
- Implement IconPicker component with expanded icon selection
- Refactor AgentRunsList to use modal instead of full-page navigation
- Improve CreateAgent form layout with better grid structure
- Update agent icon system to support wider range of icons
- Enhance UI components with better animations and styling
- Add scroll-area component for better content scrolling
- Remove unused AgentRunView in favor of modal approach
- Refactor message filtering logic across AgentExecution, ClaudeCodeSession, SessionOutputViewer, and StreamMessage components to better handle visibility of user messages with tool results
- Replace inefficient every() loop with for-loop for better performance when checking message content visibility
- Add renderedSomething tracking in StreamMessage to prevent rendering empty components
- Optimize SessionOutputViewer with useMemo for displayableMessages filtering
- Remove unused GitHub API response fields (url, html_url, git_url) in Rust agents command
- Add Vite build configuration with manual code splitting for better bundle optimization
- Remove TypeScript expect-error comment for process global variable
These changes improve UI performance by reducing unnecessary re-renders and bundle size through better code splitting.
- 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
Introduces a dedicated module for detecting Claude Code binary installations
with support for multiple sources including NVM, aliased paths, and
version-based selection. This shared module improves the reliability of
finding Claude installations across different environments.
Key features:
- Supports multiple installation sources (NVM, system, homebrew, npm, yarn, bun)
- Handles aliased paths from 'which' command
- Version-aware selection to prefer latest installations
- Database caching of discovered binary paths
- Comprehensive logging for debugging
- Environment variable preservation for NVM compatibility
The implementation is inspired by:
- https://github.com/getAsterisk/claudia/pull/3
- https://github.com/getAsterisk/claudia/pull/4
- Remove empty cc_agents file that was previously added
- Add cc_agents directory containing three agent configuration templates:
- git-commit-bot: Automated git commit message generation
- security-scanner: SAST security vulnerability detection
- unit-tests-bot: Comprehensive unit test generation
- Each agent includes detailed system prompts and workflow configurations
- Templates are exported in .claudia.json format for easy import
This change provides ready-to-use agent templates for common development workflows.
The README incorrectly stated the project was licensed under MIT,
while the LICENSE file contains AGPL. This commit updates the README
to accurately reflect the AGPL license used by the project.
Fixes#30Fixes#33
- Add onLinkDetected callback prop
- Integrate with URL detection system
- Support enhanced message types from upstream
Enables automatic detection of URLs in Claude's responses
and terminal command outputs.
- Replace static rendering with @tanstack/react-virtual
- Optimize rendering for long conversation histories
- Maintain smooth auto-scroll behavior
- Integrate with enhanced message system from upstream
Significantly improves performance when handling extensive
agent execution outputs and long Claude sessions.
- Add imperative handle for programmatic image attachment
- Expose addImage() method via React ref
- Support screenshot integration from preview pane
Enables automatic attachment of screenshots to Claude prompts.
- Detect URLs including localhost addresses in terminal output
- Support for various URL formats and localhost patterns
- Provide utilities to make links clickable
Automatically detects when development servers start and offers
to open them in the preview pane.
- Implement WebviewPreview component with browser-like navigation
- Add headless Chrome integration for capturing screenshots
- Create split-pane component for side-by-side layout
- Add dialog for URL detection prompts
Allows users to preview web applications and capture screenshots
directly into Claude prompts for better context sharing.
- Add headless_chrome for screenshot functionality
- Add @tanstack/react-virtual for performance optimization
- Add @radix-ui/react-tooltip for UI components
- Update Tailwind CSS to v4 with new build tools
- Add ImagePreview component for displaying embedded image thumbnails
- Enable drag-and-drop functionality for images in FloatingPromptInput
- Configure Tauri asset protocol to properly serve local image files
- Support image mentions via @path syntax in prompts
- Add visual feedback for drag hover states
- Implement full-size image preview dialog with navigation
- Handle duplicate images and limit preview to 10 thumbnails
This PR adds a "Star History" section to the README.md file. This section includes a dynamic SVG chart that visualizes the repository's star growth over time, providing a nice visual metric for community engagement.