Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm
Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)
Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability
Migration completed: $(date)
🤖 Clean migration with full functionality preserved
4.6 KiB
DSS Admin UI - Error Fixes Summary
Date: 2025-12-08 Status: ✅ All Errors Fixed
Fixed Errors
1. ✅ Context Store Error (CRITICAL)
Error: Cannot read properties of undefined (reading 'project')
Location: ds-ai-chat-sidebar.js:48
Root Cause: Called contextStore.get() without parameters instead of contextStore.getState()
Fix:
// Before
const context = contextStore.get();
this.currentProject = context.project;
// After
const context = contextStore.getState();
this.currentProject = context.currentProject;
this.currentTeam = context.teamId;
File: /admin-ui/js/components/layout/ds-ai-chat-sidebar.js:47-50
2. ✅ API Client Base URL (CRITICAL)
Error: GET /projects returns 404
Root Cause: API client defaulted to http://localhost:3001/api in production
Fix:
// Before
constructor(baseURL = 'http://localhost:3001/api') {
// After
constructor(baseURL = null) {
this.baseURL = baseURL || (typeof window !== 'undefined' &&
window.location.hostname === 'localhost'
? 'http://localhost:3001/api'
: '/api');
File: /admin-ui/js/services/api-client.js:8-11
3. ✅ Notification Storage Initialization (MAJOR)
Error: Failed to load notifications from storage
Root Cause: Imported idb as namespace, but module exports singleton dssDB
Fix:
// Before
import * as idb from '../db/indexed-db.js';
const notifications = await idb.getAll(NOTIFICATION_STORE);
// After
import dssDB from '../db/indexed-db.js';
const notifications = await dssDB.getAll(NOTIFICATION_STORE);
File: /admin-ui/js/services/notification-service.js:6,64,147,195,213,236,251
4. ✅ Missing Component Registration (MAJOR)
Error: [ComponentRegistry] Unknown component: ds-frontpage
Root Cause: Component existed but not registered in component registry
Fix:
// Added to COMPONENT_REGISTRY
'ds-frontpage': () => import('../components/metrics/ds-frontpage.js'),
File: /admin-ui/js/config/component-registry.js:51-52
Current Status
| Component | Status | Details |
|---|---|---|
| Admin UI Page Load | ✅ Working | Loads without critical errors |
| Console Forwarder | ✅ Working | Monitoring logs from page startup |
| Chat Panel | ✅ Working | Context loaded correctly |
| API Client | ✅ Working | Uses relative /api path in production |
| Notifications | ✅ Working | Storage initialized correctly |
| Components | ✅ Working | Registry lookup successful |
Monitoring
Browser Log Monitor (MCP Integration)
A real-time log monitoring script has been created to automatically alert on errors:
Script: .dss/log-monitor-mcp.py
Features:
- Real-time monitoring of
browser-logs/browser.log - Automatic error detection and severity classification
- MCP integration for smart alerts
- Duplicate suppression (alerts only on first occurrence)
- Critical error detection for immediate alerting
Usage:
python3 .dss/log-monitor-mcp.py
Alert Levels:
- 🔴 CRITICAL - Uncaught exceptions, failed to load
- 🟠 ERROR - API errors, component loading issues
- 🟡 WARNING - Multiple warnings or timeout alerts
Deployment Status
Production URLs:
- https://dss.overbits.luz.uy/
- Credentials:
admin:A0ZYyPeDQAT4rQ6KmHKdT1
Services Running:
- ✅ Nginx (443) - Serving static files from dist/
- ✅ FastAPI (8002) - API backend with logging endpoint
- ✅ Browser Console Forwarder - Capturing logs from admin UI
- ✅ Orchestrator (8000) - MCP server
- ✅ Storybook (6006) - Design system docs
Recent Page Loads (No Errors):
[INFO] [Console Forwarder] Initialized. Monitoring active.
[INFO] [DSAiChatSidebar] Chat panel loaded
[INFO] [ComponentRegistry] Loading component: ds-storybook-figma-compare
[INFO] [UIWorkdesk] Loaded component: ds-storybook-figma-compare
[INFO] %c💭 [Claude] MCP tools initialized successfully
Files Modified
admin-ui/js/components/layout/ds-ai-chat-sidebar.js
admin-ui/js/services/api-client.js
admin-ui/js/services/notification-service.js
admin-ui/js/config/component-registry.js
All changes have been copied to production build at:
admin-ui/dist/admin-ui/js/...
Next Steps
The admin UI is now fully functional with:
- All critical errors fixed
- Real-time log monitoring in place
- MCP integration for alerts
- Production deployment verified
Continue monitoring logs with:
python3 .dss/log-monitor-mcp.py
The system will automatically alert on any new errors through MCP.