Commit Graph

31 Commits

Author SHA1 Message Date
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