Commit graph

127 commits

Author SHA1 Message Date
Cesar Augusto Fonseca
6c20a4d404 fix: prevent false cwd split that hides all sessions
Sessions without the cwd field (older JSONL format) were creating a
separate subproject group, even when all sessions with cwd shared the
same value. The orphan subproject got a relative fallback path that
failed git identity resolution, causing zero sessions to load on select.

Now only counts distinct real cwds when deciding whether to split,
treating cwd-less sessions as belonging to the same project.
2026-02-20 11:28:15 -03:00
matt
44da078b3b
Merge pull request #38 from matt1398/fix/context-badge
feat: enhance ContextBadge and SessionContextPanel with new FlatInjec…
2026-02-20 13:39:26 +09:00
matt
2fcf111f77 feat: enhance ContextBadge and SessionContextPanel with new FlatInjectionList view
- Updated ContextBadge to display the total count of tool outputs and task coordination items based on their breakdowns.
- Introduced FlatInjectionList component for a denested view of injections, allowing users to toggle between grouped and flat views in SessionContextPanel.
- Added state management for flat view toggle and integrated FlatInjectionList into the existing layout.
2026-02-20 13:27:34 +09:00
matt
7a264a882c
Merge pull request #37 from matt1398/feat/session-id
feat: add copy functionality to session context menu
2026-02-20 12:53:39 +09:00
matt
1590f04dc2 feat: add copy functionality to session context menu
- Introduced new options to copy Session ID and Resume Command in the SessionContextMenu component.
- Added visual feedback for copied actions with appropriate icons and labels.
- Updated menu height to accommodate new items and maintain layout consistency.
2026-02-20 12:53:08 +09:00
matt
12df279225
Merge pull request #36 from matt1398/feat/noti-tab-scope
feat: enhance notification handling with scoped actions
2026-02-20 12:48:30 +09:00
matt
0cd75a4f1a feat: enhance notification handling with scoped actions
- Updated `markAllNotificationsRead` and `clearNotifications` functions to support optional filtering by trigger name, allowing for more granular control over notification management.
- Adjusted the `NotificationsView` component to reflect the new scoped functionality, including updates to button labels and unread count displays based on active filters.
- Added tests to verify the behavior of scoped actions for marking notifications as read and clearing notifications.
2026-02-20 12:46:40 +09:00
matt
51e053a5b3
Merge pull request #33 from cesarafonseca/fix/mcp-tool-output-pretty-json
feat: improve MCP tool input/output rendering
2026-02-20 12:34:18 +09:00
Cesar Augusto Fonseca
a00c7a459b feat: improve MCP tool input/output rendering
Closes matt1398/claude-devtools#32
2026-02-19 19:09:53 -03:00
matt
4f1e4012cf
Merge pull request #30 from matt1398/dev
Dev
2026-02-20 01:38:56 +09:00
matt
4be6578d96
Merge branch 'main' into dev 2026-02-20 01:38:45 +09:00
matt
7574d0defc
Fix/linux sandbox permissions (#29)
* feat(package): add afterInstall script for chrome-sandbox permissions

- Updated package.json to include an afterInstall script that adjusts permissions for the chrome-sandbox on Linux.
- Added new afterInstall.sh script to ensure proper ownership and permissions for the sandbox file, enhancing security and functionality.

* chore(package): add deb configuration section in package.json

- Introduced a new "deb" section in package.json to specify post-installation scripts for Debian packages.
- Enhanced the package configuration for better support of Linux distributions.
2026-02-20 01:37:43 +09:00
matt
e570bbebde
feat(package): add afterInstall script for chrome-sandbox permissions (#27) (#28)
- Updated package.json to include an afterInstall script that adjusts permissions for the chrome-sandbox on Linux.
- Added new afterInstall.sh script to ensure proper ownership and permissions for the sandbox file, enhancing security and functionality.
2026-02-20 01:27:10 +09:00
matt
eeec1e7178
feat(package): add afterInstall script for chrome-sandbox permissions (#27)
- Updated package.json to include an afterInstall script that adjusts permissions for the chrome-sandbox on Linux.
- Added new afterInstall.sh script to ensure proper ownership and permissions for the sandbox file, enhancing security and functionality.
2026-02-20 01:26:27 +09:00
Cesar Augusto Fonseca
4ec272758c
fix: collect tool results from subagent messages with absent isMeta field (#23)
User messages in subagent JSONLs lack the isMeta field, defaulting to false.
An unconditional `continue` in the !isMeta branch skipped tool result
collection for these messages, causing all subagent tools to show
"No result received". Now we check for tool_result blocks before continuing,
allowing them to fall through to the result collection logic.
2026-02-19 14:07:30 +09:00
Sanath Samarasinghe
94f722d993
feat: add markdown preview toggle for Write tool (#21) 2026-02-19 14:03:16 +09:00
matt
bd088ec71c
Update README.md 2026-02-17 20:31:06 +09:00
matt
1f6abf8df6
Merge pull request #19 from matt1398/dev
docs: add Product Hunt badge to README
2026-02-17 17:06:34 +09:00
matt
12a87b8b90 docs: add Product Hunt badge to README
- Included a Product Hunt badge in the README to promote claude-devtools and enhance visibility.
- Updated the README layout for better presentation and user engagement.
2026-02-17 17:06:17 +09:00
matt
4b8c65e2a2
Merge pull request #18 from matt1398/dev
docs: add Docker deployment instructions to README
2026-02-17 14:09:22 +09:00
matt
f5183c4978 docs: add Docker deployment instructions to README
- Included a section for Docker deployment in the README, detailing how to run the application using Docker.
- Updated the instructions to enhance user accessibility for Docker users.
2026-02-17 14:09:03 +09:00
matt
6874fd9980
Merge pull request #17 from matt1398/dev
docs: update README to include Docker deployment badge and clarify pr…
2026-02-17 14:00:10 +09:00
matt
24bc4dc3a4 docs: update README to include Docker deployment badge and clarify project description
- Added a badge for Docker deployment to the README for easier access to deployment instructions.
- Updated the project description to emphasize that it is 100% free and open source, enhancing clarity for users.
2026-02-17 13:59:51 +09:00
matt
eda80b90ea
Merge pull request #15 from matt1398/dev
Docker support, session management, context insights, and subagent display improvements
2026-02-16 23:43:06 +09:00
matt
fb66b14d62 feat(sessions): add API endpoints for hiding and unhiding sessions
- Implemented new POST endpoints for hiding and unhiding individual and bulk sessions in the configuration.
- Added error handling and validation for project and session IDs in the new API routes.
- Enhanced the existing session management functionality in the ConfigManager to support these operations.
2026-02-16 23:33:56 +09:00
matt
da1a8998fc chore: clean up project configuration and remove unused dependencies
- Updated knip.json to exclude unused Remotion paths and dependencies.
- Cleaned up pnpm-lock.yaml by removing obsolete Remotion packages.
- Refactored TypeScript function signatures in main files for improved clarity.
- Enhanced various components for better code readability and maintainability.
2026-02-16 23:27:43 +09:00
matt
aacadf1a2d
Merge pull request #13 from matt1398/feat/docker-deployment
Docker / Standalone deployment + Server mode improvements
2026-02-16 23:15:44 +09:00
matt
13d99e5968 chore(package): remove unused Remotion dependencies from package.json
- Deleted obsolete Remotion packages from devDependencies in package.json to streamline the project and reduce unnecessary bloat.
2026-02-16 23:12:51 +09:00
matt
ea66c34ce3 refactor(package): remove unused Remotion scripts and update HttpServer for improved static file serving
- Removed obsolete Remotion preview and render scripts from package.json.
- Updated HttpServer to enhance static file serving logic, ensuring proper handling of renderer paths in both development and production modes.
- Added support for asarUnpack in package.json to facilitate unpacking of renderer files.
2026-02-16 23:12:28 +09:00
matt
ce4116dd85 feat(docker): add standalone mode and Docker support
- Introduced a new Docker setup for running claude-devtools in standalone mode without Electron.
- Added Dockerfile and docker-compose.yml for easy deployment.
- Implemented .dockerignore to exclude unnecessary files from the Docker context.
- Updated package.json with new scripts for building and running the standalone server.
- Enhanced README with Docker usage instructions and environment variable configurations.
- Modified HttpServer to support serving static files and API in standalone mode.
- Updated various components to ensure compatibility with standalone operation.
2026-02-16 22:57:48 +09:00
matt
dd2b81acec
Merge pull request #12 from matt1398/feat/enhance-subagent-item
feat(chat): implement subagent input and compact boundary display items
2026-02-16 22:15:06 +09:00
matt
056351b8a6 feat(chat): implement subagent input and compact boundary display items
- Added support for rendering 'subagent_input' and 'compact_boundary' types in the chat display components.
- Introduced a new `MarkdownViewer` for displaying content in both item types.
- Enhanced the `MetricsPill` and `SubagentItem` components to include phase breakdowns and isolated usage metrics.
- Updated the `AIGroupDisplayItem` type to accommodate new item types and their properties.
- Implemented logic to compute and display token consumption across multiple phases for subagents.
2026-02-16 22:13:24 +09:00
matt
21d4e1c98e
Merge pull request #11 from matt1398/feat/hide-sessions
feat(sessions): implement session hiding and un-hiding functionality
2026-02-16 21:40:58 +09:00
matt
12a5bf46a8 feat(sessions): implement session hiding and un-hiding functionality
- Added handlers for hiding and unhiding individual and multiple sessions in the configuration.
- Updated the ConfigManager to manage hidden sessions, including methods for bulk operations.
- Enhanced the IPC channels and preload scripts to support new session visibility features.
- Integrated UI components to allow users to toggle session visibility in the sidebar and context menus.
- Updated state management to reflect hidden sessions and support multi-select actions for bulk hiding/unhiding.
2026-02-16 21:22:42 +09:00
matt
93ddd565ae
Merge pull request #10 from matt1398/feat/token-consumption-insights
Feat/token consumption insights
2026-02-16 20:46:18 +09:00
matt
fb2d56e23f feat(chat): enhance navigation and tool highlighting in chat history
- Introduced context panel navigation for user message groups and specific tools within turns, improving user experience in navigating chat history.
- Added state management for context navigation tool use ID and effective highlight color, allowing distinct visual cues for context panel interactions.
- Updated `ChatHistory` and `SessionContextPanel` components to support new navigation handlers and integrate deep-linking functionality for tools.
- Enhanced `RankedInjectionList` to facilitate navigation to user groups and tools, providing a more interactive and user-friendly interface.
2026-02-16 20:36:18 +09:00
matt
9915cf5a03 feat(settings): enhance Claude root management and UI updates
- Implemented functionality to select and manage the local Claude root folder, allowing users to specify a custom path.
- Added UI components for displaying and interacting with Claude root settings, including error handling for missing directories.
- Enhanced the settings view to support dynamic updates based on user selections and improved state management for pending settings.
- Refactored related components to integrate the new Claude root features seamlessly, including updates to the general settings section and connection handling.
2026-02-16 20:06:09 +09:00
matt
8b2dbf3bcb feat(context): enhance session context tracking and display
- Added context consumption tracking, including total context consumed and compaction events, to the session metadata.
- Introduced a new `PhaseTokenBreakdown` interface for detailed per-phase token contributions.
- Updated the `SessionContextPanel` to support a ranked view of context injections, allowing users to toggle between category and ranked displays.
- Implemented a `ConsumptionBadge` in the `SessionItem` component to show context consumption with a hover popover for phase breakdown details.
- Enhanced session sorting options in the sidebar to allow sorting by context consumption.
2026-02-15 14:49:29 +09:00
matt
44a499e62c feat(jsonl): enhance message counting logic for AIGroup interactions
- Added logic to await the first main-thread assistant message after a UserGroup to accurately count AIGroup messages.
- Updated tests to reflect the new message counting behavior, ensuring correct results in session file analysis.
2026-02-15 14:32:32 +09:00
matt
c9ed63af55 Update README to enhance platform support information
- Updated platform badge to specify support for macOS (Apple Silicon + Intel), Linux, and Windows.
- Added download badge for Linux to provide users with direct access to Linux installation options.
- Included Linux installation instructions in the usage section for clarity on available package formats.
2026-02-14 14:31:56 +09:00
matt
0a987b8aea feat(wsl): improve WSL path handling and output decoding
- Refactored `toWslUncPath` to remove the prefix parameter for consistency.
- Added `looksLikeUtf16Le` and `decodeWslOutput` functions to enhance output decoding from WSL commands.
- Updated `listWslDistros` to utilize a command array for better command execution handling.
- Simplified home path resolution in `handleFindWslClaudeRoots` to avoid duplicates and improve clarity.
2026-02-14 14:17:42 +09:00
matt
5c563f40ec feat(wsl): enhance WSL integration with improved path resolution and error handling
- Refactored the `toWslUncPath` function to accept a prefix for better flexibility.
- Introduced `getWslExecutableCandidates` to dynamically find WSL executables.
- Implemented `runWsl` to handle WSL command execution with error management.
- Updated `listWslDistros` to include a fallback mechanism for inconsistent `-q` behavior.
- Enhanced `resolveWslHome` and `handleFindWslClaudeRoots` to improve home path resolution and avoid duplicates in candidate paths.
2026-02-14 14:05:35 +09:00
matt
7f315619d0 Update knip.json to add 'ignoreBinaries' field for pkg 2026-02-14 13:55:38 +09:00
matt
07b3839d3f feat(wsl): add support for finding WSL Claude root candidates
- Implemented a new IPC handler to find Windows UNC paths for WSL Claude root candidates.
- Introduced utility functions to list WSL distributions and resolve their home paths.
- Updated the configuration handlers to include the new functionality for detecting WSL Claude roots.
- Enhanced the UI to allow users to select WSL Claude root paths, including handling cases where the projects directory is missing.
- Refactored related components to integrate the new WSL functionality seamlessly.
2026-02-14 13:53:13 +09:00
matt
ff0c8cc978 Implement Claude root path configuration and management
- Introduced functionality to select and manage the local Claude root folder, allowing users to specify a custom path.
- Added IPC handlers for selecting the Claude root folder and retrieving its information.
- Enhanced configuration validation to ensure the specified Claude root path is an absolute path.
- Updated the ServiceContext to reconfigure based on changes to the Claude root path, improving context management.
- Refactored related components to support the new Claude root path features, including updates to the UI and state management.
2026-02-14 13:43:56 +09:00
matt
e13a368c50 Update package.json and CI workflow for enhanced Linux packaging support
- Added AppImage, deb, and rpm targets to the Linux section in package.json for broader distribution options.
- Updated the CI workflow to use macos-15-intel for x64 builds and included rpm in the installation of Linux packaging dependencies.
2026-02-14 12:32:23 +09:00
matt
e11a0e258c Enhance CI workflow by adding Linux packaging dependencies installation step
- Added a step in the release workflow to install libarchive-tools, ensuring necessary dependencies are available for Linux packaging during the CI process.
2026-02-14 12:22:35 +09:00
matt
b5c057d550 Update package.json to include author email and enhance error handling in SshConnectionManager
- Modified the author field in package.json to include an email address for better attribution.
- Improved error handling in SshConnectionManager by providing a clearer exit code message when remote command execution fails.
2026-02-14 12:17:04 +09:00
matt
8729039698 feat(mac): add ARM64 and x64 distribution scripts and update README
- Introduced new distribution scripts for macOS targeting ARM64 and x64 architectures.
- Updated README to clarify download instructions for macOS Apple Silicon and Intel users.
- Enhanced CI workflow to support building for both architectures, improving release process.
2026-02-14 12:12:44 +09:00
matt
15e80406fa
Merge pull request #1 from unprolix/feat/linux-support
feat(linux): native window frame and pacman packaging
2026-02-14 12:05:17 +09:00