- Replace next/font/google with next/font/local for Inter and Merriweather
- Add self-hosted font files to public/fonts/
- Wrap useSearchParams in Suspense boundary for /chat page
- Eliminates Turbopack TLS font loading issues during build
Renamed middleware convention to proxy as per Next.js 16 deprecation warning.
- Renamed src/middleware.ts to src/proxy.ts
- Renamed exported function from middleware() to proxy()
- Add 'Twilight Velvet' color palette to globals.css with OKLCH values
- Update SettingsPage headers, cards, and dialogs to use semantic theme variables
- Update HistoryCard, HistoryFeed, and DraftContent to support dark mode
- Update ProviderSelector and ProviderList to use custom card background (#2A2A3D)
- Add ThemeToggle component with improved visibility
- Ensure consistent use of 'bg-card', 'text-foreground', and 'text-muted-foreground'
- Fix ChatBubble to handle non-string content with String() wrapper
- Fix API route to use generateText for non-streaming requests
- Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.)
- Use Chat Completions API instead of Responses API for compatible providers
- Update ChatBubble tests and fix component exports to kebab-case
- Remove stale PascalCase ChatBubble.tsx file
Use h-dvh instead of h-screen to account for mobile browser's dynamic address bar, keeping chat input always visible at bottom of viewport.
Co-Authored-By: Claude <noreply@anthropic.com>
- Add PORT=3000 to both Dockerfile and docker-compose.yml
- Ensure proper file ownership in standalone build
- Fix potential 404 routing issues
Co-Authored-By: Claude <noreply@anthropic.com>
- Update docker-compose.yml port mapping from 3000:3000 to 6969:3000
- Internal container port remains 3000 for Traefik compatibility
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated package.json name field
- Created proper README with project description
- Updated BMAD configuration
Co-Authored-By: Claude <noreply@anthropic.com>