Commit History
-
fix gemini 3
fab9ff4 -
Make UI fully responsive for mobile and desktop
Complete mobile-first responsive redesign with bottom navigation: Main Layout (page.tsx): - Add mobile view state: 'chat', 'editor', or 'settings' - Three-column desktop layout (chat | editor | settings) - Single-column mobile layout with view switching - Left sidebar (chat): Hidden on mobile, full-screen when active - Center (editor): Default mobile view, always visible on desktop - Right sidebar (settings): Hidden on mobile, full-screen when active - Use absolute positioning on mobile (z-10) for overlay effect - Responsive classes: hidden md:flex, w-full md:w-80, etc. Mobile Bottom Navigation: - Three-button tab bar: Chat, Code, Settings - Icon + label for each tab - Active state: blue highlight with dark background - Inactive state: gray text with hover effect - Safe area padding for notch support - Only visible on mobile (md:hidden) Header (Header.tsx): - Responsive padding: px-3 md:px-5 - Responsive height: h-12 md:h-14 - Smaller logo and title on mobile - User avatar: w-6 md:w…75503d6 -
Comprehensive streaming fix: Eliminate all buffering sources
Issue: Code streaming still not working - chunks arriving but not displaying Root causes identified: 1. React 18 automatic batching delays state updates 2. Potential proxy/nginx buffering at various levels 3. DeepSeek using InferenceClient instead of OpenAI client Complete fix across full stack: Backend (backend_api.py): - Convert DeepSeek to use OpenAI client for consistent streaming - Add comprehensive anti-buffering headers: * Cache-Control: no-cache, no-transform * Content-Encoding: none * Transfer-Encoding: chunked * X-Accel-Buffering: no (prevents nginx buffering) - Add logging for MiniMax and DeepSeek initialization - All models now use OpenAI client (OpenRouter, MiniMax, DeepSeek) Frontend (page.tsx): - Import flushSync from react-dom - Wrap setGeneratedCode in flushSync() to bypass React 18 batching - Forces immediate synchronous DOM updates for each chunk - No more delayed/batched state updates How streaming works now: 1. Backend: LLM generates chunk → yield immed…4748143 -
Fix code streaming: Use functional state updates in React
Issue: Code only appeared at the end instead of streaming in real-time Root cause: React state updates were using a stale closure over the buffer variable Fix: - Replace buffer variable with functional state updates: setGeneratedCode(prev => prev + chunk) - This ensures each update works with the latest state, not stale closure - Clear previous code before starting new generation - Improved logging to show total code length as it grows How it works now: 1. Clear code editor when starting generation 2. Each chunk calls setGeneratedCode with functional update 3. React always appends to latest state, not stale buffer 4. Console logs show: 'Received chunk' and 'Total code length' growing 5. Monaco editor updates immediately as code grows This ensures true streaming where users see code appear character by character as the LLM generates it, not all at once at the end.f26c666 -
Fix streaming and use proper system prompts
Issues fixed: 1. Streaming not working properly - code only appeared at the end 2. Not using language-specific prompts from prompts.py Backend changes (backend_api.py): - Import system prompts from anycoder_app/prompts.py - Initialize Gradio and ComfyUI prompts on startup via docs_manager - Use language-specific prompts (HTML, Gradio, Streamlit, React, etc.) - Add proper system prompt selection based on language parameter - Improve streaming with smaller sleep intervals (0.01s) for immediate flush - Add chunk counting and logging for debugging - Add detailed logging for prompt selection Frontend changes (page.tsx, api.ts): - Add console logging to track chunk reception - Log SSE events for debugging - Log buffer sizes and chunk lengths - Track generation completion with total code length This ensures: ✅ Proper language-specific prompts are used (HTML, Gradio, Streamlit, etc.) ✅ Streaming works immediately with chunks appearing in real-time ✅ Better debugging with console logs ✅ Back…7523755 -
Fix TypeScript error in file extension logic
f4952e1 -
new UI
b42dfef