Live data from Hacker News

Go-Fed: ActivityPub in Go

go-fed.org

1–10 of 22 posts

Re: Go-Fed: ActivityPub in Go

#3
I’ve heard ActivityPub has mixed reviews. Perhaps someone here with a little more expertise can answer this question.

Does ActivityPub have a batching mechanism?

Imagine you are on server A and you have 3000 followers on server B. If you create a post do 3000 messages get sent to server B? Or just one?

Re: Go-Fed: ActivityPub in Go

#4

I’ve heard ActivityPub has mixed reviews. Perhaps someone here with a little more expertise can answer this question. Does ActivityPub have a batching mechanism? Imagine you are on server A and you have 3000 followers on server B. If you create a post do 3000 messages get sent to server B? Or just one?

> 7.1.3 Shared Inbox Delivery

> For servers hosting many actors, delivery to all followers can result in an overwhelming number of messages sent. Some servers would also like to display a list of all messages posted publicly to the "known network". Thus ActivityPub provides an optional mechanism for serving these two use cases.

From https://www.w3.org/TR/activitypub/#outbox-delivery

Re: Go-Fed: ActivityPub in Go

#5
I just tried using the app tutorial the other week as a newcomer to ActivityPub. I found it rather difficult to follow because it's so abstracted and it has you dive in head first doing a lot at once. And there are parts left as an exercise to the reader, which leaves gaps that makes it harder. And there are a few bugs in the tutorial code to boot. I feel like the author was very thoughtful about the whole thing, and very thorough, which I appreciate, but was too deep into it to put himself in the headspace of someone who is new to ActivityPub per se. Just my guess, of course.

I'm trying go-ap now and it's better in that I can jump in and use small parts of it, but it still could use more documentation.

Re: Go-Fed: ActivityPub in Go

#8
post #2

https://github.com/superseriousbusiness/gotosocial is another ActivityPub implementation in Go. It implements a full server and aims to provide Mastodon-compatible client APIs. Lots of cool work going on in this space.

https://github.com/superseriousbusiness/activity [1] is actually forked from go-fed/activity, so they are not really different implementations. I don't know why go-fed is on here honestly, it's just a library, and one that isn't used directly for anything at the moment.

[1]: https://github.com/superseriousbusiness/activity

Re: Go-Fed: ActivityPub in Go

#9
post #4

I’ve heard ActivityPub has mixed reviews. Perhaps someone here with a little more expertise can answer this question. Does ActivityPub have a batching mechanism? Imagine you are on server A and you have 3000 followers on server B. If you create a post do 3000 messages get sent to server B? Or just one?

> 7.1.3 Shared Inbox Delivery > For servers hosting many actors, delivery to all followers can result in an overwhelming number of messages sent. Some servers would also like to display a list of all messages posted publicly to the "known network". Thus ActivityPub provides an optional mechanism for serving these two use cases. From https://www.w3.org/TR/activitypub/#outbox-delivery

You don't necessarily have a sharedInbox though, I think?

Re: Go-Fed: ActivityPub in Go

#10

I’ve heard ActivityPub has mixed reviews. Perhaps someone here with a little more expertise can answer this question. Does ActivityPub have a batching mechanism? Imagine you are on server A and you have 3000 followers on server B. If you create a post do 3000 messages get sent to server B? Or just one?

AFAIUI yes, you will probably get 3000 messages sent because each follower has their own inbox. There is a potential for batching though - "a server MAY reduce the number of receiving actors delivered to by identifying all followers which share the same sharedInbox who would otherwise be individual recipients and instead deliver objects to said sharedInbox" - if a bunch of the 3000 followers have the same sharedInbox (which presumably the receiving server has somehow magicked up?[1]), then your server can do a bulk delivery to that for those followers.

[1] I guess you might make them for specific celebrities if your server has a high density of followers? grepping the Pleroma source doesn't seem to throw up any obvious "automatically make them" logic.

Post reply on HN