Adding PHP 8.2 in travis tests

Phew, getting php 8.2 working in my plugin’s travis tests required quite a bit of trial & error in travis.yaml, but 8 commits later I won 😉

The solution was in these extra lines to ensure libonig5 was installed;

  - dist: focal
    php: 8.2

  # for PHP 8.2 install libonig
  - if [ -n "$LIBONIG_INSTALL" ]; then sudo apt-get install libonig5; fi

Mastodon oEmbed requests overload; use WP Rest Cache

Mastodon due to the decentralized nature can result in a significant extra load on your site if someone posts a link to it. Every Mastodon instance where the post is seen (which can be 1 but also 100 or 1000 or …) will request not only the page and sub-sequentially the oEmbed json object to be able to show a preview in Mastodon. The page requests should not an issue as you surely have page caching, but the oEmbed object lives behind /wp-json/ and as such is not cached by page caches. The solution; the WP Rest Cache plugin and one small code snippet (for now). A lot more info can be found in Donncha’s excellent post on the subject.

Twitterless Twaddle revisited

screenshot of my "archived" twitter profileAlthough I removed the “twitterless twaddle” byline from this blog years ago and I was present on Twitter with my @futtta-account, I’ve never been an avid user. That means I have no “social capital” there and given the Musk shit-show it has quickly become, I revisited the Mastodon account I created in April this year (when Elon declared he wanted to buy Twitter) and as instructed by God I happily “archived” my Twitter account by removing all my follows, protecting my tweets, changing my name and gently closing the door behind me (and I finally deactivated my FB account as well).

So if you want to get social with me, I’m Not that I’m good at doing the socials, not that I’ll have much to say there, not that Mastodon solves all problems with social media, but it does feel good to be on a federated/ distributed social network using open source software, not owned by one company or one person.

Autoptimize Pro released, secret discount code here ;-)

Autoptimize ProSo Autoptimize Pro has finally been released, somewhat secretively (I like flying under the radar).

All info about features can be found on including a 20% early birds discount code, but if you use my internet nickname/ handle of whatever you want to call it (it’s part of the domain of this blog and has 3 t’s in it 😉) as coupon code between now and November 16th, you’ll get an even bigger discount!

Be quick, your website will be too 😉

Autoptimize Pro is coming, 10 beta-testers needed!

It has been long overdue, but I’m finally almost ready to release Autoptimize Pro. The first version of AO Pro (an add-on to be installed on top off Autoptimize) will have Image optimization, CDN, fully automated critical CSS and a number of “boosters” to improve performance even more, with more features are in the backlog.

autoptimize pro boosters screenshot

If you’re interested in beta-testing fill out the form below and based on data submitted I’ll pick 10 beta-testers. As a beta-tester you’ll be able to use AO Pro free of charge until the end of the year.

Beta-testing is being finalized, I am currently not looking for additional testers.

Ubuntu Jammy Jellyfish; about screenshots and Firefox

Yesterday I had the day off, so I decided to finally upgrade my Thinkpad X13 to Ubuntu 22.04. Jammy Jellyfish (as the release is nicknamed) is nice but the new default display server, Wayland, blocks Shutter and other non-native screenshot apps from making screenshots. This interfering with my support workflow as I use Shutter not only to make the screenshot but also to edit and upload it to imgur. The solution was simple; I logged out and switched back to the Xorg display server on the login screen settings.

Coincidentally or not; making screenshots in Firefox (which can be handy to screenshot an entire page or a node for example) was suddenly disabled as well, so in about:config I had to toggle screenshots.browser.component.enabled back to true.

And lastly, also on the topic of Firefox; it now comes as a snap instead of a deb now and although I’m not dogmatic about deb vs snap, I see no need for Firefox being packaged/ updated by the OS as the in-browser update mechanism is sweet, so I installed the Mozilla-build instead.

Music from Our Radioheads: Thom Yorke solo in Zermatt

Long time no Radiohead here, so let’s fix that shall we? Here’s Thom Yorke solo in Zermatt (Switzerland) playing songs from Radiohead, his solo-records and his new band (The Smile). If anything this is a testament to the great songwriter the man is! Also remarkable; he seems so much more at ease on stage now, maybe having accepted the spotlights which sometimes seemed too much for him to cope with. But then again the period of the great hype has passed and the spotlights now are likely very different from the ones he had to cope with in the nineties? Anyway, what a concert, no? I hope Yorke will perform solo in these parts one of these years!

Thom Yorke at Zermatt Unplugged - Full Multicam - April 9, 2022

Autoptimize 3.1 released

Autoptimize 3.1 was just released with some new features and some fixes/ improvements:

  • new: HTML sub-option: “minify inline CSS/ JS” (off by default).
  • new: Misc option: permanently allow the “do not run compatibility logic” flag to be removed (which was set for users upgrading from AO 2.9.* to AO 3.0.* as the assumption was things were working anyway).
  • security: improvements to the critical CSS settings page to fix authenticated cross site scripting issues as reported by WPScan Security.
  • bugfix: “defer inline JS” of very large chunks of inline JS could cause server errors (PCRE crash actually) so not deferring if string is more then 200000 characters (filter available).
  • some other minor changes/ improvements/ hooks, see the GitHub commit log

I got some questions about why and how of the “Disable extra compatibility logic?” option, here’s some more info copy/pasted from my answer on the WordPress support forum:

well, back in the 3.0 days the assumption was that for existing and thus confirmed working installations the compatibility logic brought no advantages and *could* cause regressions, hence compatibility was disabled for those (there are no complex/ heavy queries in the compatibility code).

this new option gives users of “older installations” the option to enable compatibility anyway, but as it is only useful in case of problems, I would advice to keep it off unless something is broken and only then to enable it to see if is automatically fixes the issue 🙂

Happy optimizing! 🙂