Files
Atomizer/atomizer-dashboard/frontend/vite.config.ts
Antoine 5c660ff270 feat: Add session management and global Claude terminal
Phase 1 - Accurate study status detection:
- Add is_optimization_running() to check for active processes
- Add get_accurate_study_status() with proper status logic
- Status now: not_started, running, paused, completed
- Add "paused" status styling (orange) to Home page

Phase 2 - Global Claude terminal:
- Create ClaudeTerminalContext for app-level state
- Create GlobalClaudeTerminal floating component
- Terminal persists across page navigation
- Shows green indicator when connected
- Remove inline terminal from Dashboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 12:56:34 -05:00

45 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
server: {
host: '0.0.0.0', // Bind to all interfaces (IPv4 and IPv6)
port: 3003,
strictPort: false, // Allow fallback to next available port
proxy: {
'/api': {
target: 'http://127.0.0.1:8000', // Use 127.0.0.1 instead of localhost
changeOrigin: true,
secure: false,
ws: true,
}
}
},
resolve: {
alias: {
// Use the smaller basic Plotly distribution
'plotly.js/dist/plotly': 'plotly.js-basic-dist'
}
},
build: {
rollupOptions: {
output: {
manualChunks: {
// Separate Plotly into its own chunk for better caching
plotly: ['plotly.js-basic-dist', 'react-plotly.js'],
// Separate React and core libs
vendor: ['react', 'react-dom', 'react-router-dom'],
// Recharts in its own chunk
recharts: ['recharts']
}
}
},
chunkSizeWarningLimit: 600
},
optimizeDeps: {
include: ['plotly.js-basic-dist']
}
})