6ec35988cc
- Add inline confirmation dialog before stopping instances - Delete instances from state immediately without page reload - Add health check polling every 30s for running instances - Show tunnel error badge when tunnel is unreachable - Add 'Fix Tunnel' button to recreate broken tunnels - Update API client with health check and tunnel recreation endpoints
1.6 KiB
1.6 KiB
1. Backend - Tunnel Recreation
- 1.1 Add
recreate_tunnelfunction to docker.py - 1.2 Create
POST /instances/{id}/recreate-tunnelendpoint 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}/healthendpoint 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
- 6.3 Run frontend lint
- 6.4 Test stop confirmation dialog
- 6.5 Test delete state update
- 6.6 Test tunnel recreation
- 6.7 Commit and push changes