Version History

Changelog

v2.2.1 Telegram Bot Improvements & Network Diagnostics August 1, 2025

Telegram Bot Enhancements

  • βœ“ Settings-based startup: Bot only starts when Telegram notifications are enabled in admin settings
  • βœ“ Network diagnostics: Detailed error messages for connection issues, firewall blocks, and ISP restrictions
  • βœ“ Robust error handling: Graceful handling of network timeouts, invalid tokens, and API errors
  • βœ“ Exponential backoff: Smart retry mechanism with increasing delays for network failures
  • βœ“ Connection testing: Automatic bot authentication check on startup with clear status messages

System Reliability

  • βœ“ Conditional startup: Bot respects admin settings and only runs when explicitly enabled
  • βœ“ Graceful degradation: System continues to function even if Telegram API is unreachable
  • βœ“ Detailed logging: Comprehensive logging for debugging connection issues and network problems

v2.2.0 Automatic Spotify Integration & Track Completion July 25, 2025

Automatic Spotify Integration

  • βœ“ Automatic Spotify login during event creation: Seamless redirect to Spotify auth if not logged in
  • βœ“ Intelligent session management: Event data is temporarily stored and automatically processed after login
  • βœ“ Automatic playlist creation: Spotify playlist is created directly after successful login
  • βœ“ Seamless workflow: From event creation through login to finished playlist without interruption

Auto-Playlist System

  • βœ“ Auto-playlist selection: Choose a Spotify playlist to automatically play after all requests
  • βœ“ Playlist persistence: Selected auto-playlist is saved per event and restored on page reload
  • βœ“ Automatic playback: Auto-playlist starts automatically when the last track finishes
  • βœ“ Queue integration: New song requests are still properly queued during auto-playlist playback

Automatic Track Completion System

  • βœ“ Automatic track completion detection: Tracks are marked as played at 95% progress or track change
  • βœ“ Live playlist synchronization: Played tracks are automatically removed from Spotify playlist
  • βœ“ Real-time UI updates: Tracklist is automatically updated without page reload
  • βœ“ Background processing: Everything runs in the background without user interaction

Admin Layout Improvements

  • βœ“ Responsive 3-column layout: Compact Spotify player left, event details right, tracklist below
  • βœ“ New Spotify header: Integrated play, sync and open buttons in event details
  • βœ“ Conditional layout: Optimized display depending on Spotify playlist status
  • βœ“ Mobile optimization: Button texts are hidden on small screens

Complete Localization

  • βœ“ German texts translated: All remaining German texts in all files translated to English
  • βœ“ Consistent language usage: Uniform localization throughout the entire application
  • βœ“ Multilingual support: Complete support for DE, EN and NL

Technical Improvements

  • βœ“ Session type extensions: New pendingEventData structure for temporary event storage
  • βœ“ New API routes: /admin/events/create-after-auth and /admin/events/:id/track-completed
  • βœ“ Improved error handling: Detailed logging and graceful error handling
  • βœ“ Real-time synchronization: Bidirectional sync between web interface and Spotify playlist

v2.1.1 Admin Dashboard & Translations July 24, 2025

Admin Dashboard Fixes

  • βœ“ Fixed Spotify account display: Linked Spotify account email now correctly shows in admin event layout
  • βœ“ Fixed total requests display: Added missing total requests counter to admin event statistics
  • βœ“ iPad view improvements: Spotify account info now also visible in iPad-optimized event view

Translation Updates

  • βœ“ Added missing translation key 'admin.event.stats.total_requests' for total requests counter
  • βœ“ Updated all locale files (EN, DE, NL) with new translation keys

v2.1.0 Spotify Player UX & Auto-Play Features July 23, 2025

Spotify Player Improvements

  • βœ“ Automatic playback of new song requests: Direct playback when nothing is playing, otherwise add to queue
  • βœ“ Intelligent queue system: New tracks are automatically added to the Spotify queue
  • βœ“ Fixed playlist sync button: Complete bidirectional synchronization between event requests and Spotify playlist
  • βœ“ Improved login UX: Centered, clean login box in blacklist style without distracting player controls

Authentication & Navigation

  • βœ“ Smart redirect after Spotify login: Automatic return to the original page (Event or Settings)
  • βœ“ Return URL system: Stores the origin page in session for seamless navigation
  • βœ“ Improved error handling: Even login errors redirect to the correct page

Localization

  • βœ“ Complete Spotify player localization: All German texts replaced with localized variables
  • βœ“ Localized status messages: Connection status, device status and error messages in all languages
  • βœ“ Localized error alerts: Token expiration, no active device and other Spotify errors

Technical Improvements

  • βœ“ New syncEventPlaylist method: Complete bidirectional synchronization with detailed logging
  • βœ“ New admin API route: /admin/events/:id/sync-playlist for manual playlist synchronization
  • βœ“ Graceful error recovery: Auto-play or sync errors don't affect request creation

v2.0.1 Ban Modal and Blacklist Improvements July 23, 2025

