• Stefy Lanza (nextime / spora )'s avatar
    feat: Complete template management system with live switching and persistent storage · 2efa8937
    Stefy Lanza (nextime / spora ) authored
    - Template Management System: Complete HTML overlay template upload, delete, and real-time editing
    - Persistent Template Storage: Cross-platform user template storage (AppData/Library/config)
    - Template Priority System: Uploaded templates override built-in templates with same filename
    - Custom URL Scheme Handler: overlay:// protocol enables uploaded templates to access overlay.js
    - Live Template Switching: Dashboard forms instantly switch to selected template with overlay updates
    - Template Code Viewer: View and copy template source code with syntax highlighting
    - File Watcher Integration: Automatic template reloading when files change on disk
    - Enhanced Template UI: Popup previews, source viewer, dynamic template selection
    
    Fixes:
    - API endpoint mismatch: Fixed /api/overlay/update vs /api/overlay URL inconsistency
    - Template selection: Fixed video test page template selection with auto .html extension
    - JavaScript accessibility: Custom overlay:// scheme allows uploaded templates to access overlay.js
    - MessageBuilder: Added missing overlay_update() method
    - Template reload logic: Load specific template from form instead of reloading current
    
    Technical details:
    - OverlayUrlSchemeHandler for JavaScript file serving via overlay:// protocol
    - Qt Resource Collections (QRC) integration for embedded JavaScript files
    - PyInstaller compatibility with persistent user data outside executable bundle
    - WebChannel communication enhanced between Qt application and JavaScript overlays
    - Cross-platform persistent storage paths with proper fallback mechanisms
    2efa8937
overlay_url_handler.py 2.66 KB