Skip to main content

Lazy Video

  • Version 1.4.2

    September 10, 2025
    • changed
      ThumbnailCache: Stricter typing for better type safety.
    • changed
      ThumbnailCache: Improved validation checks.
    • changed
      ThumbnailCache: Use of match expressions for code clarity.
    • changed
      ThumbnailCache: Optimized file operations for performance improvements.
  • Version 1.4.1

    September 04, 2025
    • added
      Local caching for video thumbnails, improving page performance and ensuring GDPR compliance by storing images locally.
    • changed
      ThumbnailCache class was added to manage thumbnail caching, making media delivery faster and more reliable.
    • changed
      Vimeo API fetching now uses cURL with proper HTTP status checks and more reliable error handling.
    • changed
      Platform detection logic has been moved into a dedicated template file for better organization.
    • changed
      If no custom thumbnail alt text is set, the video title will now be used as a fallback.
    • changed
      The uk-cover class in template-thumbnail.php is now applied only when the position requires it.
    • changed
      Admin messages have been refactored for smoother integration with partial builder updates.
    • changed
      Fixed video positioning has been improved with correct margins and expanded dimensions during autoplay.
    • changed
      A transparent placeholder image is now rendered to reserve space for autoplay videos, preventing layout shifts.
    • changed
      Microdata paths in template-microdata.php now use YOOtheme\Url for stricter validation and sanitization.
    • changed
      Thumbnail fetching logic has been refined to respect when autoplay is explicitly disabled.
    • changed
      All translations updated to support the new local caching option.
  • Version 1.4.0

    August 29, 2025
    • changed
      Refactored the entire script into a modern "Singleton FSVideoManager" class.
    • changed
      Encapsulated all logic within private and public methods for better organization.
    • changed
      Centralized all video state management within the class instance.
    • changed
      Implemented a formal "destroy()" method for complete cleanup and memory safety.
    • changed
      Ensured all event listeners are removed on `destroy()` to prevent leaks.
    • changed
      Optimized the "MutationObserver" with more efficient DOM change processing.
    • changed
      Made the MutationObserver root and debounce delay configurable.
    • changed
      Added dependency check to ensure UIkit is present before running.
    • changed
      Added "try...catch" blocks for safer video initialization.
    • changed
      Implemented a system to mark failed initializations to avoid repeated errors.
    • changed
      Added robust drag-vs-click detection to prevent accidental plays on swipe.
    • changed
      Added a toggleable debug mode with detailed console logging.
    • changed
      Exposed the manager instance to "window" for easier debugging.
    • changed
      Added a public "refresh()" API method to rescan for new videos.
    • changed
      Added a public "getVideo()" API method to retrieve data for initialized videos.
    • changed
      Implemented integration for the YOOtheme Pro builder environment.
    • changed
      Automatically closes open video modals during builder preview updates.
    • changed
      Improved modal lookup to reliably find modals after UIkit repositioning.
    • changed
      Refactored play icon logic in "template.php" for clarity and fallback handling.
    • changed
      Simplified variable interpolation across templates.
    • changed
      Refactored play icon logic in `template.php` for clarity and fallback handling.
    • changed
      Added "JsonException" handling with fallback logic for JSON encoding.
    • changed
      Improved admin notifications for video platform detection.
    • changed
      Improved admin notifications for invalid video URLs.
    • changed
      Improved admin notifications for wrong microdata in builder.
    • changed
      Adjusted platform regex definitions and parameter handling (reduced redundancy).
    • changed
      Set element default "z-index" to "1".
    • changed
      Added scroll delay when opening video in modal via URL hash.
    • changed
      Floating widget: close button uses "filter: invert()" for better visibility.
    • changed
      Floating widget: expanded clickable area (+20px padding).
    • changed
      Floating widget: video closes with a fade animation.
  • Version 1.3.3

    August 16, 2025
    • new
      Joomla! 6 ready!
    • new
      PHP 8.5 ready!
    • changed
      Installer refactor: replaced installer.php with robust script.php, enhancing dependency management and compatibility checks.
    • changed
      Standardized plugin namespace to align with Joomla conventions.
    • changed
      Simplified class structure, streamlined module loading logic, and removed unused imports.
    • changed
      Adjusted schema and metadata files.
    • changed
      Enhanced code readability and maintainability by polishing templates and simplifying logic.
    • changed
      Minified fs-video.js and updated code references to the optimized script.
  • Version 1.3.2

    May 11, 2025
    • changed
      Refactored Joomla! media URL cleaning logic
    • changed
      Enhanced local videos validation logic
    • changed
      Scoped CSS in modal templates by using modal-specific IDs
  • Version 1.3.1

    April 01, 2025
    • changed
      Temporary video thumbnail is now transparent during client-side validation process.
  • Version 1.3.0

    March 31, 2025
    • Enhancement
      Video thumbnail processing is now up to 96% faster per video!
    • added
      Support for triggering video modals from custom buttons.
    • changed
      Client-side validation for YouTube & Vimeo API thumbnails before applying fallback.
    • changed
      Relocated microdata JSON-LD snippet below the video.
  • Version 1.2.5

    March 24, 2025
    • fixed
      Joomla dynamic content image URL validation issue by removing URL parameters after #
  • Version 1.2.4

    March 21, 2025
    • added
      Extra check to ensure custom video thumbnails are valid and available, preventing broken images.
    • added
      Validity check of the custom microdata thumbnail before use.
    • added
      Microdata: once valid, enables Google data-nosnippet attribute in the iframe for modal videos.
    • fixed
      Prevent videos inside standalone modals from autoplaying before their own modal (video popup) is triggered.
  • Version 1.2.3

    March 20, 2025
    • changed
      The translation listener class now verifies translation file validity before processing.
  • Version 1.2.2

    March 09, 2025
    • added
      Autoplay option for external modals with sound control
    • added
      "Rounded" border box style
    • added
      White and Dark frame decoration for the video player
    • added
      Element transformation support
    • fixed
      "Thumbnail fallback" field now appears for dynamic content videos
    • fixed
      Self-hosted videos now autoplay correctly on page load
    • fixed
      Corrected microdata thumbnail URLs for YouTube and Vimeo
    • changed
      Video link/button now works with all video types, including modals
    • changed
      Improved element controls logic—only relevant settings are displayed
    • changed
      Simplified UI/UX
    • changed
      Clearer autoplay option labels
    • changed
      Updated translations
    • changed
      Minimum required YOOtheme Pro version updated to 4.2
    • changed
      Minimum required WordPress version updated to 6.6
  • Version 1.2.1

    February 25, 2025
    • changed
      Preview videos now always use preload="auto"
    • changed
      Thumbnail fallback is not applied to locally-hosted modal videos
    • changed
      Removed error message when selecting remote video files
  • Version 1.2.0

    February 05, 2025
    • new
      Video preview thumbnails
    • new
      Modal window video playback
    • new
      Floating video widget feature
    • new
      Action link (for floating video)
    • new
      29 language translations
    • added
      Display and autoplay preview video on hover with the thumbnail
    • added
      Option to replace static thumbnail with video preview and autoplay on 'inview'
    • added
      Lazy load option for preview videos
    • added
      Option to display video in the built-in modal
    • added
      URL hash support to auto-open video modal on page load
    • added
      Modal video resizing (aspect ratio, width, height controls)
    • added
      'Fixed' position option to display video as a floating widget.
    • added
      Close button for floating videos
    • added
      Dynamic close button placement based on placeholder border settings
    • added
      Floating video resizing during playback (aspect ratio, width, height)
    • added
      Floating video automatically sets 'max-height: 60%' on mobile devices
    • added
      Action link input field
    • added
      '_blank' target option for action link
    • added
      'Interactive Toggle' (uk-toggle) option for action link
    • added
      Action link styling controls
    • added
      Auto-adjust action link position when video controls are enabled
    • added
      Overlay title blend color option
    • added
      Breathing animation to play icon on hover after preview video is used
    • added
      Admin alerts for invalid video URLs
    • added
      Dynamic content support across all element fields
    • added
      Inline CSS styling support for modal containers
    • added
      Autocomplete hints for CSS classes
    • fixed
      Aspect ratio calculation for locally hosted videos
    • fixed
      Microdata JSON-LD thumbnail URLs now use full URLs instead of relative paths
    • changed
      Overlay background color auto-disables with video previews
    • changed
      Microdata thumbnail field updated to image picker
    • changed
      Play icon ARIA label option has been moved to the Element Settings tab
    • changed
      Icon selection ui replaces predefined play icons dropdown
    • changed
      Margin settings were ignored for floating videos
    • changed
      Refactored template structure for better maintainability
    • changed
      Optimized conditional logic for element options
    • changed
      Simplified control labels for intuitive configuration
    • changed
      Minimum requirement: Joomla! v4.4 or higher
  • Version 1.1.1

    January 07, 2025
    • added
      uk-link-reset class to ignore play icon inheriting link color
    • fixed
      Prevented page scroll up when clicking the play button
  • Version 1.1.0

    December 28, 2024
    • new
      Local videos support
    • new
      Aspect ratio support
    • new
      Microdata support
    • added
      Default thumbnail for local videos
    • added
      Border options for the video placeholder to display circle videos
    • added
      Overlay video title HTML element option
    • added
      Overlay video title heading styles options
    • added
      Overlay video title font family options
    • added
      Overlay video title line clamp to limit the output
    • added
      Play button ARIA label
    • added
      Keyboard navigation support across the videos
    • added
      Admin notification on wrong video URL
    • added
      Microdata: stripped tags for all inputs
    • added
      Microdata: JSON-LD script tag appears only if all required fields are filled
    • added
      Microdata: once valid, enables Google data-nosnippet attribute in the iframe
    • added
      Microdata: "Name" filled from "Video Title" on empty as fallback
    • added
      Microdata: "ThumbnailUrl" uses user-defined "Thumbnail" or platform thumbnail from API
    • changed
      Using Shadow DOM
    • changed
      Refactored video platform handling logic
    • changed
      Optimized thumbnail delivery from platform API and its fallback
    • changed
      Dimensions adjustment by one side respecting selected aspect ratio
    • changed
      More strict fallback on any wrong video dimension values
    • changed
      Autopause option has been removed and enabled by default
    • changed
      Iframe title attribute filled with video title
    • changed
      Single JS script for initialization of all videos on the page
    • changed
      Using a JavaScript mutation observer
    • changed
      Ajax reload on element edit in customizer
    • changed
      Using video field type to enable video preview in the element (Joomla)
    • changed
      Optimized element settings conditions
    • changed
      Optimized element settings UI/UX
  • Version 1.0.6

    February 01, 2024
    • added
      Player keyboard shorcuts option
  • Version 1.0.5

    January 31, 2024
    • fixed
      Vimeo wrong video URL error
  • Version 1.0.4

    January 29, 2024
    • changed
      Video thumbnail image default fallback resolution -> 4k
    • changed
      Placeholder background color while thumbnail loads
  • Version 1.0.3

    January 29, 2024
    • added
      Video thumbnail image fallback
  • Version 1.0.2

    January 26, 2024
    • new
      YouTube Shorts support
    • new
      WordPress update server
    • added
      Show title option
    • added
      Custom play icon
    • added
      Auto-Pause option for modal integration
    • chaned
      Autoplay feature now support 2 modes
  • Version 1.0.1

    January 16, 2024
    • added
      Autoplay inview
  • Version 1.0.0

    January 13, 2024
    • added
      Initial release