Hello fedi. i am trying to solve the "fetch all replies" problem once and for all that makes the fedi feel a lot more desolate and with a lot more reply guys in it than it should be. this is take two, where before i had it triggered by a button, but now i think it should happen on the server-side whenever you expand a post. can anyone help me out figure out how to make this more efficient by only fetching posts that the server doesn't already have? i am not sure what the best strategy would be, and if anyone with experience doing efficient rails and SQL stuff could give me some pointers that would be gr8. the patch is actually extremely simple it just needs a few nice things to make it not DDoS everyone.
I've contributed a few bytes to the ActivityPub-Single-PHP-File codebase the past week. Adding microformats, some basic styling and even a few bug fixes!
The ActivityPub code is so much easier to understand here than trying to look through a giant multi tiered system like Mastodon.
If you're interested in understanding the basics of AP and fiddling with the code, this is a good option!
As more and more instances are providing multiple services under the same management, we need a term to talk about this type of arrangement. A Fediverse Galaxy is a collection of federated software that is provided by the same admin or collective.
The instance fedi.software, where many fediverse apps have setup their brand accounts, is a Firefish instance run by the creator, who hasn’t been accessible in the past few weeks.
Two of their other instances are already either completely down or partially down. I’m hoping they just need a break and will be back soon.
Might be a good idea to pull some backups, just in case.
I'm working on "Remote Likes" and "Remote Shares" that help you jump back to your own home server to post when you find something cool on another website.
Imagine those "Share on Facebook" buttons, without all the ick.
I know it needs some work (that's what FEPs are for, yea?) so please read, comment, and help me get this over the finish line.
Tumblr releases StreamBuilder as open source, their framework for building and displaying timelines of content. Might be useful to my #FediDev and #ActivityPubDev friends.
#Fedify, an #ActivityPub server framework, has released version 0.8.0! Here are the highlights of this version:
• fedify lookup: a command to look up any ActivityStreams objects (including actors); see also https://todon.eu/@hongminhee/112341925069749583
• fedify inbox: a command to spin up an ephemeral ActivityPub server so that you can debug and test the activities you send; see also https://todon.eu/@hongminhee/112354353470490915
• followers collection synchronization mechanism
• improved overall performance
• fixed several bugs
It's interesting sitting here on an old version of #Calckey seeing someone on #Mastodon server telling their fellow user that posting to unlisted will opt-out of #search when I can see Unlisted posts in my antennas quite easily though I believe this has been rightly rectified in the newest versions of [#Firefish / #Iceshrimp but need to confirm]. Being hidden from the Explore tab on Mastodon is not the same as being unsearchable across the fediverse. Frankly, there's little understanding even among admins across the #fediverse about what's a Mastodon / Mastodon API function that is federated to other Mastodon servers but doesn't translate well outside of Mastodon on other #ActivityPub connected platforms like #Misskey and it's forks, #Hubzilla and #Friendica, or rapidly growing platforms like #Lemmy and #Kbin. Kbin also scrapes posts from across the fediverse and puts them into its own magazines.
Unfortunately simple, up-to-date documentation doesn't really exist to explain the realities of federation vs what your admin said was the reality. AP was not built with privacy in mind, and 'security through obscurity' was mostly a Mastodon thing from when folks thought either the Mastoverse was almost the dark web, or the whole fediverse [which has never been the case], and Google et al weren't interested in scraping it.
Unfortunately we have a cadre of devs across all fedi platforms who'll give glowing lip-service to both the fedi and ActivityPub histories of being built by queer or other minority identities but still won't work on giving folks the granular #privacy and #safety controls that weren't included in those protocols, and whose feature roadmaps now just look like bird site 2.0 funded by the milquetoast liberals in political tech who provide their seed money.
Beyond Mastodon and GoToSocial, every other fediverse project treats posting to public as opting in to search and indexing. Indeed, this is pretty much how the ActivityPub protocol handles such too.
Managing hashtags submitted with an #ActivityPub note is not as simple as you'd think. Hashtags are collected into a separate node in the Note object.
Firefish and Friendica for example, have their hashtag entry below the content. You've got to do cartwheels to combine those with any a user may have added in the note text itself, removing duplicates.
Then ensure you maintain the integrity of the note text but also add any missing tags so they are visible to end users.
#Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
• Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
• #WebFinger client and server
• HTTP Signatures
• Middleware for handling webhooks
• #NodeInfo protocol
If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
Right now I have more questions than concrete plans, though I think I will try to use something besides #Mastodon. And it will be a single or few-user instance, at least to start.
I'm curious what hot tips and cautionary tales people have as I get started? Anything I MUST or MUST NOT do? Or read?
The fedify inbox command, which will be shipped in the next #Fedify release, is a tool that creates an ephemeral #ActivityPub server so that you can debug and test the activities you send.
Hi Fediverse admins / devs! I've got a question about instance software.
Up until now, I've been running a fork of glitch-soc that has served me well. Unfortunately, however, I'm starting to run up against some of Mastodon's limitations and the effort to maintain my own fork is just too much. (seriously, fuck Rails and especially Webpacker :blobfoxangry:) I'd like to switch instance software to something with more features out-of-the-box. I'm considering Calckey, but I don't have any experience with it or any other Misskey derivative. The feature set looks great on paper but I'd like to hear from someone who has actually run it (or at least seriously evaluated the software). I'd greatly appreciate any and all input! I'm especially curious about these questions:
The "Fediverse Software Comparison" table has a few mistakes in the Mastodon and glitch-soc columns. They're minor, but it makes me wonder if that table is really trustworthy? The table is based on personal knowledge
Last week, I started my initial forays into retrieving and parsing remote content from the #fediverse. As expected much of the data structures are identical to #ActivityPub but named and organized differently, so there's a lot of bits and pieces that need connecting.
Nevertheless, it's thrilling to see remote content on a local instance!
I spent some time this weekend fiddling with @Edent tiny ActivityPub server. This isn't production code, rather a lab exercise.
In short - This was fun. It’s easy to read the code and breaking it has no major effect on anyone else. Go have fun, hit it with hammers, destroy it, recreate it. Don’t be scared to play and learn.
Does there exist a brief write-up of how content is federated out? Do different #ActivityPub implementors federate content differently? (@stesnac suggests so!)
Here's my head-canon at present... when a note is created, the note is sent to all followers. If users are mentioned, the note is also sent to those users' inboxes.
If a note is addressed to the public collection, do it just get blasted to all known instances' inboxes?