๐ Changelog - HitRequest
All notable changes to the DJ Request System will be documented in this file.
[v2.1.4] - 27/12/2025 (Complete Daily Update)
โจ Added
- ๐ต NEW: VirtualDJ "Send to DJ" Button Feature
- Added "Send to DJ" button to all request cards in DJ interface
- Direct integration with VirtualDJ "Ask the DJ" functionality
- One-click song request sending to VirtualDJ software
- Automatic request tracking with timestamps and status updates
- Comprehensive logging system for debugging and monitoring
- Form-based submission for maximum reliability and compatibility
- ๐ Enhanced Stripe payment debugging with comprehensive logging
- ๐ Fallback system for request loading from JSON files
- ๐ Better error messages for payment verification failures
๐ ๏ธ Fixed
- ๐ Fixed Stripe payment issue where customers were charged but not receiving subscriptions
- Corrected success URL redirect path from
/HitRequest-subscription/stripe-success.phpto/stripe-success.php - Added detailed error logging to track subscription creation failures
- Improved error messages shown to users instead of generic "pending" status
- Enhanced verification result logging for debugging payment issues
- Corrected success URL redirect path from
- ๐ Fixed request loading on DJ event page
- Resolved 500 Internal Server Errors from
ajax/get-request-card.php - Fixed database connection type mismatch (MySQLi vs PDO)
- Implemented JSON file fallback for servers without database
- Simplified request card generation to be database-agnostic
- Resolved 500 Internal Server Errors from
- ๐ Fixed requests not appearing on page refresh
- Ensured "All" filter is active by default on page load
- Fixed filter state persistence in localStorage
- Requests now display immediately without requiring filter click
๐ง Technical Implementation
- Simple HTML form submission approach bypasses JavaScript complexities
- ๐ Improved database abstraction with PDO support
- ๐ JSON file fallback for request and event data
- ๐ Enhanced error logging throughout payment flow
- ๐ฏ Simplified AJAX request card generation
- Uses existing proven VirtualDJ auto-send integration method
- Smart response handling (JSON for AJAX, redirect for forms)
- Session-aware authentication with fallback for testing
- Real-time request status updates in JSON data store
๐ Features
- โ Click "Send to DJ" โ Confirmation dialog โ VirtualDJ receives request
- โ
Automatic request marking with
sent_to_dj: trueand timestamp - โ Success/error feedback with page notifications
- โ
Full logging in
vdj_auto_requests.log - โ Compatible with all request statuses (pending, approved, played, etc.)
[v2.1.2] - 27/12/2025 7:26 PM
๐ ๏ธ Fixed
- ๐ Fixed JavaScript syntax errors in
dj-event.php:- Resolved "Uncaught SyntaxError: Unexpected token ')'" on line 2812
- Resolved "Uncaught SyntaxError: Unexpected token 'catch'" on line 5056
- Fixed missing document.ready closure and malformed try-catch blocks
- Removed premature script tags causing parsing errors
- ๐ Fixed request submission display issue where customer requests weren't appearing on DJ event page
- Resolved event ID mismatch between customer submission and DJ interface
- Fixed request data not being properly filtered by event ID
- Ensured proper data flow through the request submission system
- ๐ Fixed VirtualDJ integration reliability issues with bad internet connections
- Implemented robust retry mechanism with exponential backoff (3 attempts)
- Added cURL + file_get_contents fallback for maximum compatibility
- Reduced timeouts to prevent hanging (3s connection, 2s timeout)
- Enhanced error logging and tracking
โจ Added
- ๐ VirtualDJ Retry Queue System:
- Failed VDJ requests are automatically queued for retry when internet improves
- Dashboard indicator shows count of failed VDJ requests
- "Retry All" button to reattempt failed requests in batch
- "Clear Queue" button to remove stuck requests
- Real-time queue status updates every 30 seconds
- Visual indicators (blue = no issues, yellow = failed requests)
- ๐ ๏ธ Enhanced VirtualDJ sending function:
- Multiple retry attempts with intelligent backoff strategy
- Comprehensive error handling and logging
- Non-blocking operation - app continues working even if VDJ fails
- SSL verification bypass for reliability on poor connections
- ๐ VDJ Queue Management:
- AJAX endpoints for queue operations (get, retry, clear)
- Persistent queue storage system
- Automatic queue cleanup (limits to last 50 items)
- ๐ Debug and testing tools:
- Debug utilities for tracing request flow
- Testing tools for verifying DJ interface functionality
- Enhanced logging throughout the system
๐ Enhanced
- ๐ฏ Improved request submission debugging:
- Added comprehensive request flow tracing
- Enhanced error messages and logging
- Better visibility into data storage and retrieval
- ๐ Enhanced VirtualDJ integration reliability:
- Graceful degradation when VDJ is unreachable
- Better user feedback during connection issues
- Automatic retry capabilities without blocking UI
- ๐ฑ Improved dashboard user experience:
- Real-time notifications for VDJ queue operations
- Visual feedback for retry operations
- Non-blocking interface during VDJ operations
๐ Security
- ๐ Maintained all existing security measures during fixes
- ๐ก๏ธ Proper input validation and sanitization in new endpoints
- ๐ Session validation for VDJ queue operations
- ๐ซ CSRF protection maintained across all new features
๐ป Technical
- ๐ง Enhanced
sendToVirtualDJ()function with retry logic and queue system - ๐ Added
addToVDJQueue()function for failed request management - ๐ New AJAX endpoints for VDJ queue management
- ๐ Enhanced error logging throughout the VDJ integration
- ๐ Improved JavaScript error handling and debugging
- ๐ Created clean, bug-free event page version (later removed as requested)
[v2.1.1] - 18/06/2025 4:24 PM
โจ Added
- ๐ก๏ธ Implemented a hardware ID (HWID) system to enforce a one-time trial per device (only certain features in free tier can we used from pro features)
- ๐ฑ Renamed client-side fingerprinting script for better compatibility with privacy tools
- ๐ Added "Book a DJ" button to event pages and DJ customization preview for booking management
- ๐ Implemented booking URL field in DJ profile customization settings
- ๐ป Added "Back to Dashboard" button on event pages for logged-in DJs to improve navigation
- ๐ค Added user deletion capability to admin dashboard with comprehensive data cleanup
๐ Changed
- ๐ Modified DJ analytics page to display "Pending" and "Approved" request counts instead of "Played" percentage in the Recent Event Performance table
- ๐ฏ Improved data visualization with distinct colored badges for different status types
- ๐ Enhanced analytics display to better track request status distribution
- ๐จ Updated DJ customization preview to visually match event page display for consistent branding
- ๐ Improved event page navigation with context-aware buttons: "Back to Dashboard" for DJ owners, "Back to Events" for guests
๐ ๏ธ Fixed
- ๐ Fixed hardware ID generation on live server by preventing ad-blocker interference
- ๐งน Cleaned up debug code while maintaining full functionality
- ๐ Ensured consistent file availability between development and production environments
[v2.1.0] - 22/05/2025 1:21 AM - Main Update Phase -
โจ Added
- ๐ธ Implemented DJ tipping system with multiple payment options
- ๐ผ๏ธ Added customizable DJ profile covers for personalization
- ๐ณ Integrated secure payment processing for tips with transaction tracking
- ๐ฐ Implemented tip analytics and reporting for DJs
- ๐ Added comprehensive subscription management system
- ๐ณ Integrated Stripe payment system for subscription processing (replacing previous Revolut integration)
- ๐ Added automatic 30-day free trial for new DJ registrations
- ๐ Implemented subscription expiration notifications
- ๐ Added admin controls for managing user subscription status
- ๐ Added subscription analytics dashboard for administrators
- ๐ Implemented subscription status indicators throughout the application
- ๐ Added user subscription history tracking d- ๐ Added dynamic sparkle effects throughout the application with animations that rise from the bottom
- ๐จ Implemented ultra-modern dark theme UI with gradient accents and neon glows
- ๐ Added subtle animation effects to buttons and interactive elements for enhanced UX
- ๐ซ Created custom hover effects on cards and buttons with elevation shadows
๐ Changed
- ๐ผ๏ธ Updated the HitRequest logo presentation with larger size and better positioning
- ๐ญ Modernized all form elements with consistent styling across authentication pages
- ๐จ Redesigned the login and registration pages with the new dark theme
- ๐ฑ Improved responsiveness and visual consistency across all pages
- ๐ค Enhanced text readability with carefully selected colors and contrast ratios
- ๐ Updated changelog page with modern styling and animations
๐ ๏ธ Fixed
- ๐จ Fixed color inconsistencies across various UI components
- ๐ฑ Addressed mobile display issues with the updated theme
- ๐ Improved alert message visibility on dark backgrounds
[v2.0.18] - 21/05/2025 3:30 AM
โจ Added
- ๐ Added corner radius control for QR codes with adjustable rounded edges
๐ ๏ธ Fixed
- ๐ค Fixed scan text size control to properly adjust font size instead of position
- ๐งน Removed unnecessary background pattern settings for cleaner interface
[v2.0.17] - 20/05/2025 2:53 PM
โจ Added
- ๐จ Added color pickers for event name and event details in QR print layout
- ๐ Added customizable glow/shadow effects with color and intensity controls
- ๐ค Added scan text customization with color, position, and size controls
- ๐ญ Added 31 new QR templates:
- Party themes: Celebration, Disco, Confetti, Fiesta, Birthday Bash, Nightclub, Balloons
- Wedding themes: Floral, Romantic, Gold Foil, Lace, Vintage Rose, Rustic, Bohemian, Navy & Gold, Blush Pink, Silver Elegance, Garden Wedding, Beach Wedding, Kraft Paper, Watercolor, Classic Script, Art Deco, Modern Chic, Enchanted Garden, Monogram
- Corporate themes: Professional, Tech, Gradient Corporate
- Seasonal themes: Tropical, Ocean, Forest, Winter, Autumn
- Abstract themes: Gradient Wave, Liquid
- ๐พ Implemented local storage for all QR customization settings
๐ Changed
- ๐จ๏ธ Removed automatic print dialog; print now happens only on button click
- ๐ซ Removed 4-up layout confirmation dialog for streamlined workflow
- ๐ฑ Improved responsiveness for both desktop and mobile devices
๐ ๏ธ Fixed
- ๐ Fixed page scrolling issues on mobile and desktop
- ๐๏ธ Enhanced control panel layout for better usability
- ๐ Shadow toggles now properly reset to original template colors
[v2.0.16] - 19/05/2025 12:45 AM
โจ Added
- ๐ค Added karaoke toggle feature for existing events (no need to create new events)
- ๐ Implemented AJAX-based karaoke mode switching without page refresh
- ๐ต Added visual indicators to distinguish between karaoke and music requests
- ๐ต Added blue music note badges for regular music tracks
- ๐ค Added red microphone badges for karaoke requests
- ๐ซ Implemented automatic hiding of karaoke requests when karaoke mode is disabled
- ๐ Added clear visual feedback when toggling karaoke mode
๐ ๏ธ Fixed
- ๐ Fixed request filtering to respect karaoke toggle state
- ๐ฑ Improved UI consistency between DJ view and guest view for karaoke requests
- ๐ Enhanced event management with better karaoke control options
[v2.0.15] - 10/05/2025 10:40 AM
๐ ๏ธ Fixed
- ๐ฑ Fixed QR code access code handling to pre-fill code from URL
- ๐ Improved event access workflow when scanning QR codes
- ๐ฏ Enhanced user experience by auto-populating access code field
[v2.0.14] - 09/05/2025 1:10 PM
โจ Added
- ๐จ Enhanced feedback system with modern UI and improved navigation
- ๐ต Added color-coded tabs for Feature Requests (blue) and Bug Reports (red)
- ๐ Added counters showing number of features and bugs
- ๐ฑ Made feedback tabs responsive with icons on mobile
๐ ๏ธ Fixed
- ๐ Fixed duplicate content in feedback page
- ๐ฏ Fixed dropdown functionality in feedback system
- ๐ Fixed navigation bar session handling
- ๐งน Cleaned up JavaScript initialization for Bootstrap components
[v2.0.13] - 10/04/2025 10:39 PM
๐ ๏ธ Fixed
- ๐ Fixed YouTube search functionality by moving search endpoint to correct directory
- ๐ต Fixed Spotify search by ensuring proper jQuery initialization
- ๐ Improved search reliability with better error handling and debug logging
- ๐ฏ Fixed search button click handler to work consistently
- ๐ Added detailed console logging for easier troubleshooting
๐ Enhanced
- โก Streamlined search functionality with inline script for better performance
- ๐จ Improved search results display with source-specific badges (Spotify/YouTube)
- ๐ Maintained security with proper input validation and sanitization
- ๐ฑ Enhanced user experience with loading indicators during search
- ๐ Revamped request listings with improved sorting and filtering
- ๐ Added robust sorting options (Newest, Popular, All)
- ๐ Enhanced filtering by request status (Approved, Pending, Played, Rejected)
- ๐ Implemented real-time auto-refresh for request list
- ๐ Added visual indicators for request status changes
[v2.0.12] - 09/04/2025 4:06 PM
โจ Added
- ๐พ Added search caching system for Spotify and YouTube API results
- ๐ Implemented search analytics logging to track popular queries
- ๐ Created API fallback mechanism for when external services are unavailable
- โฐ Added 5-minute expiration for search cache to ensure fresh results
- ๐ Increased search results limit from 20 to 35 for both Spotify and YouTube
- ๐๏ธ Added scrollable DJ software compatibility showcase to homepage
- ๐ผ Created custom animated SVG logo with brand colors
๐ Enhanced
- โก Enhanced search performance with optimized caching for frequently searched terms
- ๐ Added additional security with CSRF protection and input sanitization for search endpoints
- ๐น Reduced font size for song titles in search results for cleaner UI
- ๐ Improved search result styling for consistency across Spotify and YouTube results
- ๐งน Added automatic cleanup of expired cache entries
- ๐ผ๏ธ Improved homepage with interactive scrollable integration showcase
[v2.0.11] - 09/04/2025 3:17 PM
โจ Added
- ๐๏ธ Added toggle switch to enable/disable Virtual DJ integration directly from the DJ dashboard
- ๐ Implemented real-time UI updates when toggling Virtual DJ integration status
- ๐ Added secure configuration file modification for Virtual DJ settings
- ๐ Added centralized version display system with version number in footer
- ๐ฆถ Implemented rich, comprehensive footer with contact information and quick links
- โ๏ธ Created centralized footer management in config.php
๐ Enhanced
- ๐ฏ Improved Virtual DJ integration UI with clearer status indicators
- ๐งฉ Enhanced modular architecture allowing Virtual DJ integration to be completely disabled when not needed
- ๐ Streamlined DJ workflow with easier access to integration controls
- ๐ Improved global branding with consistent footer across all pages
- ๐ Enhanced version visibility for better update tracking and support
- ๐ง Added maintainability improvements through centralized configuration
๐ ๏ธ Fixed
- ๐ Fixed syntax errors in PHP templates related to conditional rendering
- ๐จ Fixed UI display issues when toggling integration status
- ๐ข Improved error reporting for Virtual DJ connection issues
[v2.0.10] - 09/04/2025 1:30 PM
๐ Enhanced
- โก Improved YouTube search error handling with detailed logging
- ๐ Enhanced YouTube API security with proper key validation
- ๐ฏ Simplified AJAX request handling for YouTube searches
- ๐ Made session variable usage consistent across admin dashboard
๐ ๏ธ Fixed
- ๐ Fixed admin dashboard session handling to use consistent variables
- ๐ฅ Fixed YouTube search functionality and error reporting
- ๐ Fixed redirect paths in admin authentication
- ๐ฏ Fixed AJAX endpoint paths for YouTube searches
โจ Added
- ๐ฅ Youtube API integration for enhanced song search capabilities Now be able to switch between spotify and youtube when requesting songs
- ๐ Added comprehensive error logging for YouTube API requests
- ๐ Increased search results limit from 10 to 20 for both Spotify and YouTube
๐ Security
- ๐ก๏ธ Added input validation for YouTube API responses
- ๐ Improved error handling with secure logging
- ๐ Enhanced API key validation and error reporting
- ๐ก๏ธ Maintained CSRF protection while simplifying requests
[v2.0.9] - 09/04/2025 1:33 AM
โจ Added
- โฑ๏ธ Updated time display format to show hours, minutes, and seconds (H:i:s) on all request cards
- ๐ Added exact time display to timeAgo function in dj-event.php
- ๐ Implemented consistent time format across all request cards and AJAX responses
๐ Enhanced
- ๐ Improved time-based sorting functionality for more reliable results
- โก Optimized AJAX request handlers for time display consistency
- ๐ฑ Enhanced mobile view with better time display formatting
๐ ๏ธ Fixed
- ๐จ Removed .btn.active CSS styling in dj-event.php to fix styling issues
- ๐ Maintained security requirements with proper input validation and sanitization
[v2.0.8] - 08/04/2025 6:24 PM
๐ Enhanced
- ๐จ Improved event page layout with better spacing and organization
- ๐ต Redesigned request cards with artist name prominence and smaller song titles
- ๐ฎ Moved voting section to card footer for consistent positioning
- ๐ฏ Added explicit text color styling to headings for better visibility
[v2.0.7] - 08/04/2025 5:12 PM
๐ Enhanced
- ๐ Security improvements by limiting copy functionality to DJ view only
- ๐ฎ Streamlined user interface for event attendees by removing unnecessary copy buttons
- ๐ Applied principle of least privilege by restricting clipboard features to DJs who need them
๐ ๏ธ Fixed
- ๐ Removed potential clipboard API security risks from customer-facing views
[v2.0.6] - 08/04/2025 4:45 PM
โจ Added
- ๐ต Spotify API integration for enhanced song search capabilities
- ๐ Combined search results from both local database and Spotify catalog
- ๐ท๏ธ Source badges to distinguish between local and Spotify results
- ๐ Improved error handling and debugging information in search results
- ๐ Automatic fallback to local database when Spotify is unavailable
- ๐พ Response caching system to reduce API calls and improve performance
- ๐ ๏ธ Diagnostic tools for troubleshooting API connectivity issues
- ๐ Copy functionality for DJs to easily copy song information to their software
๐ Enhanced
- ๐ Song search interface with better error handling and user feedback
- ๐ต Expanded music catalog through Spotify integration
- ๐ Secure API authentication with token management
- ๐ฑ Mobile-friendly search results with clear source indicators
[v2.0.5] - 08/04/2025 5:14 AM
๐ ๏ธ Fixed
- ๐ Auto-delete functionality now correctly removes rejected requests after 10 seconds, matching the behavior of played requests
- ๐ต Fixed popular requests table not removing rejected songs after 10 seconds
- ๐ Fixed initial page load still showing rejected requests after 10 seconds
- โก Fixed AJAX request refresh still showing rejected requests after 10 seconds
- ๐ฅ Fixed customer view still showing rejected requests after 10 seconds
โจ Added
- ๐ Added 3-second auto-refresh to customer request list for better real-time updates
[v2.0.1] Phase 2 - 07/04/2025 2:30 PM
โจ Added
- ๐ณ๏ธ Voting feature for song requests
- โค๏ธ Heart icon buttons for audience voting
- ๐ Vote count display with glowing animations
- ๐ IP address tracking to prevent duplicate votes
- ๐ Sorting options by popularity (most votes)
- ๐ซ Enhanced UI with pulsing and glowing heart effects
- ๐ Visual indicators for popular songs (3+ votes)
- โจ Extra glow effects for very popular songs (5+ votes)
- ๐ Vote count scaling animations
- ๐ DJ Notes functionality
- ๐พ Ability to save and manage notes per event
- ๐ Private notes visible only to DJs
- โก Real-time note updates
- ๐พ Auto-save functionality with indicators
- ๐ Persistent note state during refreshes
- ๐ Real-time connection status checking
- ๐ Automatic connection monitoring
- ๐ฆ Status indicators for system health
- ๐ Auto-retry mechanism on connection loss
- ๐ก Live updates indicator
- ๐ Retry count display
- ๐ Connection status toast messages
- ๐ Event Sharing Features
- ๐ฑ QR code generation for easy event access
- ๐ One-click event link copying
- ๐ฑ Downloadable QR codes
- ๐ Social sharing options
- ๐จ Modern sharing interface
- ๐ Clipboard API support with fallback
- ๐ Access Control
- ๐ Optional access codes for private events
- ๐ฑ QR code support for access codes
- ๐ Secure validation system
- ๐ Random code generation
-
๐ Code copying functionality
๐ Enhanced
- ๐ Request Management
- ๐ Status filtering (All, Pending, Approved, Played)
- ๐ Multiple sorting options (Newest, Most Votes, Approved)
- โก Real-time request updates
- ๐ Request status badges with visual indicators
- ๐ Automated request cleanup for old played/rejected songs
- ๐ Request animation effects
- ๐ Smart request card organization
- ๐ User Interface
- ๐ Modern responsive design
- ๐ฑ Mobile-optimized layout
- ๐ Animated status transitions
- ๐ฃ Toast notifications for all actions
- ๐ Loading animations and indicators
- ๐ Dynamic card layouts
- ๐ Responsive table views
- ๐ Improved mobile experience
- ๐ Event Management
- ๐ Improved dashboard interface
- ๐ Event status monitoring
- ๐ Quick action buttons
- ๐ Batch request handling
- ๐ Event statistics
- ๐ Popular requests table
-
๐ Request history tracking
๐ ๏ธ Fixed
- ๐ Connection stability improvements
- ๐ Automatic reconnection handling
- ๐ Connection status monitoring
- ๐จ Error state management
- ๐ Network failure recovery
- ๐ Session persistence
- ๐ Performance optimizations
- ๐ Efficient request sorting
- โก Optimized real-time updates
- ๐ Reduced server load
- ๐ Caching improvements
- ๐ Optimized animations
- ๐ Security enhancements
- ๐ Input validation
- ๐ซ XSS prevention
- ๐ Access control improvements
- ๐ Request rate limiting
- ๐ Data sanitization
-
๐ Secure data storage
๐ป Technical
- ๐ Backend System
- ๐ PHP-based API endpoints
- ๐ JSON data storage
- โก Real-time request handling
- ๐ Status management system
- ๐ Debug logging system
- ๐ Frontend Features
- ๐ AJAX for real-time updates
- ๐ jQuery for DOM manipulation
- ๐ Bootstrap 5 framework
- ๐ Custom CSS animations
- ๐ Responsive design
- ๐ Modern JavaScript features
- ๐ Integration
- ๐ฑ QR code generation API
- ๐ Social sharing APIs
- ๐ External font libraries
- ๐ Icon systems (Bootstrap Icons)
- ๐ Clipboard API
- ๐ Development
- ๐ Improved error logging
- ๐ Debug mode support
- ๐ Code organization
- ๐ Documentation updates
- ๐จ Error handling
- ๐ Performance monitoring