- Enhanced LiveCanvas with Babel Standalone and React/ReactDOM CDNs
- Implemented automatic import resolution and root mounting for React components
- Updated parseStreamingContent to identify React code as renderable 'app' artifacts
- Updated UI to automatically switch to Preview mode for React artifacts
- Updated all AI provider prompts to officially support and encourage React rendering
- Improved parseStreamingContent to be cực kỳ robust against malformed/bracket-heavy tags
- Added history transformation to send context in standard Markdown blocks instead of internal tags
- This prevents the AI from becoming 'tag-confused' and improves surgical edit reliability
- Refined partial tag hiding for smoother streaming UX
- Updated system prompts for all services to enforce 'ITERATIVE MODIFICATIONS' behavior
- Instructed AI to maintain design structure and only apply requested changes
- Added 'Change Log' requirement for text responses
- Modified AIAssist.tsx to preserve raw code in history for AI context
- Updated UI rendering to hide code tags while keeping them in context
- Added 'Applying surgical edits...' status feedback
- Refined regex to hide partial [AGENT] and [PREVIEW] tags during streaming
- Added 'Neural Link Thinking' indicator for initial response phase
- Added dynamic status badges (e.g., 'Generating web artifact...') during stream
- Improved robustness of streaming content parser
- Added text-slate-100 dark:text-slate-100 to input for visible text on dark bg
- Updated Qwen models to use valid names: qwen-coder-plus, qwen-turbo, etc
- Set qwen-coder-plus as default model for best coding assistance
- Removed intermediate /api/ai-assist call that caused 404 with basePath
- AI Assist now calls modelAdapter.generateAIAssistStream directly
- This fixes the HTTP 404 error on the live site
- Created lib/safeJsonFetch.ts helper to safely parse JSON responses
- Updated AIAssist.tsx to use safeJsonFetch with proper Content-Type header
- Improved app/api/ai-assist/route.ts with requestId tracking and safe body parsing
- All API responses now return JSON with proper error messages