There will be bugs, probably many bugs. When you see one, please reply to the welcome email you received, with info about it, or report it in the issue queue. Let’s catch ’em all!
#Python developers are invited to check out the code repository at https://codeberg.org/rimu/pyfedi. In coming days I’ll write better setup instructions and put together a code walk-through screencast.
After extensive refactoring, that chunk of code is now only 5.5 pages long instead of 11 😅
Still about 4 pages too long compared to what an ideal function would be but this is the main ActivityPub handling code we're dealing with here, so it's always going to be a little crazy.
Quite happy with the speed of the background task that ingests #ActivityPub data sent to #PieFed from other servers. Most Activitys are processed in around 0.1 seconds, average of 0.22 seconds, or ~5 per second. This is with just one worker process.
If a 4 core VPS can handle 6(?) worker processes/threads it'll do 6 * 5 = 30 per sec.
Glad to report that I've figured out what was causing some activities to spike to up to 1.4 seconds and fixed it. That should bring the average down to 0.1 seconds, or 10 Activities processed per second. Decent!
When an Activity arrives if it's the first time one from that instance or that user has arrived, there are a few extra network requests PieFed needs to make to ensure the Activity data is fully fleshed out. Fortunately most of them can be deferred to future background tasks.
There needs to be consequences for getting lots of downvotes.
One of those could be something like this, where everyone can see that you get downvoted a lot and decide whether and how to engage with you in future.
@rimu @box464
What if the downvotes are harassment? Then you have a legitimate user being ignored by everyone because some group decided they don't agree with them.
@box464@rimu
I'm still waiting to see a "bot" or "AI" that does well getting the intention of a post, not counting that it takes hell of a lot of computational resources to make up a "grade" for one post, let alone millions every second.
Made a little #ActivityPub log for #PieFed so I can spot anomalies and review data coming in and out of my dev instance.
After a few weeks of testing federation in canned scenarios, PieFed is now interacting with actual instances on the 'real' #fediverse, so all sorts of unexpected things are happening! Performance, timing issues, invalid requests, unresponsive servers, all that fun stuff.