12 KiB
12 KiB
Changelog
All notable changes to the Habland Admin Panel will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.1.0] - 2025-12-08
Added
- Health Check Dashboard: Real-time system health monitoring at
/health- System status: Docker, MariaDB, containers, databases
- Circular health score visualization
- Auto-refresh every 5 seconds
- Response time tracking for all components
- Component status cards with detailed diagnostics
- Database-Based Clothing Management for Arcturus: Full CRUD interface at
/clothingRetro tab- Manage 589 clothing bundles directly from catalog_clothing table
- Add/Edit/Delete clothing items with inline editing
- Search functionality for quick filtering
- View and edit name and setid (comma-separated set IDs)
- Real-time updates with SWR
- Dedicated API endpoint
/api/clothing/dbfor database operations
- Dark/Light Theme Toggle: Seamless theme switching with next-themes
- Toggle button in top bar
- Persistent theme preference
- Smooth transition animations
- Light mode optimized color palette
- System theme detection support
- Comprehensive Theme Customization: Full theme control system at
/settings- 6 preset themes: Orange Fury, Purple Dream, Ocean Blue, Emerald Green, Sunset, Midnight
- One-click preset application with instant preview
- Custom gradient colors (start/end) with color pickers
- Primary, secondary, and accent color customization
- Border radius slider (0-24px) for UI roundness control
- Live preview section showing theme changes in real-time
- Auto-reload after save to apply theme changes
- Theme persistence via database storage
- CSS variables system for consistent theming across all components
- ThemeProvider with SWR integration for 30-second auto-refresh
- Full API support for theme properties (gradient_start, gradient_end, primary_color, secondary_color, accent_color, border_radius)
- Debug Console: Comprehensive system diagnostics at
/debug- System information (hostname, platform, CPU, memory, uptime)
- Environment variables and configuration
- Docker version and container statistics
- Database connection status and metrics
- Node.js process performance monitoring
- Application logs viewer
- Export debug data as JSON
- Auto-refresh every 5 seconds
- Bulk Operations Interface: Mass action system at
/bulk- User operations: ban, unban, give credits/pixels/points, set rank
- Furniture operations: delete items, move to inventory
- Catalog operations: enable/disable, update pricing, set limited edition
- Multi-select with search and filter
- Confirmation dialogs for dangerous operations
- Transaction-based execution with rollback support
- Success/failure reporting with detailed error messages
- Automated Backup System: Database backup management at
/backups- One-click manual backups with compression
- Scheduled backup support (daily/weekly/monthly)
- Backup rotation and retention policies
- Restore from backup with confirmation
- Backup integrity verification (SHA-256 checksums)
- Transaction-based backup/restore with automatic rollback
- Cleanup old backups (30+ days)
- Backup metadata tracking in database
- Mobile-Responsive Design: Optimized for all screen sizes
- Mobile navigation drawer with swipe gestures
- Touch-friendly controls and buttons
- Responsive tables and layouts
- Mobile-optimized dashboard
- Hamburger menu navigation
- Progressive disclosure of UI elements
- Adaptive component sizing (sm/md/lg breakpoints)
- Progressive Web App (PWA): Install as native app
- Service worker for offline support
- App manifest for home screen installation
- Cached resources for faster loading
- Mobile-optimized icons (192px, 512px)
- Standalone display mode
- Theme color integration
- Apple iOS support
- Keyboard Shortcuts Help: Press
Cmd/Ctrl+/to view all shortcuts - Unified Search System: Press
Cmd/Ctrl+Kto search across containers, users, furniture, and pages - Quick Actions Toolbar: Floating action button (Shift+Q) for common tasks
- Restart/Stop all containers
- Quick database backup
- Clear cache
- Maintenance mode toggle
- Container Modal System: Comprehensive 7-tab modal for each container
- Links & Ports: Container URLs and port mappings
- Notes: Persistent notepad for container documentation
- Credentials: Comprehensive default credentials from docker-compose.yml for all 14 containers
- Automatic display of database credentials (usernames, passwords, hosts, ports)
- Network port configurations (game ports, RCON, MUS, web ports)
- API endpoints and service URLs
- System configuration (Java opts, upload limits, etc.)
- Color-coded categories: database (blue), network (green), api (purple), system (orange)
- Show/hide toggle for sensitive values
- Custom secrets storage with encryption support
- Documentation: Links to GitHub repos and official docs
- Controls: Start/stop/restart with confirmation dialogs
- Status: Real-time CPU, memory, network I/O, uptime stats
- Logs: View and download container logs with auto-refresh
- Enhanced Documentation Links: Updated all container docs to official GitHub sources
- Arcturus Morningstar Extended
- Havana, Kepler, Roseau emulators
- AtomCMS, Nitro React, and more
- API Endpoints: New backend routes for container management and system operations
/api/health- System health check with component status/api/debug- System diagnostics and performance metrics/api/bulk- Bulk operations for users, furniture, and catalog/api/backups- Database backup management (GET/POST/DELETE)/api/backups/restore- Restore database from backup/api/backups/[id]- Delete individual backup/api/containers/[id]/logs- Container log retrieval/api/containers/[id]/stats- Real-time container statistics/api/containers/[id]/notes- Persistent notes storage/api/containers/[id]/secrets- Secure credentials storage/api/search- Global search across all resources
Fixed
- Console errors from missing images (hotel-icon.png, room images)
- Created placeholder SVG images for all container cards
- Fixed Google Fonts build issue by removing external font dependency
- Fixed residual Google Fonts CSS variable reference (--font-jakarta) in globals.css
- Replaced with system font stack for consistent, fast loading fonts
- Updated to Next.js 16 async params API
- Fixed search bar in TopBar - clicking now properly opens SearchModal
- Search bar now functional alongside Cmd/Ctrl+K keyboard shortcut
- Fixed Retro Tab in Furniture Editor: Performance optimization
- Removed expensive LEFT JOIN with FIND_IN_SET() that was causing 10+ second load times
- Simplified query to fetch items_base directly without catalog_items JOIN
- API response time improved from 10+ seconds to ~100ms (100x faster)
- Retro tab now displays all 52,000+ furniture items from Arcturus database instantly
- Returns 500 items per request with fast search and pagination
- API endpoint
/api/furni?emulator=retrofully functional
- Fixed Console Errors: Resolved multiple browser console errors
- Fixed missing PWA icon by updating manifest.json to use SVG icons (icon-192.svg, icon-512.svg)
- Fixed clothing API 400 error for retro tab by adding proper handling
- Retro tab now shows "Not Supported Yet" message (uses database, not XML)
- Prevented JavaScript crash from undefined data access
- Fixed Container Control Errors: Improved error handling for Docker container operations
- Added container existence validation before performing actions
- Improved error messages for network configuration issues
- Added specific error handling for containers with stale network configurations
- User-friendly error messages now displayed instead of generic failures
- Fixed Service Worker Cache Error: Resolved PWA service worker caching issues
- Service worker now skips caching for POST/PUT/DELETE requests
- Fixed "Request method 'POST' is unsupported" error in Cache API
- Only GET requests are cached, as per Cache API specification
- Fixed Self-Restart 502 Error: Improved handling when restarting admin-panel from within itself
- Detects self-restart/stop operations and responds before executing
- Uses setImmediate to perform action after response is sent
- Eliminates 502 Bad Gateway errors when controlling the admin-panel container
- User-friendly message warns that page will become temporarily unavailable
- Fixed Theme Preview: Theme changes now apply in real-time on settings page
- Added useEffect hook to apply CSS variables immediately when colors change
- Users can now see theme changes instantly before saving
- Clicking preset buttons now updates UI colors in real-time
- No page reload needed to preview theme changes
- Added Full CRUD Controls to Furniture Editor: Complete Create, Read, Update, Delete functionality
- Inline editing for all furniture items with form inputs
- Add New button to create furniture items for all 4 emulators
- Edit button (hover-activated) for inline editing of existing items
- Delete button (hover-activated) with confirmation dialog
- API endpoints: POST /api/furni (create), PUT /api/furni (update), DELETE /api/furni (delete)
- Real-time updates with SWR mutations for optimistic UI updates
- Works across all emulators: Havana, Kepler, Roseau, and Retro
- Edit sprite_name, public_name, type (floor/wall), width, and length
- Save/Cancel buttons for inline editing operations
Changed
- Dashboard "Latest News" renamed to "Container Manager"
- Added all missing containers to dashboard (arcturus-emulator, atomcms, etc.)
- Removed unused social media icons from container cards
- Improved container card layouts with gradients and animations
- Updated container cards with real images for Arcturus, AtomCMS, Havana, Kepler, and Roseau
Technical
- Database schema additions for container metadata (notes, secrets)
- Playwright testing integration for console error detection
- Next.js 16.0.7 compatibility updates
- Docker build optimizations with .dockerignore
- Redis Integration for AtomCMS: Enabled Redis for caching and sessions
- Installed PHP Redis extension (phpredis 6.3.0) in AtomCMS container
- Configured Laravel to use Redis for CACHE_STORE and SESSION_DRIVER
- Redis container now running and healthy at port 6379
- Significant performance improvement for repeated queries and session management
[1.0.0] - 2025-12-06
Added
- Initial release of Habland Admin Panel
- Dashboard with container management
- Furniture editor for all emulators
- Catalog editor with multi-emulator support
- Clothing editor (XML-based for Havana/Kepler)
- User management interface
- Settings page with theme customization
- Encyclopedia with Habbo Hotel knowledge base
- Docker container integration
- MariaDB unified database support
- SWR for real-time data fetching
- Responsive UI with Tailwind CSS
- Modern glassmorphic design system
Supported Emulators
- Arcturus Morningstar
- Havana (Java v14)
- Kepler (Java v14)
- Roseau (Shockwave-era)
Upcoming Features
See ADMIN_PANEL_UPGRADE_SUGGESTIONS.md for planned features including:
- Multi-user authentication system
- Real-time analytics dashboard
- Automated backup system
- Advanced log management
- In-game command console
- Room & floor plan editor
- Moderation tools suite
- And 50+ more features!
Legend:
Addedfor new featuresChangedfor changes in existing functionalityDeprecatedfor soon-to-be removed featuresRemovedfor now removed featuresFixedfor any bug fixesSecurityfor vulnerability fixes