238 lines
12 KiB
Markdown
238 lines
12 KiB
Markdown
|
|
# Changelog
|
||
|
|
|
||
|
|
All notable changes to the Habland Admin Panel will be documented in this file.
|
||
|
|
|
||
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
|
|
||
|
|
## [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 `/clothing` Retro 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/db` for 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+K` to 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=retro` fully 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**:
|
||
|
|
- `Added` for new features
|
||
|
|
- `Changed` for changes in existing functionality
|
||
|
|
- `Deprecated` for soon-to-be removed features
|
||
|
|
- `Removed` for now removed features
|
||
|
|
- `Fixed` for any bug fixes
|
||
|
|
- `Security` for vulnerability fixes
|