Files
headquarter/openspec/changes/archive/2026-05-22-session-management-fixes/tasks.md
T
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

1. Backend - Tunnel Recreation

  • 1.1 Add recreate_tunnel function to docker.py
  • 1.2 Create POST /instances/{id}/recreate-tunnel endpoint in tool_instances.py
  • 1.3 Update stop_instance to also stop the tunnel process

2. Backend - Tunnel Health Check

  • 2.1 Add check_tunnel_health(url) function to docker.py
  • 2.2 Create GET /instances/{id}/health endpoint in tool_instances.py
  • 2.3 Add tunnel_url_health field to ToolInstance model (optional, can use status)

3. Frontend - Stop Confirmation

  • 3.1 Add confirmation dialog component for stop action
  • 3.2 Update SessionsPage stop handler to show confirmation
  • 3.3 Update InstanceList stop handler to show confirmation

4. Frontend - Delete State Update

  • 4.1 Update delete handler in SessionsPage to filter state immediately
  • 4.2 Update delete handler in InstanceList to filter state immediately
  • 4.3 Ensure error handling shows message on failure

5. Frontend - Tunnel Health & Recreate

  • 5.1 Add tunnel health check API function in sessions.ts
  • 5.2 Add recreate tunnel API function in sessions.ts
  • 5.3 Implement health check polling (30s interval) in SessionsPage
  • 5.4 Show error badge when tunnel is unhealthy
  • 5.5 Add "Recreate Tunnel" button next to "Open" button
  • 5.6 Update InstanceList to show health status and recreate button

6. Quality Gates

  • 6.1 Run Python syntax check
  • 6.2 Run frontend typecheck - PASSED
  • 6.3 Run frontend lint - PASSED
  • 6.4 Test stop confirmation dialog
  • 6.5 Test delete state update
  • 6.6 Test tunnel recreation
  • 6.7 Commit and push changes