Files
Archive/admin-panel/CHANGELOG.md

238 lines
12 KiB
Markdown
Raw Normal View History

2025-12-09 06:52:43 +00:00
# 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