- Fix: Add sessionId tracking to useChatStore for draft saving
- feat: Update Teacher prompt to "Funky Universal Sage (Conversational)"
- feat: Update Ghostwriter prompt to "Personal Diary Reporter" with keywords
- feat: Redesign DraftSheet to match history rendering style
- feat: Add keywords/tags support to drafts
- feat: Change draft accept behavior to redirect to homepage
Co-Authored-By: Claude (glm-4.7) <noreply@anthropic.com>
- 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