A number of improvements have been made to the lazy loader. The goal is to generally improve efficiency and make dynamically-sized embeds such as tweets as nondisruptive as possible.
  • The size of dynamically-sized embeds (e.g. tweets) is cached locally in the browser. This will improve the user experience on repeat viewing or when the same embed is shown multiple times on a page.

  • Visible embeds are loaded as soon as possible. Previously, the lazy loader waited a tiny fraction of time (32 ms) before checking for visible embeds while the page is loading. Combined with the aforementioned caching, it can reduce and even eliminate Cumulative Layout Shift.

  • The visibility of all embeds in collapsed quotes is now checked to determine whether they should be loaded. Previously this only applied to regular-sized embeds such as YouTube videos, and has now been extended to all embeds. This means that an embedded tweet in a collapsed quote is not loaded unless it is at least partially visible.
Overloaded URL tags in the form [URL media=...] are now processed as and counted as [MEDIA] tags and should be subject to the same restrictions. Thanks to Xon for the helpful report.

JavaScript event listeners used for lazy loading are now passive and apply during the capture phase. This isn't expected to make a practical difference but it may help with inconsiderate third-party scripts that hijack events.

Note that support for XenForo 2.0 and 2.1 has become harder for me to guarantee and will be phased out in future releases. If you haven't upgraded to XenForo 2.2 yet, let me know.
Embedded tweets have been slightly restyled to show some sort of placeholder while the actual content is loading. The height of embedded tweets is now cached within the browser, which may improve the user experience on repeat viewings.
TikTok and WSHH have been updated.
Experimental support for Guzzle has been added, disabled by default.

Guzzle is a PHP library used by XenForo to retrieve data from external sources. This add-on uses native cURL calls for the same purpose. If this means anything to you and you want this add-on to use the same Guzzle client as XenForo, you can add the following to your config.php file:
$config['http']['s9e.client'] = 'guzzle';

Future versions of this add-on may default to using Guzzle if it proves beneficial.
Fixed an issue with some special characters in Odysee URLs.
Added support for dark theme in Reddit embeds.
The handling of line breaks around media embeds has been changed to match the text layout more closely and be more consistent with XenForo's default media sites:
  • When two BBCodes are on the same line, the two embeds are on the same line.
  • When two BBCodes are on consecutive lines, the two embeds are on consecutive lines.
  • When two BBCodes are separated by a blank line, the two embeds are separated by a blank line.

The default behaviour in XenForo is similar, with the difference that it is not possible to have two embeds on the same line using XenForo's default media sites. The technical implementation is different though: while XenForo uses block elements and removes line breaks around media embeds, this add-on uses inline blocks and does not remove line breaks after its embeds.

You can tweak the layout of this add-on's embeds in CSS via your extra.less template. For example, you can force this add-on's embeds to be displayed as block elements using the following snippet:
[data-s9e-mediaembed] {
	display: block;
This is a recommended upgrade if you're running 2.7.0 or later.
Added support for private Vimeo URLs.
Changed URL matching to match host names case-insensitively. The rest of the URL remains case-sensitive.
Custom URL BBCodes with a media attribute should be unfurl'ed properly now, even if the URL has never been used before.

  • Wow
Reactions: Chromaniac
This update contains a new feature that you will find in the add-on's option or the "Media embedding" section of your admin panel. It will add a selector that will affect how embedding media works. You will get to choose between the regular [MEDIA] tag (which is the default position) or a customized [URL] with a media attribute. Here is an example of such a custom tag:
[URL unfurl="true" media="youtube:QH2-TGUlwu4"]https://www.youtube.com/watch?v=QH2-TGUlwu4[/URL]


For all intents and purposes, this is a URL BB Code that will be automatically be transformed into a YouTube video when viewed in a rich HTML page. However, if the YouTube media site is disabled or if this add-on is disabled, it will be displayed as a normal link, possibly unfurl'ed as per XenForo's configuration.

This feature is quite new and there may be unforeseen side-effects so please report any issues in the discussion thread.

Thanks to @Xon from Sufficient Velocity for sponsoring this update.
Top Bottom