diff --git a/content/posts/2024-11-12_trunk_and_tidbits-october_2024/hero.png b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/hero.png new file mode 100644 index 0000000..cf4473d Binary files /dev/null and b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/hero.png differ diff --git a/content/posts/2024-11-12_trunk_and_tidbits-october_2024/index.md b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/index.md new file mode 100644 index 0000000..c6131a8 --- /dev/null +++ b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/index.md @@ -0,0 +1,124 @@ +--- +title: "Trunk & Tidbits, October 2024" +description: "Engineering updates from the Mastodon core team, October 2024. Initial updates post-4.3, a new team member, and lots of community news." +date: 2024-11-13 +categories: +- Trunk and Tidbits +- Engineering +tags: +- engineering +- mastodon +authors: +- andy +- renchap +resources: +- name: hero + src: hero.png +draft: false +--- + +# Trunk & Tidbits, October 2024 + +Welcome back to our monthly engineering series. In October, our long-anticipated plushies got out into the wild (mostly in Europe, for now), and we were busy tuning the code and planning what's next. + +This is also a larger entry in our blog series, for updates from around our community. + +## New arrivals + +We are really excited to welcome [Shannon Hughes](https://mastodon.social/@whattherestimefor) to our core development team, to work on our iOS experience. Big thanks to our friends Marcus and Nathan for looking after the app over the past couple of years, as well. Shannon has already started to get to work on improvements, so look out for more in the coming months! + +
Post by @MastodonEngineering@mastodon.social
View on Mastodon
+ +Shannon was not the only newcomer! We aim to keep this blog series focused on the code, but we were excited that the initial batch of [#Plushtodon](https://mastodon.social/tags/Plushtodon) took the world by storm in October - check out [the hashtag](https://mastodon.social/tags/Plushtodon), for photos of happy Mastodons finding their new homes! We're working to help them reach the UK and the US, as well; stay tuned to [our Mastodon posts](https://mastodon.social/@Mastodon) and [merch store](https://shop.joinmastodon.org/) for more on this. + +{{< figure src="wild_plush.jpeg" caption="A wild #Plushtodon appeared!" >}} + +## Releases + +We released [version 4.3.1](https://github.com/mastodon/mastodon/releases/tag/v4.3.1), which mostly features a number of smaller fixes and polish to the main 4.3.0 release. Instance administrators are encouraged to upgrade (if you have not already done so). + +## Recent work + +In October, we reviewed and merged 234 Pull Requests (167 with translation and dependency updates subtracted from the total) from 24 authors. + +We really appreciate the contributions and support. If you would like to get involved, we have some [issues tagged "help welcome"](https://github.com/mastodon/mastodon/labels/help%20welcome), including [this one for Rails/backend](https://github.com/mastodon/mastodon/issues/32023), and [this one for React/frontend](https://github.com/mastodon/mastodon/issues/29991). + +### Backend + +There were a number of small bug fixes following the 4.3.0 release, that made it into 4.3.1. + +
+ +- {{< feature-label name="api" >}} Removed support for authenticating to the API using username and password, as this can cause security issues, and this usage has been strongly discouraged by OAuth security recommendations for several years. This is a change that will affect API libraries that implemented username and password authentication, so check for compatibility if you're using one of these - you'll want to find a library that supports OAuth tokens, and generate one for your app. {{< github-pr id=30960 authors="thisismissem" >}} +- {{< feature-label name="new feature" >}} Added back a 6 hour mute option, in addition to the existing 1, 7 and 30 days. {{< github-pr id=32522 authors="renchap" >}} +- {{< feature-label name="new feature" >}} Group follow notifications. This can be disabled in the notification settings. {{< github-pr id=32520 authors="renchap" >}} +- {{< feature-label name="new feature" >}} Added a way for push notification endpoints to cancel a push subscription. This is especially useful if your push notification server handles things asynchronously and you know that a subscription token has been permanently invalidated. For example, we are [updating our own mobile notification server](https://github.com/mastodon/webpush-apn-relay/pull/8) to benefit from this feature. {{< github-pr id=32626 authors="oneiros" >}} +- {{< feature-label name="interface" >}} Improved the instructions to set up the `fediverse:creator` tag. {{< github-pr id=32522 authors="ClearlyClaire" >}} +- {{< feature-label name="interface" >}} The look of Filters and Content Warnings have been adjusted based on community feedback. {{< github-pr id=32543 authors="ClearlyClaire" >}} +- {{< feature-label name="interface" >}} Text formatting in posts should look better (and is aligned with our latest design on Android). Right now it is not possible to post formatted text on Mastodon directly, but supporting this is on the roadmap. {{< github-pr id=32633 authors="gargron" >}} +- {{< feature-label name="interface" >}} Like and boost counts for remote posts should now be more accurate, as they are fetched when a status is refreshed. This is not real-time, and is only a first step toward better support for remote-content synchronisation. Thanks to [@sneakers-the-rat](https://github.com/sneakers-the-rat) for this contribution, and other PRs that we are currently reviewing. {{< github-pr id=32620 authors="sneakers-the-rat" >}} +- {{< feature-label name="interface" >}} If you open a poll on a Mastodon instance other that your own, and try to vote, we now show a modal to direct you to your server. This is similar to boosting or following. {{< github-pr id=32609 authors="thisismissem" >}} + +
+ +### Android + +Many small quality of life improvements have been made to our app over the past month. You will also find that support has been added for displaying a subset of formatted text (bold, italic, strikethrough, code spans, lists, blockquotes); creating posts with this markup is not yet supported, but this is on our roadmap. + +
+ +- {{< feature-label name="interface" >}} Added an option to use the Mastodon color theme (instead of Material You). +- {{< feature-label name="interface" >}} Support for the color contrast setting in Android 15. +- {{< feature-label name="interface" >}} New look for the media viewer. +- {{< feature-label name="new feature" >}} You can now crop your profile picture when editing your profile. +- {{< feature-label name="new feature" >}} You can now long-press "Add media" in the composer to bring up the file picker. +- {{< feature-label name="new feature" >}} New follower notifications now appear grouped. +- {{< feature-label name="new feature" >}} Directional loading for gaps in timelines: load newer posts when scrolling up, older when down. + +
+ +### iOS + +[Shannon](https://mastodon.social/@whattherestimefor) has joined the core development team, to work on the iOS app. + +As well as learning the internals, Shannon has been fixing some "random" crashes tied to how authentication is handled, as well as making small UI fixes and improvements. Expect to see some more visible changes in the coming weeks, as she starts working on larger pieces. + +### Fediscovery + +The [specification](https://github.com/mastodon/fediverse_auxiliary_service_provider_specifications) work on Fediverse Auxiliary Service Providers (the archetype of [Fediverse Discovery Provider](https://fediscovery.org)) is moving forwards, thanks to some good feedback from the community. We switched to a simpler authentication model that does not involve OAuth, as feedback showed that it was not the best technical way to achieve what we needed. + +Next, the focus is on having a way for providers to request data from an instance, so that the various discovery modules can build an index. We will open a Pull Request with this specification soon, to gather more community feedback. + +## Community news + +A busy month around our community! + +- We added a short list of our recently published blog posts to the main README on our [GitHub organisation page](https://github.com/mastodon). Hopefully, more people will discover Trunk & Tidbits, and follow along with our development progress. +- Our friends at Datadog [published a case study featuring Mastodon](https://opensource.datadoghq.com/projects/mastodon/) as part of their Datadog for Open Source Projects program. In particular, this highlights the value of the [OpenTelemetry](https://opentelemetry.io/) support in Mastodon 4.3. +- [FOSDEM 2025](https://fosdem.org/2025/) is coming in February. We're excited that [a Social Web Devroom](https://socialhub.activitypub.rocks/t/social-web-devroom-at-fosdem-2025/4709) is happening (and, we'll be submitting to the Call for Papers). The Mastodon team has also applied for a stand, after the success of our table in 2024 - look our for future news on this. +- [Andy](https://macaw.social/@andypiper) from our team was a guest on [FLOSS Weekly episode 805](https://hackaday.com/2024/10/16/floss-weekly-episode-805-mastodon-bring-your-own-algorithm/), to talk about the version 4.3 release. There are video and audio versions of the conversation that you can check out, if you're interested. +- The recent [Alt Party](https://www.altparty.org/) had a neat photo printer that printed Mastodon posts, and [the code is available](https://github.com/hacklab-fi/fediphoto). +- A number of folks have posted examples of integrating the author attribution feature, aka the `fediverse:creator` tag, into different blog platforms: + - [Robb Knight](https://social.lol/@robb) wrote a [general post](https://rknight.me/blog/setting-up-mastodon-author-tags/) about it. + - [Dr Footleg](https://fosstodon.org/@drfootleg) shared [how to do this with Blogger](https://adventures-with-pi.blogspot.com/2024/10/setting-up-author-attribution-for.html). + - [Andy](https://macaw.social/@andypiper) posted [one example](https://macaw.social/@andypiper/113311819856439844) of how to do this with WordPress. + +### Bots... In... Spaaaace + +Sadly, after many years, the [botsin.space](https://botsin.space) Mastodon instance will be closing in December 2024 - if you've missed the news, you can [read about it on the muffinlabs website](https://muffinlabs.com/posts/2024/10/29/10-29-rip-botsin-space/). Folks with apps / bots / accounts on that instance should already have seen the announcement notification (and, depending on account settings, may have had an email) with a reminder to look for somewhere to migrate their apps. + +There are a number of options if you run one of the bots affected by this change. Here is a short list: + + - Look for a new Mastodon instance. One option could be [mastodon.bot](https://mastodon.bot) (other instances are available!). If you do this before botsin.space goes away, you can use the [move account option](https://docs.joinmastodon.org/user/moving/) to migrate the bot's follower and following networks to the new home instance. +- [Botwiki](https://botwiki.org) continues to be an amazing resource for bot developers of all kinds, and has a [list of resources for Fediverse bot creators](https://botwiki.org/resources/fediverse-bots/). +- [Terence Eden](https://mastodon.social/@edent) has created an interesting new single-purpose ActivityPub app - [ActivityBot](https://shkspr.mobi/blog/2024/11/introducing-activitybot-the-simplest-way-to-build-mastodon-bots/)- that makes it easy to build and host your own bot directly, without needing to live on a Mastodon instance (but your app will still be accessible in the Fediverse as a whole). + +We'd like to say **Thank You** to [Colin](https://muffin.industries/@colin), the owner of botsin.space, for providing a nice home for so many bots on Mastodon over the past seven years. What a lovely space it was 💜 🤖 🙏 + +## Gratitude + +The whole Mastodon team values your support for our work and platform, your contributions, and your feedback. + +Now is a more important time than ever to create a social web that is open, independent, and sustainable! Our work depends on donations, and we appreciate your continued support. + +{{< donate >}} diff --git a/content/posts/2024-11-12_trunk_and_tidbits-october_2024/wild_plush.jpeg b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/wild_plush.jpeg new file mode 100644 index 0000000..7840708 Binary files /dev/null and b/content/posts/2024-11-12_trunk_and_tidbits-october_2024/wild_plush.jpeg differ