Commit graph

30 commits

Author SHA1 Message Date
Amrit Subramanian 4dce901166 Remove unused sessionId parameter from MCP handlers
Since MCP commands now run in independent login shells via execAsync,
the sessionId parameter is no longer needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 23:20:26 -04:00
Amrit Subramanian 84e43f656c Run MCP add/remove/get commands in poller PTY instead of execAsync
- Fixes issue where execAsync spawns non-login shell without claude in PATH
- All MCP operations now run in the session's MCP poller PTY
- Adds executeInMcpPoller helper to run commands and wait for completion
- Uses prompt detection to know when command finishes
- 10 second timeout for safety

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 19:37:08 -04:00
built-by-as c07124b6e9
Revert "Add worktree path display to session sidebar" 2025-10-07 15:15:54 -04:00
Amrit Subramanian d25d969dde Add worktree path display to session sidebar
Shows the worktree directory path below each session name in the sidebar with subtle gray text to help users identify where each session's files are located.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 15:02:14 -04:00
Amrit Subramanian 2e88696071 Add configurable worktree root directory setting
Users can now configure where worktrees are stored via the settings modal. The setting is persisted and applies to all new sessions created after the change.

Changes:
- Added worktreeDir field to TerminalSettings interface
- Added UI controls in settings modal for selecting worktree directory
- Updated worktree creation logic to use configured directory
- Defaults to ~/worktrees for backward compatibility
2025-10-07 14:55:35 -04:00
Amrit Subramanian ea581b76c6 Hide MCP section when deleting last active session
When a session is deleted and there are no remaining active sessions,
hide the MCP servers section to match the behavior of closeSession.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 13:28:15 -04:00
Amrit Subramanian d33ed2c40e Clear MCP sidebar when switching between sessions
Fixes issue where MCP servers from previous session would remain visible
in sidebar until new session's servers loaded.
2025-10-06 18:38:26 -04:00
Amrit Subramanian 2930290662 resizing works, delete git branch when deleting session 2025-10-06 18:05:14 -04:00
Amrit Subramanian d0e5122077 Upgrade to @xterm/addon-fit from xterm-addon-fit
- Replaced deprecated xterm-addon-fit with modern @xterm/addon-fit package
- Updated import statement to use scoped package name
- No functional changes, just using the newer maintained package

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-05 21:12:37 -04:00
Amrit Subramanian fcd62c27bb Add custom branch name feature
Users can now specify a custom branch name when creating a session. If provided, the custom name is used as both the git branch name and the session display name.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-05 17:09:48 -04:00
Amrit Subramanian 9405824d7b Add loading spinner to MCP add button during polling
- Send mcp-polling-started event from main process before each poll
- Show spinner on add button when polling starts
- Restore + button when mcp-servers-updated event received
- Spinner shows on initial load and every 60s refresh
2025-10-05 16:13:23 -04:00
Amrit Subramanian 54e7a1adb4 Implement per-session MCP server polling with headless PTY
- Add headless PTY poller for each session that runs in session's worktree directory
- Spawn MCP poller when Claude shows > prompt (authenticated context)
- Parse MCP server output with regex, merge servers by name to handle chunked data
- Show/hide MCP section based on active session
- Clean up MCP pollers on session close/delete
- Add unique UUID suffix to branch names to prevent conflicts on recreate
- Remove global MCP polling interval in favor of per-session polling
2025-10-05 13:47:37 -04:00
Amrit Subramanian cd4e0f64c8 Add login shell support, session creation loading state, and refactoring
- Spawn PTY as login shell (-l flag) to properly source shell configs (fixes pyenv issues)
- Add animated loading spinner to session creation button
- Refactor duplicate PTY spawning logic into shared spawnSessionPty() function
- Fix unread indicator bugs (clear timers on session switch/close/delete)
- Configure electron-builder to publish releases instead of drafts
- Remove Windows builds (node-pty compilation issues)
2025-10-04 22:49:33 -04:00
Amrit Subramanian 8f4b1ab367 try to fix unread indicator 2025-10-03 17:03:50 -04:00
Amrit Subramanian 7d7a545ef8 readme 2025-10-03 16:55:59 -04:00
Amrit Subramanian c45ac9ea98 set up commands before claude 2025-10-03 16:27:22 -04:00
Amrit Subramanian 020d8ba82d configurable themes 2025-10-03 16:18:18 -04:00
Amrit Subramanian 7c1a97ea58 fix unread indicator 2025-10-03 15:14:12 -04:00
Amrit Subramanian f05d2502c5 ignore fleetcode directory 2025-10-03 15:12:46 -04:00
Amrit Subramanian 61d2defd93 unread indicator 2025-10-03 12:14:46 -04:00
Amrit Subramanian 230814bee4 unread indicator 2025-10-03 11:28:26 -04:00
Amrit Subramanian d01e715e68 mcp servers and a bunch of stuff 2025-10-03 01:13:24 -04:00
Amrit Subramanian 1c614c9d28 add mcp server working 2025-10-03 00:25:36 -04:00
Amrit Subramanian 1d873aa82a worktrees 2025-10-02 21:16:50 -04:00
Amrit Subramanian fe287a2f53 persist settings for quicker session creation 2025-10-02 20:47:20 -04:00
Amrit Subramanian f61aca9d09 session config 2025-10-02 20:20:05 -04:00
Amrit Subramanian 66e0c96b75 refactor styles 2025-10-02 18:33:22 -04:00
Amrit Subramanian 7fd4968a35 some terminal session fixes 2025-10-02 13:22:03 -04:00
Amrit Subramanian 272f763e71 sidebar 2025-10-02 13:16:38 -04:00
Amrit Subramanian cec2c28ce1 typescript 2025-10-02 13:03:09 -04:00
Renamed from renderer.js (Browse further)