6 Commits

Author SHA1 Message Date
Claude
cd16fbc6bb Add tests with coverage and e2e to Docker build process
- Update backend Dockerfile with multi-stage build that runs pytest
  with coverage (70% threshold) before production build
- Update frontend Dockerfile with multi-stage build including:
  - Unit test stage with Jest coverage
  - E2E test stage with Playwright
  - Production stage depends on test stages via markers
- Add Playwright e2e tests for login, dashboard, and terminal flows
- Configure Playwright with chromium browser
- Update jest.config.js to exclude e2e directory
- Update docker-compose.yml to target production stage

https://claude.ai/code/session_01XSQJybTpvKyN7td4Y8n5Rm
2026-02-01 17:10:32 +00:00
Claude
42c1d4737f Add comprehensive unit testing infrastructure
Install testing dependencies:
- Jest and jest-environment-jsdom for test runner
- React Testing Library for component testing
- @testing-library/user-event for user interaction simulation
- @types/jest for TypeScript support

Configure Jest:
- Next.js Jest configuration with jsdom environment
- Mock window.matchMedia, localStorage, and fetch
- Setup test paths and coverage collection

Add test coverage:
- Utility functions (terminal formatPrompt and highlightCommand)
- Redux store (authSlice async thunks and reducers)
- Custom hooks (useLoginForm, useAuthRedirect, useTerminalModal)
- React components (LoginForm, TerminalHeader, ContainerHeader, ContainerInfo, EmptyState)

Test results: 59 tests passing across 10 test suites

https://claude.ai/code/session_G4kZm
2026-01-30 23:28:09 +00:00
Claude
b580744f32 Fix logout and auth redirect issues with Redux implementation
- Install Redux Toolkit and React Redux
- Create Redux store with auth slice for centralized state management
- Implement global auth error handler to redirect to login on auth failures
- Update API client to trigger auth errors on 401 responses
- Replace React Context auth with Redux throughout the app
- Fix logout button to properly clear auth state and redirect
- Add automatic redirect to dashboard when already logged in on login page
- Add automatic redirect to login when not authenticated on dashboard
- Improve error handling for all container API methods

https://claude.ai/code/session_01U3wVqokhrL3dTeq2dTq73n
2026-01-30 22:22:12 +00:00
Claude
d9c790c560 Add interactive terminal mode with sudo, nano, and vim support
Backend changes:
- Added flask-socketio and python-socketio for WebSocket support
- Implemented WebSocket endpoint /terminal for interactive terminal sessions
- Added bidirectional communication between client and container PTY
- Enabled full bash shell with stdin support for interactive commands
- Updated server startup to use socketio.run

Frontend changes:
- Added xterm.js (@xterm/xterm) and socket.io-client dependencies
- Added FitAddon for responsive terminal sizing
- Implemented mode toggle between "Simple" and "Interactive" modes
- Created interactive terminal with full PTY support using xterm.js
- Connected WebSocket to backend for real-time command execution
- Added empty directory detection for ls commands in simple mode
- Terminal now defaults to interactive mode for better UX

Features:
- Interactive mode supports sudo with password prompts
- Full support for interactive editors (nano, vim, emacs)
- Proper terminal emulation with color support and control sequences
- Responsive terminal sizing and window resize handling
- Empty folder detection shows "(empty directory)" message
- Mode toggle allows switching between simple and interactive modes

https://claude.ai/code/session_01UFVy14uUD5Q7DjkUSgUFXC
2026-01-30 21:33:54 +00:00
dependabot[bot]
0242082ee1 Bump next in /frontend in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [next](https://github.com/vercel/next.js).


Updates `next` from 16.1.1 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.1.5)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 23:00:04 +00:00
copilot-swe-agent[bot]
a6f6c841cd Move old project and create new Flask + Next.js + MUI stack
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-08 22:46:46 +00:00