Files
docker-swarm-termina/frontend
Claude ce997ebdda Add automatic fallback to Simple mode when Interactive terminal fails
Frontend changes (TerminalModal.tsx):
- Added fallback state tracking (interactiveFailed, fallbackReason)
- Implemented fallbackToSimpleMode() function for automatic mode switching
- Added connection attempt tracking to prevent infinite retry loops
- Enhanced WebSocket error handling:
  * Detects connection errors (connect_error event)
  * Falls back after 2 failed connection attempts
  * Identifies critical errors (auth, Docker connection failures)
  * Handles unexpected disconnections (transport errors)
- Added prominent notification system:
  * Snackbar alert appears at top-center when fallback occurs
  * Displays reason for fallback to user
  * Includes "Retry" button for easy reconnection attempt
  * Auto-dismisses after 10 seconds
- Visual feedback in mode toggle:
  * Interactive button shows warning icon when failed
  * Orange color indicates failure state
  * Tooltip updates to show failure and retry option
- Smart retry functionality:
  * Resets failure state and connection attempts
  * Clears error messages on retry
  * Can be triggered via notification button or toggle switch

User experience improvements:
- No silent failures - users always know why Interactive mode didn't work
- One-click retry makes recovering from transient errors easy
- Automatic fallback ensures terminal always works (degrades gracefully)
- Clear visual indicators prevent confusion about current mode state

https://claude.ai/code/session_01UFVy14uUD5Q7DjkUSgUFXC
2026-01-30 21:38:56 +00:00
..
2026-01-26 04:26:15 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.