- 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.
- Add useId hook for unique ID generation in SettingsControls
- Fix label accessibility with proper htmlFor attribute
- Apply Biome formatting rules to all modified files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add enterKeyBehavior setting to config schema (shift-enter-send | enter-send)
- Implement Enter key behavior toggle in SettingsControls component
- Update ChatInput to respect user's Enter key preference
- Support IME composition to prevent accidental sends during Japanese input
- Add dynamic placeholder text based on selected behavior
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add proper error handling for missing ~/.claude/projects directory
- Fix TypeError when d.parentPath is undefined (Node.js compatibility)
- Replace toSorted() with sort() for Node.js 18 compatibility
- Handle readdir errors gracefully and return empty arrays
These changes prevent the application from crashing with 'Internal Server Error'
when the Claude projects directory doesn't exist or when using Node.js < 20.