Mastodon 3.1 preview and other updates

I've tagged the first release candidate for Mastodon 3.1.0, so the stable release is coming within a week. There's two semi-major new features among the bugfixes and quality of life improvements: Server announcements and bookmarks.

Server announcements are a way for admins to broadcast updates to all of their local users in a way they're likely to definitely see them (as opposed to e.g. some people not following the admin's account, or not being online when the admin posts and missing the post in the home feed). So if there's planned downtime, a service outage, or some community event, there's now a better way to communicate. One special thing about this feature is that it allows users to react to the announcement (think Discord or Facebook reactions). So below the announcement you get to pick any emoji (including custom ones, of course) and react with it. It's not intended to be serious, just a way for people to fool around. At the same time, people have been requesting the ability to use reactions on normal posts for a while, and this is a way of experimenting with the design in an area that's less vital.

Bookmarks are favourites without the social component, i.e. the author of the post is not notified about the bookmark. I've been opposed to adding this because of such great overlap in functionality for some time, but I've been convinced by the observation that most people currently use favourites as--essentially--read notifications, so actually finding something you wanted to keep track of among favourites is hard enough to justify a separate category. This feature was developed by ThibG.

Some unpleasant experiences have led to improvements in the moderation area of Mastodon. Visual media attachments will now be hidden by default on the report screen to give moderators a chance to decide when and how to engage with disturbing content by looking at the non-visual parts of the report first as well as the blurhash previews. Accounts in the admin interface now list all active IPs of an account and allow searching by any of them with a simple click, and search by IP now includes more results than before. This should help massively with e.g. determining when an account has been hijacked by a spammer, and which other accounts are affected by that same spammer, or with finding alternative accounts of troublemakers. Also, it's now possible to browse who a given user invited to your server.

Those who run or use servers with IDN domains (domains that contain unicode characters) will be pleased to learn that Mastodon will now render IDN domains and process them correctly in mentions (whereas previously only the punycode version was displayed or accepted). There's a lot of other fixes, including some security-related ones. For the full list, check out the changelog.

Other updates

I hired twrnh to rewrite our documentation in a more coherent way (as well as checking it for outdated information and filling in missing details) and updated our documentation website to have better structure and visual hints. I tried migrating to GitBooks at first (a documentation hosting platform with a powerful WYSIWYG editor and very good design) and that's where twrnh did all his work, but it turned out that GitBooks loads a truckload of 3rd party scripts that you cannot disable, so I then had to transfer everything back to the previous system (statically-generated site powered by Hugo).

I've improved the joinmastodon.org website as well. Because of the server list section, it loads quite a few images (each server has a thumbnail). Previously, I was using Camo to proxy requests to the underlying images provided by the servers themselves. Such images are quite large however, and Camo has no means of transforming images in transit. So opening joinmastodon.org loaded about 16MB of data in total--quite bad. So I wrote my own alternative to Camo in Golang, called Gamo (which means "deer"), which is able to resize and optimize images when proxying them. I've also added a "Load more" button to the server list which means only the first 10 thumbnails have to be loaded at first to further reduce the amount of consumed bandwidth. Also, there are now a lot more servers that opted into the Mastodon Server Covenant!

Post-mortems

In November, Mastodon went viral in India after Twitter begun banning oppositional voices on behalf of India's ruling party. In that month, mastodon.social gained 41,532 new users, compared to October's 12,588. Here is a BBC article covering it. The following month, Mastodon went viral in Spain through the trending hashtag #YoMigroAMastodon, which trended both on Twitter and on Mastodon and resulted in 34,065 sign-ups on mastodon.social. Here is Mastodon being mentioned on Spanish national TV.

My servers were able to handle the increased load from the first wave fine, but during the second wave I had to rent one additional server. I am now also making use of BunnyCDN to serve static assets (CSS, JS, fonts, and static images like favicons and emojis) because I noticed load times were significantly higher for people far away from Germany (where mastodon.social servers are based).

After our object storage provider Wasabi had a weeks-long outage (which was just the latest in a series of outages throughout the year) I've made the call to switch to a different provider, Exoscale, which involved transferring over 1.8TB of data without downtime. That was not cheap, and Exoscale is more expensive, but at that point it felt like remaining with Wasabi was plain irresponsible towards my users.

Ideally, I would need to route object storage through BunnyCDN as well so that pictures and videos in toots load fast for everyone around the globe, but that traffic isn't free and there's a lot of it (think: 18TB per month), so I am still weighing the costs vs benefits.

The sponsors page is up-to-date. If you have any development requests and you don't want to mess around with GitHub issues, feel free to leave them in the comments below.

In conclusion, thank you as always for your support! ✨ 

By becoming a patron, you'll instantly unlock access to 3 exclusive posts
2
Writings
1
Video
By becoming a patron, you'll instantly unlock access to 3 exclusive posts
2
Writings
1
Video
Tier Benefits
Recent Posts