Happy First Birthday Darkfriend Social

One year ago today I spun up our Darkfriend.social Mastodon instance as a place for Wheel of Time fans to land in the fediverse. Just one day earlier, Elon Musk had completed the purchase of Twitter, and at the time I suspected that the service was going to get a lot worse just based on things Musk had said along the way. I knew there were a lot of Wheel of Time fans on the service that might be looking for alternatives, and thought Mastodon and the fediverse might be a good option.

When we first launched there was a surge of interest. We reached 100 members within a relatively short period of time, and other servers in the fediverse were seeing a lot of growth as well. Many of those new members ultimately chose to go back to Twitter or find more comfortable footing on alternatives like Bluesky. Others have remained active on the site and across the fediverse, and have made lots of new friends as a result.

I am still so excited to see what is to come for our server and for the open social web. While there is certainly lots of controversy around it, Meta’s new service Threads will eventually be opening up to federation. Bluesky has continued to grow and there is work being done to bridge their federated services with the rest of the fediverse. At the same time, legacy services like Twitter and Facebook continue to push pay-to-play strategies built around subscriptions for algorithmic amplification.

I think the open social web is a better experience and has more to offer. I’m happy that Darkfriend.social has been a home to others this past year, and hopefully for years to come.

Mastodon 4.2.0 is out and Darkfriend Social has been updated!

Mastodon 4.2.0 has been released. As with all big releases there are a lot of changes. I wanted to write up a summary to highlight some of the changes the average user might care about. If you want to get really deep into the details, you can check out the full Release v4.2.0 Changelog.

Note that some of these changes will really only change anything on the web interface. Other changes may just take time to be adopted by the various mobile apps. That is pretty much always the case, but I like to remind people.

Full-text Search of Opted-In Public Posts

For Mastodon servers with ElasticSearch (or alternatives) installed, full-text search is now able to return results that include public posts from anybody that has opted in. Of course, that means there is also a new setting to opt in. You can find this option in your settings.

Note: If you want your posts to be available for full-text search, you MUST opt in to this setting. It is opted out by default.

Full-text search also now includes support for search operators such as:

  • from: [user]
  • before: [date]
  • after: [date]
  • during: [date]
  • language: [language code]
  • has: poll
  • in: library (searching only posts you have written or interacted with)

Darkfriend Social does not currently support full-text search as there are additional costs associated with this. This is a matter for some thought and discussion.

Exclusive Lists

Have you ever wanted to put a bunch of people into a list and only see their posts in that list, and not in your Home feed? Well, now you can. Now when editing a list, you can mark it as exclusive and the posts that appear in this list do not show up in your Home feed.

Screenshot of editing a list, with a toggle labeled "Hide these posts from home".

Profile Settings

Your profile settings have been combined into a single Public profile settings page, with tabs for the different sections. This should reduce some confusion and redundancy in menu options.

Screenshot of the Mastodon Public profile setting page, with the following tabs available: Edit profile, Privacy and reach, Verification, Featured hashtags.

Privacy and Reach Profile Settings

Some settings have been reorganized into a single Privacy and Reach tab on your Public Profile settings page. This is where you can find settings like whether you appear in Discovery features, you require manual review of follows, and whether your follows and followers are public or private.

Screenshot of the Public profile settings page in Mastodon with the Privacy and reach tab selected. This tab includes settings like: Feature profile and posts in discovery algorithm; Automatically accept new followers; Include public posts in search results; Include profile page in search engine; Show follows and followers on profile; Display from which app you sent a post.

Thread Lines

The look of your feeds is updated, and now there are lines to better indicate reply threads. This should make it easier to follow multiple conversations under a single post.

Screenshot of a post with a couple of different threads of replies, each thread indicated separately by a single line that follows along the posts in that thread.

Hashtag Placement

When you add a selection of hashtags at the end of a post on their own line, they’ll now get moved to their own location on that post’s display.

Screenshot of a post with hashtags shown at the bottom of the post, and some hashtags collapsed behind a link.

Importing Lists

While previously you could import a lot of things (followers, blocks, mutes, etc.) you could not import Lists. Now you can! This may be especially helpful for the Tooters of Time list as it could make it more than just uploading accounts to follow.

Role Badges

Mastodon has supported for assigning roles to members. Often these roles are things like the instance Owner or Moderators. It is possible, though, to add custom roles – we have a role for Content Creators on Darkfriend Social. Unfortunately, until now that role did not appear anywhere. With this update, that role will appear on the profile of any users with the role.

Screenshot of the Darkfriend Social user profile for TarValon.net, showing a Content Creator badge.

Other Look and Feel Changes

  • The Local and Federated timelines are now just tabs in the Live Feeds column.
  • Boosts will no longer appear on the Posts and Replies tab on a user profile.
  • Link previews will look a little different on the web interface.
  • “Direct Message” has been renamed to “Private Mention”.
  • In the Explore screen, “For You” has been changed to “People”.

