The State of Local-Only Fediverse Posts (WIP)
I got curious about the state of local-only post capability in the Fediverse. Yeah, that might sound like a contradiction, but on an instance that serves a specific community, sometimes you might want to only interact with other people on the same site.
Between reading and testing, here’s what I’ve found so far.
Servers
Notably, mainstream Mastodon does not support local-only posts.
Platforms that do take one of two main approaches:
- Add a local-only option to the post visibility. Pleroma/Akkoma and Takahē (discontinued?) take this approach. Downside: They can’t make make some local-only posts available to everyone on the instance and other local-only posts only available to followers on the same instance.
- Flag a post as not to be federated, independent of its visibility to people on the current server. This is the approach taken by Misskey and its forks, GoToSocial (my current favorite), and the Mastodon forks Hometown and Glitch-Soc.
Snac, Lemmy and Pixelfed don’t seem to.
TODO: check Friendica, Hubzilla, Bonfire.
Compatibility
Of course, since it isn’t standardized in the first place, even platforms that take the same approach internally have different ways for an app to tell them “hey, don’t federate this post!”
Extensions to the Mastodon API include:
- A
local_only
boolean added to the status in Hometown and GoToSocial. - The status
visibility
flag can be set tolocal
in Pleroma and Akkoma. - The status
visibility
flag can be set tolocal_only
in Takahē. (I’m not sure any client supports this!) - An eye emoji at the end of the post, used by Glitch-Soc.
- A
:local_only:
custom emoji used by Hometown.
Sharkey is a Misskey fork that supports the Mastodon API, but making a defederated post currently requires using the web interface or a Misskey-specific app. #
There’s also the question of how an app can detect what a server supports. From what I can tell, this is even less standardized.
- Hometown includes your default choice in preferences (
api/v1/preferences
), adding aposting:default:federation
flag that can be true or false. So an app can look for that flag, enable a switch and set the default value accordingly. - GoToSocial has a long discussion, but no conclusion.
- Nik Clayton (Pachli) suggests listing extensions in nodeinfo
- For now, most apps that support it seem to be either assuming based on what server/version they detect, or have an option to manually enable local posts in settings.
App/Client Support
There’s nothing special needed to display local-only posts, though an indicator is certainly helpful!
For making local-only posts, you need a front-end that can handle it.
- Moshidon (Android) is a fork of the official Mastodon client that supports all three methods. If you enable the feature in settings, it’ll offer local visibility when posting to Akkoma and a local-only checkbox on other platforms.
- Fedilab (Android, reviewed here) will set
local_only=true
and add the eye emoji, so it works with Hometown, Glitch-Soc, and GoToSocial, but not Akkoma. - Husky (Android, reviewed here) sets the Pleroma/Akkoma-specific
visibility=local
(which can confuse other servers if you try to use it with one!) - Phanpy (web, reviewed here) supports Pleroma/Akkoma-specific local posts, but not other platforms yet.
The rest of these don’t support it directly (yet?), but you can still make local posts if your server recognizes a “magic emoji.” I’m linking to the feature requests for each.
- Tusky (Android, reviewed here) has discussed the Hometown/GTS approach
- Elk (Web) has considered Hometown support once they decide how best to detect it
- Feditext (iOS) plans to start with GTS
- Subway Tooter (Android, reviewed here) #
- Pachli (Android, review) #
- Whalebird (desktop) #
- The Mastodon app (review) won’t support any features that aren’t in the main server.
- OpenVibe doesn’t seem like it would be interested in offering local-only posts.
TODO: Check more apps - Mastodon, Misskey, Pleroma, Akkoma