taquiones.net is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
mentioning @Framasoft @peertube @fedihost@mstdn.social @fedihost@video.fedihost.co @paige @veronicaexplains @ewen @docpop @hikingdude
P.S.: this is the 20th article for The Future is Federated 🤗
#tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog #ActivityPub #video
https://github.com/macports/macports-ports/pull/27816
3 out of 3 GitHub Continuous Integration checks passed already! (I guess whatever was slowing down that third one got resolved somehow?)
Thanks to you and inz for the continued improvements!
It's up to someone else with commit access to merge it.
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces
Added support for customizing and translating the web UI language via simple .po
files. For more information on how to install language files or create new ones, please see snac(8)
(the administrator manual).
New user support for blocking hashtags from the web UI.
The Content-Security-Policy
HTTP header is now always sent to disable any JavaScript, instead of just being suggested in the documentation.
Image attachments in SVG format are now disabled by default; you can enable them back by setting the enable_svg
value to true
in server.json
.
Several fixes (contributed by inz).
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
In the past, all you needed was access to an IRC server and an e-mail address. Then came the age of phpBB and other forums, where you needed shitloads of accounts everywhere. Now we have Matrix, Discord, Discourse and a lot of weird centralised services that, depending on which project you want to participate in, demand you to have accounts everywhere too. I don't like this. And I hope that #ActivityPub can lead towards more unity, account-wise. Choice isn't always good. #GreyBeardRant.
@magsamond @goibhniu Jes! Esperanto estas bela, facila kaj amuza. Kaj tre taŭgas ĉi tie: se #ActivityPub estas teknika protokolo, #Esperanto estas lingvistika protokolo :)
Angla traduko: Yes! Esperanto is beautiful, easy and fun. And it fits very well here: if ActivityPub is a technical protocol, Esperanto is a language protocol :)
@ErikJonker there is the #freeourfeeds initiative that will replicate an atproto relay. Subject to technical / economic factors it wil put to rest the (reasonable) fears about bluesky.
My gut feeling is that because of different architectures, the two protocols will give rise to different online exchanges. Bluesky type cathedrals vs #activitypub type community houses.
And much depends on the client software we use - which is a bit stagnant. We could have a common interface to all these.
BTW I'm on Pleroma. It's another implementation of the Mastodon protocol.
ActivityPub was clearly designed by Architecture Astronauts (a googleable term coined by Joel Spolsky).
3/
A good file-extension for ActivityPub / ActivityStream files might be:
.activity
And maybe also:
.jsonactivity
Those could be used to trigger a web-server to respond with the Content-Type "application/activity+json".
.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
2/
.json isn't sufficient, since it would produce a Content-Type of "application/json" rather than "application/activity+json".
ActivityPub / ActivityStream files need their own file-extension.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
1/
A file-extension for ActivityPub /ActivityStream files.
...
On many web-servers, the Content-Type returned when serving a file is based on the file-extension of the file.
Ex: .txt for text files, .gz for gzip files, .gmni for gemtext files, etc.
I am not aware of a widely used file-extension for ActivityStreams / ActivityPub files.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
4/
This needs some testing to see what extant Fediverse software actually does.
For example — with the extant Fediverse software —
Does the avatar image, the (actor) name, etc show up with the post?
Does the post show up?
Etc?
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
3/
Now, this would probably break like counts, share counts, a replies to some degree.
But, if you didn't care about that, I think it should work.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
2/
For example, at:
http;//example·com/object/123
You might have the activity-JSON (application/activity+json):
{
....
"attributedTo": "https;//mastodon·social/users/reiver",
...
}
I.e., a Note or Article or whatever is saying that the author is NOT an actor on the same server host (example·com), but an actor over on the server host mastodon·social.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
1/
You could have a post on one server host attribute and account on another server host as its author.
All you have to do is set the "attributedTo" field appropriately.
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto
For example....
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
Again, #bluesky can censor. They have a centralized relay that can shut down anything. Taking VC money means maximizing profit, which will mean the largest possible network with content control and the fewest possible moderators. However this happened, more of it is inevitable.
But not on fedi. Like the web, you'd just need one of thousands of servers to host it. If you value free expression, you need to support real decentralization, #ActivityPub and the #SocialWeb.
3/
ActivityPub & ActivityStreams are based on JSON-LD — a format that is not (non-programmer) human-legible & human-writable
Maybe we need an alternative way of encoding ActivityPub & ActivityStreams in situations where (non-programmer) humans might read it or write it
Maybe the INI file data format? Or something else that is friendly to (non-programmer) humans?
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
2/
I agree that an open protocol is better and more important than just an application.
But I also think that an open file data format is better and more important than just an open protocol.
I.e.,:
file data format ≫ protocol ≫ app
...
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
1/
JSON-LD is not (non-programmer) human-legible format because — JSON is not (non-programmer) human-legible format.
JSON-LD and JSON are both also not (non-programmer) human-writable.
...
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
What if a (new type of) Fediverse server automagically created an ActivityPub actor for each hash-tag.
So, for example, if someone on the server used:
⋕banana
(Then if the domain of the server is "example.com") then we would automagically have the actor:
@banana@example·com
Probably a group actor.
And it boosted any local post with that hash-tag.
Then you could follow a hash-tag on a server.
#ActivityPub #ActivityStreams #DeSe #FediDev #FediDevs #Fediverse #HashTag #OpenSocial #SocialWeb
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
This feels so wasteful —
Including the same content twice — once in "content" and again in "contentMap".
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD #OpenSocial #SocialWeb
Updating "FEP-f06f: Object observers": https://codeberg.org/fediverse/fep/pulls/512
I was thinking about managing a thread with #ActivityPub client and realized that observer actors would need to be created with Create(Application)
activity where actor
is user's primary actor (the one created during the registration).
This is unusual, but should work. Primary actors can't be created this way because the actor
property of Create
activity can't refer to a not yet created actor.
@jwildeboer I mean, basically just an instance modified to serve different content based on who is asking?
That's a fun hack, but is it #ActivityPub related?
I think it's just important to be aware of it - in theory, the fediverse *you* see may be different from the one someone else gets if there's a malicious actor involved.
Sometimes I learn things about #ActivityPub and wonder “what the hell were they smoking?” https://cyberplace.social/@GossiTheDog/114058565002752078
Week in Fediverse 2025-02-21
Servers
- NodeBB v4.0.5
- Hollo v0.5.2
- Ibis v0.2.2
- Honk v1.4.2
- Mobilizon v5.1.2
- Lemmy Development Update 2025-02-21
- Hackers' Pub: ActivityPub-enabled social network for hackers
- FIRM: Federated Information Resource Manager
Clients
- TootRain v2.1.0
- Tinmop v0.9.9.14142135623730
- Dhaaga v0.16.2
- PixelDroid v1.0.beta40
- Alexandrite v0.8.20
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.1.0
- Build Your Own Timeline Algorithm
For developers
Protocol
- FEP-f228: Backfilling conversations
- FEP-f06f: Object observers
Articles
- Talk about the thing itself
- GoToSocial empowers you to have your own home on the Fediverse - with unique controls
- How to Launch Your Own Fediverse Community Server
- The state of conversational contexts (February 2025)
- Fediverse Report – #104
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019505e9-69b3-ca9f-3b11-869a95dc3430
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
#FediDB respecting robots.txt has really changed how stats are tabulated.
Prior to this change, there were 997 #Pleroma servers that were counted. Now the count has been reduced to 582.
With #WordPress, the difference is more stark. Prior to the change, there was over 9,000 WordPress servers counted. Now the count is at 3,578 servers.
To be sure, I’m not complaining – privacy is important. But it is to say that #ActivityPub user counts should have a big asterisk: many servers have opted out of being crawled. This means they are not being counted.
FediDB says there are 12,923,059 accounts across the #Fediverse. But this is actually drastically higher.
Our friends at Flipboard are organizing a "Fediverse House" at SXSW in Austin, TX, March 9 and 10.
They are putting together a great program with people such as @pluralistic, @molly0xfff, @mmasnick,
@evan, @pcottle and @pfrazee.com !
If you are at SXSW, check it out!
9/
And just for the record —
Just like everyone else I contacted about their 'discoverable' flag being defaulted to 'false' —
He wasn't aware of the 'discoverable' flag existing (just like everyone else I contacted).
He didn't want to be hidden (just like everyone else I contacted).
He changed it to 'true' (just like everyone else I contacted).
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
8/
As it is now, I think the 'discoverable' flag is broken.
And, I think the whole user-experience (UX) around the 'discoverable' flag is poor.
And, I think Fediverse software treating a 'false' value for 'discoverable' as "not discoverable" (rather than "not discoverable" or "no choice made") has hugely negative consequences for the user-experience (UX) of the Fediverse
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
7/
So now I have to DM Ben to tell him that his 'discoverable' flag is set to false
He (just like everyone else I contacted) will likely not even be aware that the 'discoverable' flag exists
And (just like everyone else I contacted) wished it wasn't set to false
And then (just like everyone else I contacted) struggle to find where he can set it to true
And then set it
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
6/
As it is now, the 'discoverable' flag seems broken to me.
Because 'false' doesn't actually mean 'false'.
'false' (in practice) means both "not discoverable" and "no choice made". And this is a very unfortunate situation —
Because the idea of a 'discoverable' flag is a good idea — but this problem with the meaning of 'false' and the UX consequences a big deal.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
5/
JSON and has a 'null'. That could have been used for the 'discoverable' flag.
We could have had so that:
'discoverable' set to 'true' meant that the user explicitly chose to be discoverable.
'discoverable' set to 'false' meant that the user explicitly chose to not be discoverable.
And 'discoverable' set to 'null' meant that the user has not explicitly made a choice.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
4/
With other conceptions, this lack of choice — this lack of setting a value — isn't as muddled.
With optional-types (which are also called "option-types" and "maybe-types") when something isn't assigned a value it is represented as 'nothing' / 'none'.
In relation-databases, this is represented as 'null'.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
3/
As it is right now, the 'discoverable' flag does not communicate whether the user actually made a 'true' or 'false' choice.
If it is 'true' we know they made a choice.
But if it is 'false' it either means the user chose 'false' or the user didn't make a choice. BUT WE CANNOT TELL THE DIFFERENCE.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
2/
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№2:
Do NOT know that they have a 'discoverable' flag —
And do NOT know that their 'discoverable' flag was automagically set to 'false' —
And do not understand the consequence of having their 'discoverable' flag set to false.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
1/
A problem with the 'discoverable' flag (in Mastodon and any other Fediverse software that added it) is —
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№1:
Did NOT set their 'discoverable' to 'false' themselves.
Mastodon assigned it for them without ever asking them before hand and getting consent.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
There we go. #Snac2 up and running with the preferred installation process. Added custom styling to boot. One confusion point with styling is that it does NOT affect the root page (greeting.html) only the profile pages. So I thought I had done something wrong, but finally figured it out.
De la mano del muchache creador de #snac, y su inagotable optimismo con el amor y la vida, nos llega ahora una instancia #activitypub para saber si llega o no llega el meteorito de las narices.
an important addendum to my previous toot: to enjoy all the benefits of the Fediverse you only need ONE account – because projects "talk to each other" thanks to the magic of #ActivityPub.
That said, the 2 things I find really empowering are:
1) being familiar with major projects, so I can make an informed decision about which one(s) to use
2) being able to self-host. It's the greatest feeling when it comes to digital sovereignty
And I'm just a filmmaker / creative person with 0 dev skills
Could ActivityPub / ActivityStreams be used to synchronize files across separate machines / computers / devices‽
I think the answer is, YES.
❦
The inbox-outbox system could enable you to send messages between separate machines / computers / devices.
The 'messages' transfer the changed 'blocks' / 'chunks' that make up a file, notify about deletions, file creations, etc
Existing Activity Types might be sufficient to do this
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD
Is any Fediverse software using or generating the 'View' activity-type?
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-view
You could create view-counts on posts, profiles, etc, using this.
Of course, there are privacy concerns with this.
And, also, what counts as a "view".
Although, I sometimes use a "Like" to indicate I viewed something. If a 'View' was something manual (such a pressing a button) that could be more semantically clean.
#ActivityPub #ActivityStreams #DeSe #FediDev #FediDevs #Fediverse #Privacy
To me, it feels like the Activity Types should have been past-tense verbs, rather than present-tense verbs.
I.e.:
• "Accepted" rather than "Accept"
• "Added" rather than "Add"
• "Announced" rather than "Announce"
• "Arrived" rather than "Arrive"
• "Blocked" rather than "Block"
• "Created" rather than "Create"
• etc
Present-tense verbs feel like commands.
Past-tense verbs feel like events.
Activities are events not commands.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
Kinda obsessed with the idea that #ActivityPub & #matrix could link up to easily give everyone a universal ID for both public social media and private communication. That matrix servers could go beyond encrypted messaging to give us all the group functionality folks find in Facebook & Discord.
The civic primacy of social media won't be well understood and accepted until people have a simple and better way to handle their more closed community needs outside of the corporate platforms. #SocialWeb
I am a #SocialWeb advocate, not a #FediGatekeeper.
Social web advocates want everyone to have access to the social web.
Fedi Gatekeepers want #ActivityPub to be inaccessible, reserving it as the inner sanctum for an elite few.
What about you?
I believe in the Social Web: | 4 |
I’m a Fedi Gatekeeper : | 1 |
Closed
I think #SocialWeb devs should form a guild.
Not only would this serve to pass institutional knowledge to devs who are new to #ActivityPub, but it would also serve as a means to protect them from harassment—especially since it’s so easy to break the “unwritten rules”.
And while this might be something outside the mandate of the Social Web Foundation, maybe it’s something @evan may want to consider.
Because something I see over and over again is:
Hell, this isn’t even a problem for new devs. Old devs get caught in the crosshairs if their project reaches a certain level of popularity. And I’m not saying devs are always angels, but there should at least be some kind of organizational structure that assumes good will.
A reminder that:
Mastodon Dot Social
Is still using Fastly for their hosting services.
Fastly is headquartered in San Francisco, California, USA.
While the Mastodon Project is based out of Germany, the United States could still interfere with their website.
#Mastodon #Fediverse #Fedi #ActivityPub #Misskey #CherryPick #Project2025 #Fascism #Nazis #RiskAssessment #InfoSec #InformationSecurity #SocialMedia
https://github.com/macports/macports-ports/pull/27628
1 of 3 GitHub Continuous Integration checks has passed (which is a good sign the other two will pass as well).
I'm still avoiding commit access, so it's up to someone else to merge it.
Thanks to you, inz, lxo and anyone else I may have missed for the continued iterated improvements!
#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded
#NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces #FediVerse
Just had a live pair-debugging session with @naturzukunft, where we sent #ActivityPub messages to each others dev servers and live debugged them. Highly recommended when working with this stuff, and if anyone else wants to do the same, hit me up!
Each post can have more than one attachment from the web UI. The maximum number can be configured in server.json
via the max_attachments
value (default: 4).
Each notification includes a link labelled Context
, that leads to a page with the full conversation tree the post is a part of.
Each followed hashtag has now a directly accesible link.
Fixed a search bug (some matches were missed).
Fixed more crashes (contributed by inz).
Fixed link detection in posts (contributed by inz).
Allow multiple editors for command-line posts (contributed by inz).
Separated maximum and default timeline entry count, allowing larger timelines to be requested without having to increase the default (contributed by lxo).
Turned message date into a link to the local post, so that it can be loaded into a separate tab for interacting with (contributed by lxo).
Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the song Songe d'un ange by #KyrieKristmanson and #BrendanPerry.
Doing some fediverse research and discovered that @tkithrta is attempting to "implement #ActivityPub using 16 different web frameworks" in a project called #StrawberryFields
https://gitlab.com/acefed #fediverse #fedidev
Some #Smithereen updates:
- Instant notifications
- Ajax navigation
- Muting
- Word filters
Presenting ActivityBot at FOSDEM
https://shkspr.mobi/blog/2025/02/presenting-activitybot-at-fosdem/
Because I'm an optimist, I submitted a few talks to FOSDEM in the hope one might be accepted. Because I'm lucky, I got two speaking slots. Because I'm an idiot, I decided to do both talks. On the same day. An hour apart. On opposite ends of the venue.
Fool!
My first talk was at the Social Web Birds-of-a-Feather session. I told people about my ActivityBot social networking server and how I built it into a single file. In the spirit of minimalism, I only had 8 minutes to present. Time for a speed-run!
Sadly / Luckily there's no audio or video of the session (if you have some, let me know) so you'll have to make do with some slides. Speaker notes are included - read them rapidly for the full effect!
I built an ActivityPub bot server in 64KB of PHP. Sorry!
Ioana
Best start for the Social BoF with @Edent talk!
#Fosdem #fosdem2025 #fosdem25
Ioana
@EdentLoved the
- I do not have time for applause. Please don't clap 😂
- I do not have time for reactions
- I do not have time for questionsPS for those reading this, it was fun and nice
😅
wakest ⁂
First thing this morning at Social Web #BOF we have @Edent presenting their single file php #ActivityPub project that is entirely contained in one slide!
Sascha Foerster :bonndigital:
Wir lachen so viel, wir haben keine Zeit zum Posten. Fantastischer Vortrag über den kleinsten ActivityPub-Bot possible, made by @Edent.
Elena Rossini ⁂
@Edent your BOF talk was absolutely brilliant Terence! 👏👏👏👏👏
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
3/
However, "orderedItems" is mentioned in the ActivityStreams Core spec:
https://www.w3.org/TR/activitystreams-core/
Maybe the closest thing to a definition is:
"Collection are represented using the 'items' property while ordered items are represented using the 'orderedItems' property."
So, "orderedItems" is just like "items":
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-items
... except renamed and the interpretation is different
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
2/
"orderedItems" also isn't in the ActivityPub spec:
https://www.w3.org/TR/activitypub/
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
1/
"orderedItems" shows up in the examples in the ActivityStreams Vocabulary spec:
https://www.w3.org/TR/activitystreams-vocabulary
But, I don't see a definition for "orderedItems" in there (in the ActivityStreams Vocabulary spec).
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
Week in Fediverse 2025-02-07
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
Week in Fediverse 2025-01-31
Servers
- Manyfold v0.99.0
- Misskey v2025.1.0
- snac v2.70
- Hollo v0.4.5
- Gancio v1.23.0
- NeoDB v0.11.4.3
- forgejo-contrib/federation: The place to organize development around federation for Forgejo
Clients
- Elk v0.16.0
- Pachli v2.9.2
- Dhaaga v0.14.1
- Alexandrite v0.8.18
- Pixelix v3.3.0
- PeerTube Mobile v0.6.0
Tools and Plugins
Protocol
- FEP-2277: ActivityPub core types
Articles
- Improving Snac Performance With Nginx Proxy Cache
- Fediverse Report #101
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019499d8-2a50-b1df-6908-393384df7e2d
Added support for subscribing to LitePub (Pleroma-style) Fediverse Relays like e.g. https://fedi-relay.gyptazy.com to improve federation. See snac(8)
(the Administrator Manual) for more information on how to use this feature.
Added support for following hashtags. This is only useful if your instance is subscribed to relays (see above).
Added support for a Mastodon-like /authorize_interaction
webpoint entry, that allows following, liking and boosting from another account's Mastodon public web interface. To be able to use it, you must reconfigure your https proxy to redirect /authorize_interaction
to snac (see snac(8)
).
Some fixes to accept Event
objects properly (like those coming from implementations like https://gancio.org/ or https://mobilizon.fr).
Added some caching for local Actor
objects.
Hashtags that are not explicitly linked in a post's content are shown below it.
Fixed broken NetBSD build (missing dependency in Makefile.NetBSD).
The user profile can now include longitude and latitude data for your current location.
Mastodon API: implemented limit= on notification fetches (contributed by nowster), implemented faster min_id handling (contributed by nowster), obey the quiet public visibility set for posts, other timeline improvements (contributed by nowster).
Reduced RSA key size for new users from 4096 to 2048. This will be friendlier to smaller machines, and everybody else out there is using 2048.
If the SNAC_BASEDIR
environment variable is defined and set to the base directory of your installation, you don't have to include the base directory in the command line.
Fixed a bug in the generation of the top page (contributed by an-im-dugud).
Added support for Markdown headers and underlining (contributed by an-im-dugud).
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the song Nine Hundred Miles by #BarbaraDane.
Fixed regression in link verification code (contributed by nowster).
Added ipv6 support for the https frontend connection (contributed by hb9hnt).
New "Like by URL" operation (contributed by dheadshot).
Added support for a Mastodon-like /share
link sharing URL, like the one provided by sites like https://mastodonshare.com/ and such. To be able to use it, you must reconfigure your https proxy to redirect /share
to snac (see snac(8)
).
New linux landlock (sandboxing) support for enhanced security (contributed by shtrophic). It's still a bit experimental, so you have to enable it explicitly by recompiling with the WITH_LINUX_SANDBOX directive (e.g. make CFLAGS=-DWITH_LINUX_SANDBOX
).
Some search fixes regarding repeated matches.
The export_csv
cmdline operation now exports the CSV files inside a user's export/
subdirectory instead of the current directory.
All CSV files to be imported must now be stored inside a user's import/
subdirectory instead of the current directory.
Mastodon API: more timeline paging tunings (contributed by nowster), post language selected in apps is properly set.
The command-line operation note
new reads the LANG
environment variable to set the post's language.
A new command-line operation, note_unlisted
, allows posting "unlisted" or "quiet public" posts.
The maximum number of entries in users' RSS feeds and in outboxes can now be set via the max_public_entries
variable in the server.json
file.
Fixed broken support for Audio
objects.
Made xmpp and mailto URLs clickable.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
This release has been inspired by the painting Judith Slaying Holofernes by #ArtemisiaGentileschi.
Added a new user option to disable automatic follow confirmations (follow requests must be manually approved from the people page).
The search box also searches for accounts (via webfinger).
New command-line action import_list
, to import a Mastodon list in CSV format (so that Mastodon Follow Packs can be directly used).
New command-line action import_block_list
, to import a Mastodon list of accounts to be blocked in CSV format.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
The server can now act as a proxy for all image, audio or video media coming from other account's posts (both from the Web UI and the Mastodon API). This way, other servers will see media requests coming from the server IP, not the user's, improving privacy. This is controlled by setting the proxy_media
boolean field to server.json
to true.
The strict_public_timelines
option introduced in the previous release now works correctly.
Fixed a crash when posting from the links browser.
Fixed some repeated images from Lemmy posts.
Fixed a crash when posting an image from the tooot mobile app.
Updated FreeBSD rc script: the server process is now managed by the daemon(8) utility (contributed by @stefano@bsd.cafe).
RSS feeds are now in 2.0 version instead of 0.91.
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/donate
This release has been inspired by the song New Moon (Dark Phase) by #DuranDuran.
Migration from a Mastodon account to a snac one has been implemented. Please see snac(8)
(the administrator manual) for more information.
Mastodon API: fixed timelines/public
(it was showing less posts that it should).
Fixed over-zealous caching to the public timeline.
Some HTML tweaks and fixes to the web interface.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the painting The Hands Resist Him by #BillStoneham.
Support for custom Emojis has been added; they are no longer hardcoded, but read from the emojis.json
file at the server base directory. Also, they are no longer limited to string substitutions, but images as external URLs are also supported (see snac(8)
for more information).
Fixed a bug that caused some notifications to be lost when coming from a user in the same instance.
Added an additional check for blocked instances (sometimes, posts from blocked sites that were ancestors of legit posts were 'leaking' into the timeline).
On OpenBSD, if the disable_email_notifications
server flag is set to true
, unveil()
is not called for the execution of the /usr/sbin/sendmail
binary and pledge()
doesn't set the exec
promise.
If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink
This release has been inspired by the album Eternal Embers by #Meltt.
Part 3 of "A Guide to Implementing ActivityPub in a Static Site (or Any Website)" is just out the oven!
In this blog post, I explain how to make your blog discoverable in the Fediverse as an account, and also address some of the annoying pitfalls I encountered.
Full article here: https://maho.dev/2024/02/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-3/
If you like it don't forget to follow the @blog !
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http