|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +2025-10-16: Dashboard UX, Markmap rendering fix, and RAG error handling improvements |
| 4 | +- **Logout button**: Added logout button to user info card in Dashboard header with red hover state for clear UX |
| 5 | +- **Component extraction**: Extracted UserInfoCard into separate component at `src/apps/home/components/UserInfoCard.jsx` for better modularity |
| 6 | +- **Width consistency**: Set UserInfoCard width to 380px to match sidebar width for visual balance |
| 7 | +- **Markmap race condition fix**: Fixed initialization race condition in MarkmapViewer where content would arrive before markmap finished loading, causing blank renders |
| 8 | +- **RAG error handling**: Added content-type check before JSON parsing to show clear "RAG endpoint not available" error instead of cryptic JSON parse errors |
| 9 | +- **@ mentions logging**: Changed @ mentions detection to use console.debug and simplified output format for cleaner logs |
| 10 | +- **Ollama discovery spam fix**: Fixed infinite re-fetching by removing `connectedServices` from useEffect dependencies in correct hook file |
| 11 | +- **Rate limit handling**: Replaced rate limiting with 5-second server-side caching to prevent "Too Many Requests" errors |
| 12 | +- **Rigging file size optimization**: Added smart submission using public URLs for files >30MB to avoid Data URI base64 overhead |
| 13 | +- **CalendarAI error handling**: Added graceful handling for corrupted localStorage data and 401/400 API responses |
| 14 | + |
| 15 | +2025-10-12: OAuth scope fixes and comprehensive setup documentation |
| 16 | +- **Figma scope fix**: Changed Figma OAuth scope from `files:read` to `file_read` (correct format with underscore) |
| 17 | +- **OAuth setup guide**: Created comprehensive documentation at `docs/OAUTH_SETUP.md` with step-by-step instructions for GitHub, Notion, Figma, and Google services |
| 18 | +- **Configuration help**: Guide includes common errors, debugging steps, redirect URI requirements, and environment variable setup |
| 19 | +- **Production notes**: Added deployment checklist and security best practices |
| 20 | + |
| 21 | +2025-10-12: Service connection fixes with proper OAuth redirects and error handling |
| 22 | +- **OAuth redirect fix**: Changed callback redirect parameter from `service` to `connected` to match Dashboard expectations |
| 23 | +- **Error handling**: Added comprehensive error toast notifications for OAuth failures (oauth_error, missing_params, invalid_state, token_exchange, callback_error) |
| 24 | +- **Service name formatting**: Improved service name display formatting (e.g., googleDrive → Google Drive) in toast messages |
| 25 | +- **Error parameter**: Changed error redirects to use `errorService` parameter to avoid conflicts with success flow |
| 26 | +- **User feedback**: All connection errors now show user-friendly toast messages with 7-second duration for better visibility |
| 27 | +- **Toast z-index fix**: Increased toast container z-index to 999999 to ensure toasts appear above all UI elements |
| 28 | +- **Real-time status updates**: Dashboard now calls fetchConnectedServices() after OAuth success to immediately refresh ServiceStatusWidget and AppCard states |
| 29 | +- **Reactive UI**: All service-dependent components (ServiceStatusWidget, AppCard) automatically update when connection state changes via Zustand reactivity |
| 30 | + |
| 31 | +2025-10-12: Production-ready Dashboard with app launcher, service status, and toast notifications |
| 32 | +- **Dashboard home page**: Complete production-ready Dashboard at root `/` with personalized greeting, app launcher grid, category filtering, and service overview sidebar |
| 33 | +- **App manifests**: Centralized metadata for all 11 micro-apps (idealab, imagebooth, calendarai, empathylab, gesturelab, planner, archiva, workflows, chat, kanban, characterlab) with services, features, categories, icons, colors, and status |
| 34 | +- **Service integration**: ServiceStatusWidget shows connection status with progress bar, service icons (react-icons), and quick access to Settings; AppCard components disable apps when required services are missing |
| 35 | +- **Toast notification system**: Global toast system with Toast, ToastContainer components integrated into Zustand store; supports success, error, warning, info types with auto-dismiss, animations, and glassmorphism design |
| 36 | +- **OAuth feedback**: Dashboard detects OAuth success redirect params and shows toast notification confirming service connection (e.g., "GoogleDrive connected successfully!") |
| 37 | +- **Login redirect**: Users now land on Dashboard (`/`) after successful authentication instead of staying on previous URL |
| 38 | +- **Dashboard navigation**: Added home button to UserBar footer for quick navigation back to Dashboard from any micro-app |
| 39 | +- **Clean Dashboard layout**: AppSwitcher and UserBar are hidden on Dashboard page to provide a full-screen, distraction-free landing experience |
| 40 | +- **Routing updates**: Changed root route from redirect to Dashboard component; updated getAppIdFromPath to recognize 'home' app; added home routes to APP_ID_TO_SLUG and APP_ROUTE_MAP |
| 41 | +- **Responsive design**: Two-column layout (app grid + sidebar) with mobile breakpoints; category filter buttons; quick stats showing app counts; quick links to common actions |
| 42 | +- **Glassmorphism styles**: 800+ lines of production-ready CSS using design system tokens (--space-*, --color-*, --radius-*) with backdrop-filter, smooth transitions, hover effects, and accessibility features |
| 43 | + |
3 | 44 | 2025-10-11: CharacterLab Google Drive import with real-time optimization progress |
4 | 45 | - **Drive import endpoint**: `/api/drive/models` lists GLB files from specific folder (16MZ6twRIR6-wFcHmy8ZdU8Fikk5X9D5J); `/api/drive/import/:fileId` downloads and optimizes with Server-Sent Events progress streaming |
5 | 46 | - **Enhanced optimization**: 11-step gltf-transform pipeline (dedup, instance, palette, flatten, join, weld, simplify with meshoptimizer, resample, prune, sparse, textureCompress to WebP) achieves 70-90% size reduction |
|
0 commit comments