- 01 Oct, 2025 7 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Fix getDropTarget function to properly detect drops on column bodies - Allow dropping on any element within the column body area - Ensure drag and drop associations work correctly
-
Stefy Lanza (nextime / spora ) authored
- Remove 'Drop outcomes here to create association columns' from Results area - Change 'Drag bets to UNDER/OVER or Results areas' to 'Drag bets to UNDER/OVER or Results associations area'
-
Stefy Lanza (nextime / spora ) authored
- Rename 'Available Outcomes' to 'Available Bets' in admin interface - Add database tables for available_bets and result_options - Implement CRUD operations for managing bets and result options - Update extraction page UI with add/delete functionality - Implement drag-and-drop associations between bets and results - Add database persistence for all associations - Remove X buttons from result association columns for cleaner UI - Update terminology throughout for clarity
-
Stefy Lanza (nextime / spora ) authored
- Add AvailableBetModel with is_active and sort_order fields - Create Migration_023_AddAvailableBetsTable with default betting options - Add API endpoints for CRUD operations on available bets - Update extraction page UI with add/delete functionality - Update JavaScript to load from available_bets table instead of hardcoded outcomes - Add modal dialog for adding new bet options - Add delete buttons to each bet item in the UI
-
Stefy Lanza (nextime / spora ) authored
- Release database session before ZIP downloads to prevent locking - Process all match data first, then download ZIP files separately - This prevents database locks during potentially slow ZIP downloads - Allows other database operations to proceed between different ZIP downloads - Maintains proper error handling and heartbeat updates during downloads
-
Stefy Lanza (nextime / spora ) authored
- Set default API access token to gtW82Ejr8LySk2PFVRefn-HEWG5NrowsHaDCht2yPGo - Change default FastAPI server URL to https://mbetter.nexlab.net/ - Update default request interval to 600 seconds (10 minutes) - Update settings across config template, routes, and settings.py
-
Stefy Lanza (nextime / spora ) authored
- Add new QR code settings section in admin/configurations page - QR codes disabled by default in database on creation - Include size, error correction level, and display options - Add API endpoints for QR code configuration management - Update barcode settings to be enabled by default - Add JavaScript handlers for QR code settings with validation - Create database migration for QR code configuration settings
-
- 27 Sep, 2025 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
-
- 26 Sep, 2025 2 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 08 Sep, 2025 5 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Reduce PyInstaller binary libraries to eliminate segfaults: * Remove 25+ unnecessary X11/GL libraries from build.py * Keep only essential libraries: libxcb.so.1 and libX11.so.6 * Update mbetter_discovery_linux.spec with minimal libraries * Remove qt.conf and platforms directory copying for self-contained binary - Clean up codebase by removing unused files: * Remove qt6_player.py (unused duplicate implementation) * Remove temp_js.js and extract_js.py (utility files) * Remove hook-pyqt6.py and runtime_hook.py (disabled/unnecessary) - Enhance build scripts: * Update MbetterClient_wrapper.sh with video safety measures * Update clean.sh to preserve .exe files while removing artifacts * Add comprehensive error handling for virtualized environments - Restore important assets: * Restore dist/MBetterDiscovery.exe from git repository Result: Self-contained binary with reduced library conflicts, better compatibility across Linux distributions and virtualized environments.
-
- 05 Sep, 2025 18 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Detect Mesa software rendering in OverlayWebView.setup_web_view() - Apply Mesa-specific transparency settings using CSS rgba() instead of Qt alpha - Update overlay window transparency for Mesa compatibility - Add Mesa transparency environment variables to wrapper script - Use composition-based transparency for Mesa instead of native transparency - Maintain hardware transparency for non-Mesa environments
-
Stefy Lanza (nextime / spora ) authored
- Add comprehensive ffmpeg-python hidden imports to build.py and PyInstaller specs - Include ffmpeg._run, ffmpeg._utils, ffmpeg.nodes, ffmpeg.streams, ffmpeg.filter modules - Create MbetterClient_wrapper.sh for automatic virtualization detection - Apply Mesa software rendering with transparency optimizations for VMs - Fix VMware vmwgfx_dri.so crashes and Chromium shared memory permission errors - Disable Vulkan extensions that cause VK_KHR_video_decode_queue errors - Enable hardware acceleration detection for optimal performance on physical hardware
-
Stefy Lanza (nextime / spora ) authored
- Add QTWEBENGINE_DISABLE_SANDBOX=1 environment variable to all Qt WebEngine files - Suppress Chromium sandbox warnings when running as root user - Applied to: qt6_player.py, player.py, overlay_url_handler.py - Environment variable set before any Qt imports to ensure effectiveness
-
Stefy Lanza (nextime / spora ) authored
- Add UDP broadcast component that sends server info every 30 seconds - Create Qt6 discovery application for LAN server detection - Fix Migration 012 column count mismatch by adding missing status column - Suppress Chromium sandbox warnings when running as root - Add PyInstaller specs for Linux and Windows executables - Update requirements.txt with netifaces dependency - Create comprehensive documentation and setup scripts Features: - Automatic server discovery on local network - Cross-platform support (Linux/Windows) - System tray integration - Auto-open browser functionality - SSL detection and support - Standalone executable builds
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Created create_icon.py script to generate network/discovery-themed icon - Generated mbetter_discovery_icon.ico with multiple sizes (16x16 to 256x256) - Updated Windows PyInstaller spec to use the icon - Enhanced setup_discovery.py to automatically create icon during build - Added icon preview PNG file for development reference The icon features: - Blue circular background with network theme - Concentric radar circles representing discovery - Signal waves for larger icon sizes - Professional Windows executable appearance
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Added UDP broadcast component that broadcasts server info every 30 seconds - Integrated UDP broadcast into main application core - Created Qt6 discovery application for LAN detection - Added auto-exit option when browser opens - Created PyInstaller specs for Linux and Windows executables - Added comprehensive testing suite - Added setup script and documentation - Updated requirements.txt with netifaces dependency Features: - Broadcasts MBetterClient server info with host/port/SSL status - Cross-platform Qt6 discovery app with system tray support - Automatic browser opening when servers are discovered - Manual connection capability - Real-time server list with timestamps - Exit-after-open option for one-time usage
-
- 28 Aug, 2025 2 commits
-
-
Stefy Lanza (nextime / spora ) authored
CRITICAL FIX: Resolved 'Failed to fetch' errors in overlay templates API CONNECTIVITY ENHANCEMENTS: - Modified fixtures template JavaScript to use configurable webServerBaseUrl instead of relative URLs - Enhanced Qt player WebChannel system to pass web server base URL (http://127.0.0.1:5001) to all overlay templates - Updated PlayerWindow._get_web_server_base_url() method to provide consistent API endpoint configuration - Enhanced QtVideoPlayer._get_web_server_base_url() method for cross-component consistency - Modified all overlay data updates (play_video, update_overlay_periodically, default overlay loading) to include webServerBaseUrl TEMPLATE SYSTEM IMPROVEMENTS: - Fixed API request URLs in fixtures template from relative (/api/endpoint) to absolute (http://127.0.0.1:5001/api/endpoint) - Enhanced template initialization to receive web server configuration via WebChannel updateOverlayData() - Improved fallback mechanism with proper API endpoint resolution ROOT CAUSE RESOLUTION: - Templates loaded via local schemes (file://, qrc://) cannot resolve relative API URLs - WebChannel system now provides absolute web server URLs to enable proper API communication - All overlay templates now have access to webServerBaseUrl for API requests This fix ensures Qt player overlay templates can successfully communicate with the Flask web dashboard API endpoints, eliminating 'TypeError: Failed to fetch' errors and enabling proper data display.
-
Stefy Lanza (nextime / spora ) authored
Major fixes and improvements: VIDEO LOOP FUNCTIONALITY: - Fixed critical import scope error where Message class was locally imported in play_loop action but unavailable to stop_loop action - Implemented comprehensive EndOfMedia detection and auto-restart mechanisms in Qt player - Added ERROR-level diagnostic logging throughout video loop control system for precise issue identification - Enhanced loop control parameters with infinite_loop, loop_count, and continuous_playback flags - Fixed video playback state management with proper loop parameter processing FIXTURES TEMPLATE ENHANCEMENTS: - Removed hardcoded HTML content and implemented dynamic JavaScript data loading - Enhanced fallback data system with realistic fighter names (John Doe vs Mike Smith, Alex Johnson vs Chris Brown) - Improved template initialization with proper loading states and API error handling - Fixed template data display to show proper fallback when API endpoints are unavailable TECHNICAL IMPROVEMENTS: - Updated build configuration to version 1.2.11 - Enhanced PyQt6 media player loop control with MediaStatus handling - Improved message bus architecture for cross-thread communication between web dashboard and Qt player - Enhanced Flask API development with better parameter handling and message publishing - Updated comprehensive project documentation (CHANGELOG.md and README.md) DIAGNOSTIC SYSTEMS: - Implemented comprehensive ERROR-level logging system throughout Qt player for high-visibility debugging - Added systematic issue identification capabilities - Enhanced video loop diagnostics with complete state tracking - Improved template loading architecture with timeout handling and graceful degradation All core functionality has been tested and validated with diagnostic systems in place for identifying any remaining edge cases.
-
- 26 Aug, 2025 5 commits
-
-
Stefy Lanza (nextime / spora ) authored
Critical Fixes: - Fixed SQLite NOT NULL constraint violation in bet creation API by properly extracting fixture_id from match data - Resolved 500 error in bet details page route by implementing complete database data fetching and template variable population - Fixed moment() undefined template rendering error by removing server-side JavaScript calls and using client-side time handling - Corrected JavaScript API endpoint mismatches (POST /cancel vs DELETE /bets/{uuid}) and added missing event handlers Bug Fixes: - Enhanced bet creation logic to query MatchModel and extract fixture_id from first bet detail's match - Implemented comprehensive bet details route with database session management and statistics calculation - Fixed template compatibility issues by eliminating server-side/client-side JavaScript conflicts - Added proper event listeners for delete bet detail buttons in bet management interface Database & API Improvements: - Ensured proper foreign key relationships between bets, bet_details, and matches tables - Enhanced error handling with proper HTTP status codes and user-friendly messages - Fixed attribute reference from column_value to float_value in MatchOutcomeModel queries - Improved database constraint compliance and data consistency validation Documentation Updates: - Updated README.md with version 1.2.10 critical bug fixes and stability improvements - Enhanced CHANGELOG.md with detailed technical fixes and implementation details - Added comprehensive troubleshooting section to DOCUMENTATION.md with root cause analysis The betting system is now fully functional with:✅ Complete CRUD operations without database constraint violations✅ Proper bet details page display with comprehensive information✅ Fixed JavaScript API interactions and event handling✅ Stable template rendering without server-side JavaScript conflicts✅ Enhanced error handling and user experience -
Stefy Lanza (nextime / spora ) authored
- Fixed 'MatchOutcomeModel' object has no attribute 'column_value' error - Changed outcome.column_value to outcome.float_value to match database model - API endpoint /api/cashier/available-matches now works correctly
-
Stefy Lanza (nextime / spora ) authored
- Replace hardcoded WIN1/WIN2/X betting terminology with database-driven outcomes - Enhanced /cashier/available-matches API endpoint to query match_outcomes table - Added generateOutcomeOptionsHTML() function for dynamic betting option generation - Implemented graceful fallback to standard options when database outcomes unavailable - Added print button to bets list in cashier dashboard with placeholder functionality - Enhanced API response structure with outcome_id, outcome_name, outcome_value, display_name - Updated documentation with comprehensive betting system section - Added troubleshooting guides and performance optimization details - Version 1.2.9 changelog and README updates with new features
-
Stefy Lanza (nextime / spora ) authored
Features: - Added comprehensive offline CDN fallback system with local Bootstrap and FontAwesome - Enhanced cashier interface with streamlined navigation (logo + clock + user menu only) - Implemented automatic CDN-to-local resource switching for network environments - Added PyInstaller integration for offline functionality in executable builds Technical Improvements: - Fixed FontAwesome icon display issues with proper CDN priority and local fallback - Optimized cashier navbar layout for focused, distraction-free interface - Added local vendor directory with complete Bootstrap 5.3.0 and FontAwesome 6.0.0 - Implemented JavaScript-based resource availability detection - Enhanced PyInstaller build configuration for automatic vendor file inclusion Documentation Updates: - Updated README.md with version 1.2.8 improvements - Enhanced CHANGELOG.md with detailed feature descriptions - Added comprehensive offline capabilities section to DOCUMENTATION.md - Documented cashier interface navigation and access control Files Modified: - mbetterclient/web_dashboard/templates/base.html (CDN fallback, navbar layout) - mbetterclient/web_dashboard/static/vendor/ (new directory with CDN resources) - CHANGELOG.md, README.md, DOCUMENTATION.md (documentation updates) - build.py (PyInstaller integration verified) This release ensures MbetterClient works seamlessly in offline network environments while providing a cleaner, more focused cashier interface.
-
Stefy Lanza (nextime / spora ) authored
- Fixed 'Unhealthy components detected: api_client' warning by implementing comprehensive heartbeat system - Added heartbeat calls in main loop, HTTP requests, database operations, and error handling - Added betting mode configuration UI in web dashboard with database persistence - Created Migration_015_AddBettingModeTable for betting_modes table - Added betting mode API endpoints (GET/POST /api/betting-mode) - Updated documentation with betting mode configuration and API client health monitoring - Enhanced error handling to prevent thread hangs and maintain health status - Added troubleshooting section for API client health issues
-