* refactor: Clean up message handling in ClaudeCodeLifeCycleService
- Removed debug logging from handleMessage function.
- Eliminated unnecessary fallback message check in message iteration loop.
This improves code readability and performance by streamlining message processing.
* fix: Change unifySameTitleSession default value to false
Changed the default value of unifySameTitleSession configuration from true to false.
This affects both the Zod schema definition and the UserConfigService initial state.
Updated README.md to reflect the new default value in the User Settings table.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat: Unify git revisions API to current-revisions endpoint
- Add getCurrentRevisions to GitController returning base branch, current branch, head, and commits
- Implement findBaseBranch in GitService to identify base branch from commit history
- Add getCommitsBetweenBranches to get commits between base and target branch
- Remove separate branches and commits API endpoints
- Update frontend to use unified gitCurrentRevisionsQuery
- Replace useGitBranches and useGitCommits with useGitCurrentRevisions hook
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: Display current branch in session header
- Move useGitCurrentRevisions hook to SessionPageMain level
- Display current branch badge with GitBranchIcon in session header
- Pass revisionsData from parent to DiffModal to avoid duplicate API calls
- Update DiffModalProps to accept optional revisionsData parameter
- Show current branch between project path and session ID badges
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* feat: support markdown and source code file display
This commit extends file upload support beyond plain text to include:
- Markdown files (.md, .markdown) with full rendering
- Source code files with syntax highlighting (JS, TS, Python, Go, Rust, etc.)
- Proper media type detection and display type selection
Changes:
- Updated DocumentContentSchema to accept various text-based media types
- Created file-type-detector utility to map media types to display strategies
- Enhanced UserConversationContent to render markdown with MarkdownContent component
- Added syntax highlighting for code files using react-syntax-highlighter
- Added comprehensive tests for file type detection
Fixes#39🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: fix implementation
* Revert "feat: support markdown and source code file display"
This reverts commit 5409a02c61c04b78a968bfe7a0c56a36a3db787b.
---------
Co-authored-by: Claude <noreply@anthropic.com>
Remove explicit .git directory checks from executeGitCommand functions.
Git automatically searches parent directories for .git, making these
checks unnecessary and preventing subdirectory execution.
Changes:
- src/server/core/git/functions/utils.ts: Remove .git existence check
- src/server/core/git/services/GitService.ts: Remove .git existence check
- src/server/core/git/functions/getDiff.test.ts: Add subdirectory test case
Fixes#25🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Changed import statements in multiple files to replace references from @anthropic-ai/claude-code to @anthropic-ai/claude-agent-sdk for consistency and to align with the latest SDK structure.
- Re-added 'playwright' dependency in package.json and pnpm-lock.yaml.
- Updated Node.js version requirement in README.md from 20.18.1 to 20.19.0.
- Removed console log statements from GitController.ts and GitService.ts for cleaner code.
- Added a new function to resolve the Claude Code executable path with multiple fallback strategies: checking environment variables, system PATH, and project dependencies.
- Introduced a custom error class for handling cases where the executable cannot be found.
- Updated the Config export to utilize the new path resolution logic.
- Updated MobileSidebar to include a new "system-info" tab for displaying system information.
- Added SystemInfoCard component and integrated it into the sidebar.
- Modified state management to accommodate the new tab and updated tab click handling.
- Improved UI with an Info icon for the new tab, enhancing user navigation.
- Added a new ToolInputOneLine component for displaying input parameters in a concise format.
- Updated AssistantConversationContent to include an Eye icon for viewing task details and improved layout for better readability.
- Enhanced ConversationItem to check for related task calls, preventing unnecessary rendering.
- Modified SidechainConversationModal to display message count and improved task view button styling.
- Updated i18n messages for new features and improved translations.
- Added @anthropic-ai/claude-agent-sdk as a dependency for improved functionality.
- Updated controllablePromise to include a status property, allowing tracking of promise states (pending, resolved, rejected).
- Adjusted query function to utilize the new agent SDK for enhanced query capabilities.
- Updated i18n message files for better formatting and consistency.
- Added a collapsible section for commit changes in the DiffModal, improving user experience by allowing users to expand or collapse the commit controls.
- Integrated file selection controls and commit message input within the collapsible section for better organization.
- Updated styling and layout for improved clarity and interaction.
- Introduced a new `FileHistorySnapshotConversationContent` component to handle rendering of file history snapshots.
- Updated `ConversationItem` and `ConversationList` to accommodate the new conversation type.
- Modified the conversation schema to include `FileHistorySnapshotEntrySchema` and related types.
- Enhanced the `useSidechain` hook to filter out file history snapshots from sidechain conversations.
- Adjusted the `SidechainConversationModal` to correctly handle the new conversation type.
- Reduced padding and adjusted spacing in the DiffModal for a more compact layout.
- Updated text sizes and line heights in the DiffViewer for better readability.
- Removed unnecessary dialog components to streamline the structure.
- Enhanced the file header layout for improved visual clarity and interaction.
- Changed the setup file path in vitest configuration for better organization.
- Refactored the EventBus implementation to streamline event handling.
- Updated various test files to utilize new testing layers for improved clarity and maintainability.
- Introduced new utility layers for file system and persistent service mocks to enhance test reliability.
- Enhanced the platform layer to include necessary services for testing environments.
- Changed the environment variable from "CLAUDE_CODE_VIEWER_CC_EXECUTABLE_PATH" to "GLOBAL_CLAUDE_DIR" for better understanding and usage within the application context.
- Implemented a new capture case for the "sidechain-task-modal" in the session detail E2E tests.
- Added data-testid attributes to the SidechainConversationModal for improved test targeting.
- Enhanced the GitController to handle errors gracefully when fetching branches and commits, returning an empty response on failure.
- Updated package.json to include new E2E scripts for execution and snapshot capturing.
- Added new capture cases for the "new-project-modal" and "start-new-chat" functionalities in the E2E tests.
- Increased wait times in session detail captures to ensure elements are fully loaded before interactions.
- Introduced new shell scripts for starting the server and capturing snapshots, improving the E2E testing workflow.
- Updated NewChatModal and SessionsTab components to include data-testid attributes for better test targeting.