Mastodon 4.1.0 is out and Darkfriend.social has been updated!

Mastodon 4.1.0 was released yesterday, February 10th. There are a lot of updates but many of them are back-end updates. I thought I would write up a summary to call out some of the things that average people using the platform might like to know about. If you’d like to see everything, you can read the full Release v4.1.0 Changelog.

Note: It will take time for the various Mastodon mobile apps to update to support these new features. Some will be faster than others. This includes the official Mastodon apps, as their development is separate from the core product.

Add listing of followed hashtags

You can now view a listing of the hashtags that you follow. After the ability to follow hashtags was added, there was no way to view a listing of the hashtags that you had followed. Now you can!

Screenshot of the expanded profile menu on Mastodon, with the Followed hashtags option highlighted.

Expanding the menu next to your profile will now reveal a new Followed hashtags option. This option takes you to a list of the hashtags you have followed. From there, you can click through to any one and choose to unfollow it.

From the conversation around this feature it seems likely that in a future version we will be able to unfollow directly from this page without needing to click through.

Add support for editing media description and focus point of already-sent posts

With version 4.1.0 we can edit the description and focus point of previously sent posts. So if you forgot to add a media description to an image, now you can edit the post and add the media description in. Or, if you notice a typo in a media description you can correct it now without needing to delete and re-draft the post.

Screenshot of Mastodon demonstrating the ability to edit a post and then edit the media description and focal point properties of an image attached to the post.

Add follow request banner on account header

For those that have the Require follow requests option set on their account, now if you visit the profile of somebody that has sent you a follow request there will be a prompt in the banner to allow you to authorize or reject that request.

Screenshot of a user profile on Mastodon demonstrating the Authorize or Reject option at the top in the event that the user has requested to follow you.

Improvements to search results

Ensure exact match is the first result in hashtag searches

Now when searching for a hashtag that may have more popular variants, if there is a search result that is an exact match for what you searched for it will be given precedence in the results.

Change account search to return followed accounts first

Now when searching for accounts if the search results include a mix of users that you follow and users that you don’t follow the users that you follow will appear higher in the search results.

That sums up the updates that I think are relevant to the average user. There are a lot of updates to things on the back end and administration side of things. If you read over the patch notes and think there’s something else that should be included here, reach out on Mastodon and let me know.

Code of Conduct and Simplification of Rules

Today I set out to touch up our rules and expand the verbiage which had previously been listed simply as our Moderation Practices. I took this opportunity to also retitle that to the Code of Conduct at the same time. I simplified some of the rules by removing duplication, and by moving some definition of terms from the rules to the Code of Conduct.

Read more

Darkfriend Social – October 28th to November 17th

On October 28th of 2022 I created an account with Masto.host for hosting a Mastodon instance. The intention at this time was to create a Twitter-like space for the Wheel of Time fandom which was so active on Twitter at this time. With Elon Musk taking ownership of Twitter, I and many others suspected that things would go poorly with the social media platform under his management.

Read more

Streaming on Twitch – Week 2

Things have been going well so far with the streaming setup. I’ve added the two direct upgrades that I had considered in the previous post – a second monitor and the foot pedal. The second monitor is now used for all stream-related controls on the PC while streaming. I also use it for Discord and other applications that benefit from the vertical orientation. This has freed up space on the tablet for me to expand Touch Portal. The foot pedal is being used as a touch-to-speak for Xbox Live party chat, Discord, and any other communication applications.

Read more

Streaming on Twitch – Week 1

First post in a new category! The idea for this category is just to serve as a place for me to post updates, thoughts, impressions, etc. on my live streaming journey. Not really sure at this stage how seriously I want to take this whole thing. I mostly just wanted to learn some new software and solutions, and to get ready for streaming some Halo Infinite later this year.

So far my goal has been to get things started while spending the least amount of money possible. Ideally whatever money I’ve spent should be able to be used outside of just streaming. Below I am going to share some details of my setup including gear and software.

Read more


GameLog logo

GameLog was a game logging Discord bot. It allowed members to create a listing of their games with either an unfinished status or a completed status. The bot could then post a listing of all of the member’s games and their current statuses, along with when that status was applied.

The bot has been decommissioned and there are no plans to make the source available.

Example of GameLog's list command
example output from log!list


Google Analytics logo

uabot was a google analytics discord bot. It allowed you to link your Discord server to a Google Analytics account and track some information. It tracked messages sent, members added, and members removed. It also tracked voice channel entry, games being played, and when users come online. It did not provide accurate information on anything beyond these metrics, because the analytics portion is not being run on the end-user’s system.

The bot has been decommissioned.


Since I do not intend to actively develop and update this bot, I have decided to make the code available here. If you intend to use it, you’ll want to edit config.json and package.json to enter your own values there for author and various IDs. This bot was developed using the following: