Commit Graph

45 Commits

Author SHA1 Message Date
Mufeed VH
9eeb336a8b feat(ui): enhance card hover effects with trailing border animation and fix symbol alignment
- Add trailing border effect to agent and project cards with animated conic gradient
- Fix rotating symbol vertical alignment from text-bottom to middle with position offset
- Implement CSS custom properties for smooth border animation on hover
- Maintain consistent styling across shimmer.css and styles.css files
2025-07-04 18:45:46 +05:30
Mufeed VH
9b4777978e feat(version): enhance version detection and display across sidecar and binary installations
- Implement regex-based version extraction for more reliable parsing
- Add version detection for bundled sidecar installations with proper execution
- Improve version checking for sidecar binary with timeout and error handling
- Update UI to display version with "v" prefix for consistency
- Add comprehensive logging for version detection debugging
- Handle edge cases in version extraction with fallback mechanisms
2025-07-04 18:25:06 +05:30
Mufeed VH
6ab32ea20f feat(ui): enhance loading spinner and update command configuration
- Increase rotating symbol size to 1.5rem for better visibility
- Remove inline size classes in favor of CSS-based sizing
- Add 'claude' command capability alongside 'claude-code' sidecar
- Remove deprecated externalBin configuration from tauri.conf.json
- Standardize rotating symbol styling across components

This improves the visual feedback for loading states and cleans up
the command execution configuration for better flexibility.
2025-07-04 17:58:52 +05:30
Vivek R
f5cefb97ba feat: implement sidecar binary support and enhance Claude execution system
- **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
2025-07-04 03:27:57 +05:30
Mufeed VH
f1377833b3 feat(ui): enhance timeline sidebar with slide-in animation and responsive layout
- Add slide-in animation to timeline sidebar using framer-motion
- Implement responsive layout adjustments for main content area
- Add proper timeline header with close button
- Fix floating prompt input positioning to accommodate timeline
- Reorder CSS imports for proper style precedence
- Fix animation scaling issue in rotating symbol keyframes

The timeline now slides in from the right with a smooth spring animation
and properly adjusts the main content area width on larger screens.
2025-07-02 20:49:56 +05:30
Mufeed VH
2d73a38222 refactor: remove screenshot functionality and headless_chrome dependency
Remove the screenshot capture system and associated UI components to simplify the codebase.

- Remove screenshot.rs command module and related functionality
- Remove headless_chrome dependency from Cargo.toml
- Update Cargo.lock to reflect dependency changes
- Remove screenshot handlers and UI from WebviewPreview component
- Clean up screenshot-related API calls and imports
- Remove camera icon and capture controls from preview interface

This reduces bundle size and eliminates an underutilized feature.
2025-07-02 20:29:38 +05:30
Mufeed VH
444b2758b2 Merge remote-tracking branch 'origin/main'
Resolves merge conflicts after sandbox removal and prompt queuing implementation.
This merge combines:
- feat(ui): add prompt queuing system and improve session management (local)
- refactor: remove sandbox system and simplify agent architecture (remote)
- feat: enhance timeline UI with slide-in animation and improved layout (remote)
2025-07-02 20:06:20 +05:30
Mufeed VH
b126288797 feat(ui): add prompt queuing system and improve session management
- Add prompt queue to handle multiple prompts when Claude is processing
- Improve session reconnection with better event listener management
- Fix race conditions in session initialization and cleanup
- Replace Loader2 with rotating symbol for consistent loading states
- Remove TokenCounter integration and loading-disabled input restrictions
- Enhance cancellation logic with proper state cleanup
- Update thinking mode phrase formatting in FloatingPromptInput
- Improve UI layout with better spacing and error positioning

This enables users to queue multiple prompts without waiting for the current
one to complete, providing a smoother interaction experience.
2025-07-02 19:49:00 +05:30
Vivek R
443e8e157a feat: enhance timeline UI with slide-in animation and improved layout
- 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
2025-07-02 19:35:38 +05:30
Vivek R
2dfdf31b83 refactor: remove sandbox system and simplify agent architecture
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
2025-07-02 19:19:20 +05:30
Mufeed VH
124fe1544f fix(agents): improve session tracking accuracy with process registry cross-check
- Cross-check database running sessions with actual process registry
- Filter out stale database entries for crashed processes without cleanup
- Add comprehensive comments explaining the reliability improvements
- Fix sticky header z-index layering issue in AgentExecution component

This addresses cases where agent processes crash without properly updating
the database status, ensuring the UI shows only truly active sessions.
2025-07-02 18:34:13 +05:30
Mufeed VH
d431f3286d feat(ui): add WebFetch tool widget with comprehensive content display
- Add WebFetchWidget component with URL display, prompt handling, and content preview
- Integrate WebFetch widget into StreamMessage tool rendering pipeline
- Include loading states, error handling, and expandable content functionality
- Support both basic URL fetching and prompted analysis workflows
2025-07-02 18:26:57 +05:30
Mufeed VH
a7e17f16ec fix(agents): improve process termination with multi-layer kill strategy
Resolves #87 and #9 by implementing a robust three-tier process
termination approach:

1. ProcessRegistry kill - primary method using run_id tracking
2. ClaudeProcessState kill - fallback via stored process handle
3. System kill command - last resort using PID and OS commands

Key improvements:
- Enhanced logging throughout termination flow for better debugging
- Graceful fallback between termination methods
- Proper UI state management even when backend termination fails
- Track run_id in AgentExecution component for targeted process killing
- Comprehensive error handling with user-friendly feedback
- Consistent event emission for UI synchronization

This ensures agents can be properly stopped without requiring
application restart, addressing the core issue where STOP
requests were ignored and processes continued running.
2025-07-02 18:17:05 +05:30
Mufeed VH
e8c54d7fad feat: implement resumable Claude sessions with background execution (#93)
This comprehensive update adds support for resumable Claude Code sessions that can run in the background and be resumed later. Key improvements include:

Backend enhancements:
- Enhanced ProcessRegistry to track both agent runs and Claude sessions
- Added new Tauri commands: list_running_claude_sessions, get_claude_session_output
- Improved Claude process management with proper session ID extraction and lifecycle handling
- Enhanced cancellation logic with registry-based process killing and fallback mechanisms
- Added live output capture and storage for session persistence

Frontend improvements:
- New RunningClaudeSessions component to display and manage active sessions
- Added streaming state management and session tracking in App component
- Implemented navigation protection when Claude is actively streaming
- Enhanced ClaudeCodeSession component with streaming callbacks and session management

Configuration updates:
- Updated .gitignore to exclude documentation files (AGENTS.md, CLAUDE.md, *_TASK.md)

This feature enables users to start Claude sessions, navigate away while Claude continues processing, and resume sessions later from the Projects view, significantly improving the user experience for long-running AI interactions.
2025-07-02 18:07:14 +05:30
Mufeed VH
ccd95330cb feat(ui): add web search widget and enhance tool widgets
- Add WebSearchWidget for displaying search results with collapsible sections and clickable links
- Enhance GrepWidget with improved result parsing, visual design, and structured display
- Replace external links in GitHubAgentBrowser with Tauri shell integration for desktop security
- Update StreamMessage to support WebSearch tool rendering
- Add ReactMarkdown support for rich text display in search results
2025-06-25 21:02:50 +05:30
Mufeed VH
b44612204e feat(ui): add thinking mode selector to floating prompt input
Add comprehensive thinking mode selection with 5 levels (Auto, Think, Think Hard, Think Harder, Ultrathink) to the FloatingPromptInput component. Features include:

- New ThinkingModeIndicator component with visual level bars
- Thinking mode picker with tooltips and descriptions
- Automatic phrase appending to prompts based on selected mode
- Brain icon integration and enhanced UI layout
- State management for thinking mode selection

This enhancement allows users to control Claude's reasoning depth directly from the prompt interface.
2025-06-25 05:24:25 +05:30
Mufeed VH
fa691dfad0 refactor(ui): clean up components and improve thinking widget design
- Remove debug console.log from StreamMessage component
- Simplify ThinkingWidget by removing unused signature parameter
- Update ThinkingWidget color scheme from purple to gray for subtlety
- Add italic styling to thinking content for better visual distinction
- Trim whitespace from thinking content display
- Streamline ThinkingWidget layout by removing unnecessary prose wrapper
2025-06-25 05:10:44 +05:30
Mufeed VH
0a70ac0146 feat(ui): enhance message rendering with thinking widget and session improvements
- Add ThinkingWidget component for displaying AI reasoning content in collapsible interface
- Improve session initialization by removing redundant event listener and enhancing ID extraction
- Enhance StreamMessage component to handle diverse content structures and thinking content
- Add comprehensive debug logging for better message structure understanding
- Fix cost display logic to handle both cost_usd and total_cost_usd fields
- Refactor user message rendering to support both nested and direct content structures
2025-06-25 04:37:16 +05:30
Mufeed VH
3dbeaa4746 refactor: clean up migration code and improve widget display formatting
- Remove obsolete migrate_agent_runs_to_session_ids function from agents commands
- Add trailing empty line removal logic to ReadResultWidget for cleaner code display
- Improve code presentation consistency in UI components
2025-06-25 03:06:13 +05:30
Mufeed VH
c48a63f170 feat(claude-binary): implement robust version selector with enhanced binary detection
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
2025-06-25 02:49:24 +05:30
Mufeed VH
97290e5665 feat(core): implement session isolation for agent and claude executions
- 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.
2025-06-25 02:14:18 +05:30
Mufeed VH
f73d21e09f refactor(ui): improve agent execution layout with sticky header and configuration
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
2025-06-25 01:44:15 +05:30
Mufeed VH
e878be2faa feat(ui): enhance agent interface with modal viewer and improved icon picker
- 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
2025-06-25 01:31:24 +05:30
Mufeed VH
5d69b449be refactor(ui): improve message visibility filtering and optimize bundle
- 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.
2025-06-25 00:52:07 +05:30
Vivek R
e0a0ddf6ba fix: replace native confirm dialog with React dialog for agent deletion
- 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
2025-06-24 01:10:26 +05:30
Vivek R
00cd299c2b Update GitHub Agent Browser and API library 2025-06-24 00:57:44 +05:30
Vivek R
c85caa7a47 feat(agents): Add GitHub agent import feature
- 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
2025-06-24 00:46:53 +05:30
Mufeed VH
0c732633e7 fix: resolve TypeScript and Rust build errors and warnings
- Fixed TypeScript errors in ClaudeCodeSession.tsx:
  - Removed unused imports (Square, PreviewPromptDialog, etc.)
  - Removed unused handleOpenPreview function
  - Fixed unused detectedUrl state variable
- Fixed TypeScript error in StreamMessage.tsx:
  - Removed unused useMemo import
- Fixed TypeScript errors in ToolWidgets.tsx:
  - Prefixed unused result props with underscore in multiple widgets
- Fixed Rust warnings:
  - Removed unused imports in commands modules
  - Prefixed unused variables with underscore
  - Added #[allow(dead_code)] for API methods intended for future use

Closes #31
Closes #23
Closes #21
Closes #22
2025-06-24 00:19:52 +05:30
Vivek R
c52c29ebad feat: non-collapsible widgets with tool call/result mapping 2025-06-23 23:25:25 +05:30
Vivek R
bec8cea1e7 feat: add JSON import functionality for CC agents 2025-06-23 15:35:14 +05:30
Vivek R
ad035036e8 feat: export agents to .claudia.json file 2025-06-23 15:23:29 +05:30
Vivek R
3dc741fd6b feat: add ability to stop Claude execution mid-way using loading icon as cancel button 2025-06-23 14:52:02 +05:30
Mufeed VH
abe0891b0b chore: update component exports and fix merge artifacts
- Export new preview components
- Remove unused imports from upstream merge
- Update .gitignore patterns
- Clean up TypeScript errors from merge conflicts
2025-06-23 00:31:13 +05:30
Mufeed VH
7eab880bbc style: enhance UI animations and feedback
- Improve rotating symbol animation with scaling effects
- Add fade-in transitions for smoother UI
- Update animation timing for better visual feedback
- Optimize loading indicator appearance
2025-06-23 00:30:58 +05:30
Mufeed VH
80d8faccbd feat(stream): add link detection to message output
- 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.
2025-06-23 00:30:45 +05:30
Mufeed VH
1bb265beef perf: implement virtual scrolling for message lists
- 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.
2025-06-23 00:30:31 +05:30
Mufeed VH
4334045661 feat(input): add image attachment support to prompt input
- 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.
2025-06-23 00:30:15 +05:30
Mufeed VH
36744f13f9 feat(api): integrate screenshot commands and link detection
- Add captureUrlScreenshot() API endpoint
- Add cleanupScreenshotTempFiles() for maintenance
- Register screenshot commands in Tauri backend
- Update command module exports
2025-06-23 00:30:01 +05:30
Mufeed VH
a44e9a35c3 feat(terminal): add automatic URL detection in output
- 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.
2025-06-23 00:29:47 +05:30
Mufeed VH
444d480bad feat(preview): add web preview with screenshot capability
- 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.
2025-06-23 00:29:33 +05:30
Vivek R
9a4158c649 feat: implement tool call/result mapping with collapsible UI 2025-06-22 22:39:53 +05:30
Vivek R
7434e18157 fix: remove fixed height causing initial scroll position issue 2025-06-22 17:50:48 +05:30
Vivek R
708b03125c fix: make main content scrollable while keeping navbar fixed 2025-06-22 17:45:03 +05:30
Mufeed VH
93ce8b656f feat: add image preview with drag-and-drop support
- 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
2025-06-22 01:50:29 +05:30
Mufeed VH
8e76d016d4 init: push source 2025-06-19 19:24:01 +05:30