Files
Archive/admin-panel/CHANGELOG.md

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 /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