UI Improvements

  • βœ“ Modernized ban modal: No more alert popups, replaced with visual feedback directly in the modal
  • βœ“ Redesigned delete modal in blacklist view: Now displays song information (cover, title, artist)
  • βœ“ Integrated visual feedback for success and error messages directly in modals

Technical Improvements

  • βœ“ Fixed parameter passing to blacklist endpoint (spotify_id, title, artist)
  • βœ“ Improved ban logic: Requests are automatically deleted after blacklist entry
  • βœ“ Enhanced error handling with detailed visual feedback

v2.0.0 Major Update: Spotify Integration & Player July 23, 2025

Spotify Playlist Integration

  • βœ“ Automatic playlist creation when creating events
  • βœ“ Automatic synchronization of song requests with the playlist
  • βœ“ New option in the admin panel for playlist linking
  • βœ“ Automatic unfollowing of playlist when deleting an event
  • βœ“ Secure token management with encrypted storage

Spotify Player Integration

  • βœ“ Full playback control (Play, Pause, Previous, Next, Volume)
  • βœ“ Intelligent device management and switching
  • βœ“ Real-time display of current track and status
  • βœ“ Automatic detection of active Spotify clients
  • βœ“ Step-by-step guide for client activation

Technical Improvements

  • βœ“ Extended OAuth scopes for playback permissions
  • βœ“ Complete Spotify Web API integration
  • βœ“ Improved error handling and user guidance
  • βœ“ Robust OAuth2 Authorization Code Flow with refresh token
  • βœ“ Encrypted storage of all Spotify tokens
  • βœ“ Automatic token refresh on expiration

Localization

  • βœ“ Fully localized player user interface
  • βœ“ Multilingual help texts and instructions
Breaking Changes: Spotify logout and re-login required for extended playback permissions.

v1.6 Major iPad Dashboard & Localization Update July 20, 2025

Localization

  • βœ“ All texts in the fullscreen QR code overlay are now fully localized
  • βœ“ Fixed issue where English settings would still show German texts
  • βœ“ Complete Dutch language support for all new features
  • βœ“ All texts in the iPad tracklist view are now fully localized
  • βœ“ Error messages in JavaScript part have been localized and translated into all languages

iPad Dashboard Improvements

  • βœ“ Display of open requests count in the fullscreen overlay
  • βœ“ Enhanced toggle button with smooth animations and better design
  • βœ“ Optimized QR code size and layout for iPad Air devices
  • βœ“ Dark address bar on iPad for a consistent fullscreen experience

iPad Dashboard

  • βœ“ New iPad-optimized view for events with dashboard design
  • βœ“ Fullscreen mode without navigation bar for maximum overview
  • βœ“ Prominent QR code display for easy scanning
  • βœ“ Automatic scroll effect for the tracklist with constant speed

Technical Improvements

  • βœ“ Smart tracklist refresh only after reaching the scroll end
  • βœ“ Constant scroll speed for better readability
  • βœ“ Fixed sorting order: Newest songs are now displayed at the top

v1.5.1 Notification Enhancements July 19, 2025

Notification Enhancements

  • βœ“ Support for multiple Telegram chat IDs (comma-separated list)
  • βœ“ Browser notifications can now be enabled in parallel with Telegram notifications

Technical Improvements

  • βœ“ Fixed TypeScript errors related to missing module typings
  • βœ“ Improved internationalization for notification settings
  • βœ“ All notification texts are now fully internationalized and available in all supported languages

v1.5.0 Docker Restructuring & Multi-Instance Support July 18, 2025

Docker Improvements

  • βœ“ Restructured project: All application files moved to "app" subdirectory
  • βœ“ Docker files (Dockerfile, docker-compose.yml) kept in the main directory
  • βœ“ Simplified build process with a central image for all instances
  • βœ“ Automated build script (build.sh) for easy image creation

Multi-Instance Support

  • βœ“ Multiple instances can be operated in the same main directory
  • βœ“ Individual databases per instance as local volume
  • βœ“ Individual logos per instance as local volume
  • βœ“ Independent configuration of environment variables per instance

Technical Improvements

  • βœ“ Improved Dockerfile with automatic creation of the image folder
  • βœ“ Removal of the LOGO_URL environment variable in favor of volume mounting
  • βœ“ Optimized restart process for individual instances

UI Improvements

  • βœ“ Replaced logo with a music icon in the header for a unified design
  • βœ“ Simplified QR code display in the event view
  • βœ“ Simplified deployment without logo middleware and volume mounts

v1.4.3 Persistent Song Statistics System July 1, 2025

Backend Improvements

  • βœ“ Implemented persistent song statistics that survive event deletions
  • βœ“ "Most Requested Songs" now shows data from the last 30 days, even if original events are deleted
  • βœ“ Created dedicated song_stats table with automatic migration from existing request data
  • βœ“ Song requests are now automatically aggregated and tracked independently of events
  • βœ“ Added automatic cleanup script for statistics older than 30 days
  • βœ“ Optimized database queries with proper indexing for statistics retrieval
  • βœ“ Successfully migrated existing song request data to new persistent statistics system

