Files
Fusion 063a839790 feat: implement repository clone mode with SSH key support
- 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
2026-05-22 22:56:35 +02:00

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 indicators
  • session-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_id and url fields reused)
  • Docker: No changes needed