- 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 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
- 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.
- 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
- Add proxy settings UI component with enable/disable toggle
- Support HTTP, HTTPS, NO_PROXY, and ALL_PROXY environment variables
- Store proxy settings in app database for persistence
- Apply proxy settings on app startup and when saved
- Pass proxy environment variables to Claude command execution
- Integrate proxy settings into main Settings page with unified save
- Add proxy support for both system binary and sidecar execution
This allows users to configure proxy settings for Claude API requests,
which is essential for users behind corporate firewalls or in regions
requiring proxy access.
Fixes network connectivity issues in restricted environments.
- 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
- 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
Adds a comprehensive slash command system that allows users to create and manage custom commands:
- Backend implementation in Rust for discovering, loading, and managing slash commands
- Support for both user-level (~/.claude/commands/) and project-level (.claude/commands/) commands
- YAML frontmatter support for command metadata (description, allowed-tools)
- Command namespacing with directory structure (e.g., /namespace:command)
- Detection of special features: bash commands (\!), file references (@), and arguments ($ARGUMENTS)
Frontend enhancements:
- SlashCommandPicker component with autocomplete UI and keyboard navigation
- SlashCommandsManager component for CRUD operations on commands
- Integration with FloatingPromptInput to trigger picker on "/" input
- Visual indicators for command features (bash, files, arguments)
- Grouped display by namespace with search functionality
API additions:
- slash_commands_list: Discover all available commands
- slash_command_get: Retrieve specific command by ID
- slash_command_save: Create or update commands
- slash_command_delete: Remove commands
This implementation provides a foundation for users to create reusable command templates and workflows. Commands are stored as markdown files with optional YAML frontmatter for metadata.
Addresses #127 and #134
- 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.
- 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
- Refactor database path handling in agents.rs to initialize paths earlier and make them available to all async tasks
- Add immediate session ID updates to the database when session IDs are extracted
- Implement stop/cancel functionality for running agent sessions in both AgentRunOutputViewer and AgentRunView
- Improve loading states and event listener management in AgentRunOutputViewer
- Add stop button UI controls with proper styling and positioning
- Enhance error handling and logging throughout the agent execution flow