New Features

  • βœ“ "Most Requested Songs" section now persists data for 30 days regardless of event lifecycle
  • βœ“ Song popularity tracking is now independent of event management
  • βœ“ Maintains historical song request data for better long-term insights

v1.4.2 Setup Page Polish & Search Refinements July 1, 2025

User Interface Improvements

  • βœ“ Modernized search form with Tabler input-icon design and rounded styling
  • βœ“ Increased search bar size for better visibility and mobile usability
  • βœ“ Restored search form to full width layout for better usability
  • βœ“ Simplified search experience by removing progress bar for cleaner interface
  • βœ“ Fixed home page alignment to match consistent layout with other admin pages
  • βœ“ Reverted home page to clean, native design with standard page header and card layout
  • βœ“ Made Instagram profile URL configurable via INSTAGRAM_URL environment variable
  • βœ“ Added comprehensive icons to setup page form labels and instructions for better visual hierarchy
  • βœ“ Fixed setup page header alignment to match other admin pages with consistent icon placement
  • βœ“ Fixed Spotify icon visibility in test button - now remains visible on hover/focus states
  • βœ“ Enhanced Spotify icon in test button to turn white on hover/focus for better visual feedback
  • βœ“ Enhanced all form hints with informational icons for improved user guidance
  • βœ“ Added contextual icons to Spotify setup instructions (arrows, copy, link icons)
  • βœ“ Improved callback URL display in setup instructions - moved to separate line to prevent text cutoff
  • βœ“ Enhanced callback URL with bordered box design, monospace font, and click-to-select functionality for easy copying
  • βœ“ Created dedicated Spotify test endpoint for setup process that works without admin authentication
  • βœ“ Achieved complete visual consistency across all setup page elements with Tabler icon system

v1.4.1 UI Polish & Button Consistency July 1, 2025

User Interface Improvements

  • βœ“ Standardized event list action buttons to match admin tracklist styling (32px size, 1.2em icons)
  • βœ“ All admin action buttons now have consistent sizing and icon styling across all pages
  • βœ“ Fixed vertical alignment issues in events table - all content now properly centered in table cells
  • βœ“ Fixed notification button flashing on page load by implementing smooth opacity transition
  • βœ“ Added missing logout icon to navbar dropdown menu for visual consistency
  • βœ“ Updated song request buttons to match admin tracklist styling (32px size, Tabler icons, btn-list layout)
  • βœ“ Final polish pass on button alignment and icon consistency throughout admin interface

v1.4.0 Major Security & UI Update July 1, 2025

Security & Credential Management

  • βœ“ Spotify credentials are now stored encrypted in database instead of environment variables
  • βœ“ New encryption service using modern crypto API with AES-256-GCM
  • βœ“ Removed SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET from .env and docker-compose.yml
  • βœ“ Added secure settings table with encrypted column support

User Interface & Experience

  • βœ“ Complete theme system with Auto/Light/Dark modes
  • βœ“ Theme switcher in navbar next to user menu
  • βœ“ Fixed dark mode flash on F5 refresh (FOUC prevention)
  • βœ“ Redesigned admin settings page with icons and better grouping
  • βœ“ Added icons to all settings sections and improved visual hierarchy
  • βœ“ Replaced all SVG icons with consistent CSS/Tabler icons
  • βœ“ Added Spotify configuration status indicator in settings
  • βœ“ Standardized page layout spacing across admin pages
  • βœ“ Improved badge color contrast for better readability

Telegram Integration

  • βœ“ Telegram bot now sends chat ID automatically on /start command
  • βœ“ Simplified Telegram setup - just start the bot and copy the chat ID
  • βœ“ Enhanced notification messages with event names and better formatting
  • βœ“ Fixed 'requested at' time in Telegram notifications to match admin panel

Spotify Integration

  • βœ“ Added 'Test Spotify Credentials' buttons in both setup and settings
  • βœ“ Dynamic redirect URI generation based on current domain
  • βœ“ New API endpoints for credential validation before saving

Localization

  • βœ“ Complete localization coverage for all new features (DE, EN, NL)
  • βœ“ All theme-related UI strings are properly localized
  • βœ“ Dynamic domain display in setup instructions now localized
  • βœ“ Admin language preference setting - override browser language in admin panel
  • βœ“ Fixed language detection and persistence in admin panel

Technical Improvements

  • βœ“ New theme middleware for server-side theme management
  • βœ“ RESTful API endpoints for theme switching and credential testing
  • βœ“ Improved error handling and user feedback throughout the application
  • βœ“ Database migrations system for smooth updates

Migration Notes

For Existing Installations

If you're upgrading from a previous version, you'll need to re-enter your Spotify credentials through the admin panel.
Migration Steps:
  1. Your existing Spotify credentials in .env will no longer be used
  2. Go to Admin β†’ Settings β†’ Spotify API Configuration
  3. Enter your Spotify Client ID and Client Secret
  4. Use the 'Test Spotify Credentials' button to verify they work