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>
45 lines
1.1 KiB
TypeScript
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']
|
|
}
|
|
})
|