Team blog: Developers

Twitter/X account deactivated

Belatedly, the Twitter/X account for is gone and won’t be coming back, since Twitter/X has been turned into a hate platform. If you’d like to follow us, you can do so on Mastodon or of course on this blog :-). JSON-LD data added to review subjects, individual reviews

We’ve had basic support for aggregate review metadata (using types) since 2017. We’ve now converted this data into the more modern JSON-LD format, and added it for individual reviews as well. The latter should help make reviews more discoverable in search engines. Thanks to Nortix for the suggestion.

Preview bug with uploaded files fixed

The new social media image support seems to be working well, but it had an issue where it would sometimes lose track of files you uploaded from the editor, especially when using preview (the dropdown list to select a social media image would be empty even though you uploaded files). This should now be fixed, but please file a bug report if you encounter any new or old problems.

Initial support for social media images added

One feature common to social media sites like Twitter and Mastodon is support for rich previews that tell you more about the link that you’re about to click on.

Rich previews typically include an image as well as an excerpt.

When you create or edit a review, you can now select the image that will be used for previews on social media and other sites that implement Open Graph.

To select a social media image:

  1. Upload the image, either on the review subject page (like this one), or in the review editor by clicking the “Cloud upload” icon.

  2. In the review editor, click “Additional settings”.

  3. Select the image from the available options.

  4. Save or publish your review.

That’s it. When you include a link to the review in social media, you should now see a preview like this one:

Example social media card (Twitter) for "Tell Me Why"

Please note that this currently only works for individual review links, not for review subject pages.

This is still a brand-new feature, so expect the unexpected! Let us know if you encounter any issues.

(As part of this update, team settings can now also be found in the “Additional settings” section to de-clutter the review editor a bit.)

RIP FreeNode, hello LiberaChat

In case you haven’t been following along, the FreeNode chat network recently imploded, and hundreds of of open source projects have migrated their chat infrastructure to Libera.Chat, a community-run alternative. That includes, and you can now find us on on

Another Ubuntu upgrade; minor bugfix deployed

The VPS is now running on Ubuntu 20.04 (Focal), the latest Long Term Support release, which receives security updates until April 2025. The upgrade was fairly painless, but the do-release-upgrade wrapper script was interrupted, and I had to manually fix some broken packages.

I also fixed a small bug which has been annoying me for a while: The Wikidata search box wasn’t working when you started a new review, until you un-focused and re-focused it.

From auto-sni to Greenlock is now using Greenlock Express instead of the outdated auto-sni module to provide HTTPS access. As a user of the site you should not experience any difference, but SSL Labs reports an improved security grade for the site (from A- to A).

ElasticSearch, Node & Ubuntu upgraded

As part of routine systems maintenance, I’ve updated the following components:

  • ElasticSearch to version 7.8 (which adds improved stemming for some languages, but required significant changes to the search code)

  • Node to the 12.x LTS series

  • Ubuntu on the server from the 16.04 LTS series to 18.04 LTS

There should be no significant user-facing impact of these changes, but if you notice anything no longer working as it did, please don’t hesitate to file an issue.

Smoothing Sign In and Sign Up

My first patch for Lib.Reviews went live earlier this month! A small ease of use feature for users. When you follow a link to a page and click sign in or register from that page, you will now be redirected to the page you came from. This feature will be very nice to have as grows and users become more likely to enter the site from arbitrary links.

The second feature went online last week. This patch ia a hidden ease of use feature for non-english users. Users can post links with a signupLanguage query to advertise registration for in any supported language. Say all your friends speak esperanto, you would send them so the website will show up in esperanto without having to search for the language drop down. This should help new users feel welcome right away. on Mastodon

Mastodon is one of the most exciting developments in open source of the last couple of years: a decentralized social network that is actually taking off. If you’re unfamiliar, here is a good concise introduction, and here is a more comprehensive one.

The super-short version is that, like email, Mastodon is spread across many servers that talk to each other. You can follow users on any server, and messages spread through the network as needed. Each server gets a limited view of the total network, based on who the users on that server are interacting with.

This isn’t a new idea: GNU Social and Diaspora are following a similar model (GNU Social and Mastodon are interoperable). But Mastodon is very user-friendly, development is very active, and a rich ecosystem of apps and communities is forming around it. Exciting times!

As far as is concerned, there’s now a quiet little account you can follow on Mastodon. Down the road, I’d love to explore whether we can make actually talk to the federated social media universe. For starters, it shouldn’t be too hard to make it possible to follow users on Mastodon, thanks to the ActivityPub standard. Help, as always, is most welcome.

 Older blog posts