- Changed AI provider from Azure OpenAI to Google Gemini
- Updated model list with Gemini 2.5 Flash (default), 2.0 Flash-Lite, and 2.5 Pro
- Updated backend environment variables for Gemini API
- Changed default port from 3001 to 3002
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed fallback model ID from GPT-4o-Mini to Gemini 2.5 Flash for template-based conversations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add PATCH method to CORS allowed methods
- Change title generation to use Gemini 2.5 Flash instead of GPT-5
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update chat store to find model with isDefault: true
- Fix model selection in chat page and spaces page
- Falls back to first model if no default is set
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Azure/GPT-5 models are disabled (isActive: false) since no deployments exist.
Only Gemini models are now shown in the model selection dropdown.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace custom PillAppDropdown with standard PillDropdown
- Add appItemsToDropdownItems helper function
- Use grid icon for app switcher
- Consistent styling with theme dropdown
- Delete unused PillAppDropdown component
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change gemini-2.5-flash-preview-05-20 to gemini-2.5-flash
- Change gemini-2.5-flash-lite-preview to gemini-2.0-flash-lite
- Change gemini-2.5-pro-preview-06-05 to gemini-2.5-pro
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Import getPillAppItems from shared-branding
- Enable showAppSwitcher with all Mana apps
- Current app (chat) is marked in dropdown
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add @google/generative-ai package for Gemini integration
- Update ChatService to support both Azure OpenAI and Gemini providers
- Add Gemini 2.5 Flash, Flash-Lite, and Pro models to seed
- Set Gemini 2.5 Flash as the default model for fast responses
- Add DEV_BYPASS_AUTH mode for local development
- Make /api/models endpoint public (no auth required)
- Add port 5174 to CORS allowed origins
- Add isDefault field to models schema
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Integrate Light/Dark/System mode toggle into the theme variant dropdown
as a header section with icon-only buttons. The standalone theme toggle
is now hidden when showThemeVariants is enabled.
- Add header snippet support to PillDropdown component
- Add themeMode and onThemeModeChange props to PillNavigation
- Create compact 3-button mode selector (sun/moon/monitor icons)
- Style mode selector to match glass-pill design system
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace emoji with Phosphor icon components in ThemeCard
- Add icon property to ThemeVariantDefinition type
- Add theme icon SVG paths to PillDropdown (sparkle, leaf, hexagon, waves)
- Update all app layouts to use icon instead of emoji for theme variants
- Integrate shared-theme system into Zitare web app
- Migrate Zitare from Tailwind v3 to v4
- Add themes page to Zitare
- Update Zitare settings page with icon-based theme display
- Add missing shared-icons dependency to Presi and Zitare
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add unique background colors for each theme variant:
- Lume: warm cream/gold tint
- Nature: green tint in dark mode
- Stone: blue-gray tint in dark mode
- Ocean: blue tint in dark mode
- Create shared-theme-ui components:
- ThemeColorPreview: color circles preview component
- ThemeCard: individual theme card with status support
- ThemeGrid: responsive grid layout
- ThemePage: full page component with mode selector
- Integrate theme page in Chat app:
- Add /themes route with ThemePage component
- Add "🎨 Alle Themes" link to PillNavigation dropdown
- Add palette icon to shared-ui icon set
- Migrate Presi and Picture apps to shared-theme system
- Update semantic color usage across all apps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Migrate icons from custom implementation to @manacore/shared-icons (phosphor-svelte)
- Add CSS media queries for dark/light mode (no more flash on reload)
- Add subtle entrance animations (logo fadeInScale, form fadeInUp, slider fadeIn)
- Redesign custom checkbox with CSS-only styling
- Remove isDark prop dependency, use prefers-color-scheme instead
- Update auth layout to allow full-page rendering
Also updates AppSlider component:
- Add staggered entrance animations for app cards
- Redesign modal with glassmorphism style
- Add theme-aware styling via CSS media queries
- Improve status badge design in modal
- Add close button in top-right corner
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace custom Icon.svelte component with phosphor-svelte library
- Remove iconPaths.ts with manually maintained SVG paths
- Update @manacore/shared-icons to re-export phosphor-svelte
- Migrate shared-ui Modal and ConfirmationModal components
- Migrate shared-theme-ui ThemeToggle and ThemeModeSelector
- Migrate all chat app components to use Phosphor Icons
- All apps now use consistent icon API: <IconName size={24} weight="bold" />
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add port 5180 to CORS_ORIGINS in .env.development
- Add port 5178 to Presi backend CORS config
- Fix Presi API client to use /api prefix
- Add strictPort: true to all web app vite configs to prevent port switching:
- manacore: 5173
- chat: 5174
- picture: 5175
- manadeck: 5176
- zitare: 5177
- presi: 5178
- voxel-lava: 5180
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update login, register, forgot-password pages to use shared-auth-ui components
- Add AppSlider to all auth pages for cross-app discovery
- Use German translations for all UI text
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add app-icons.ts with SVG data URLs for all Manacore apps
- Add mana-apps.ts with centralized app configuration (de/en translations)
- Update AppSlider components across all apps to use global APP_ICONS
- Use real SVGs for memoro, manacore, mana, moodlit, maerchenzauber
- Placeholder icons for apps without original SVGs (chat, presi, manadeck, picture, zitare, wisekeep)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add webpack builder to nest-cli.json to fix tsc noEmit issue
- Add localhost:5178 to CORS whitelist in backend
- Fix auth token key in api.ts to match @manacore/shared-auth storage
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Problem:**
- CI build was failing with "Cannot find module manifest-full.js"
- Root cause: Infinite recursive turbo build loop
- chat/package.json had "build": "turbo run build" script
- When CI called `pnpm run build --filter=chat...`, it triggered recursion:
- CI → turbo → chat:build → turbo → chat:build → turbo (infinite)
- Additionally, `--filter=manacore...` failed with "No package found"
**Solution:**
1. Removed "build" script from apps/chat/package.json to prevent recursion
2. Changed CI filters from `--filter=PROJECT...` to `--filter='./apps/PROJECT/**'`
- Directory-based filters work regardless of package.json name
- Prevents recursive turbo calls from wrapper packages
3. Applied fix to all CI jobs: build, lint, type-check, test
**Impact:**
- SvelteKit builds now complete successfully
- manifest-full.js is generated correctly
- No more infinite turbo loops
- Builds work for both chat and manacore projects
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>