063a839790
- Add clone_mode and branch fields to tool_instances - Add ssh_key_id to git_repositories for per-repo SSH key assignment - Implement host-side git cloning with branch selection (default: main) - Mount SSH keys into containers for git operations in clone mode - Add dirty state check on clone-mode instance deletion with confirmation - Update SessionsPage with mount/clone selector, branch input, SSH key display - Add SSH key selector to repository creation form - Add dirty delete confirmation modal with changed files list - Update API schemas and endpoints for new fields - Sync delta specs to main specs (git-repo, tool-instances, repo-clone-mode) - Archive completed OpenSpec change: repo-clone-mode-with-ssh - Document git requirement for custom tool types Quality gates: Frontend typecheck and build passed OpenSpec: repo-clone-mode-with-ssh archived with all tasks complete
1.6 KiB
1.6 KiB
Why
The session management UI has critical UX and reliability issues that make it frustrating to use. Users can accidentally stop sessions without confirmation, deleted sessions remain visible until manual reload, and broken tunnels require full instance restart to fix. These bugs degrade the core user experience of the tool instance system.
What Changes
- Add confirmation dialog for stopping sessions - Prevent accidental session stops with a "Are you sure?" dialog
- Fix frontend state after session deletion - Update React state immediately when delete succeeds so the session disappears without reload
- Add tunnel health monitoring - Periodically check if tunnel URLs respond with HTTP 200, mark as erroneous if not
- Add "Recreate Tunnel" button - Allow users to regenerate a broken tunnel without restarting the entire instance
- Display tunnel health status - Show visual indicator (error badge) when a tunnel is broken
Capabilities
New Capabilities
tunnel-health-monitoring: Background health checks for temporary Cloudflare tunnels with status indicatorssession-lifecycle-ux: Improved session stop/delete interactions with confirmations and state updates
Modified Capabilities
tool-instances: Update instance model and API to support tunnel recreation without full restart
Impact
- Frontend:
sessions.tsx,instance-list.tsx,api/sessions.ts - Backend:
tool_instances.py(tunnel recreation endpoint),docker.py(tunnel restart utility) - Database: No schema changes needed (existing
tunnel_idandurlfields reused) - Docker: No changes needed