[HN Gopher] Go-Fed: ActivityPub in Go
___________________________________________________________________
Go-Fed: ActivityPub in Go
Author : lolsoftware
Score : 46 points
Date : 2022-11-24 19:08 UTC (3 hours ago)
(HTM) web link (go-fed.org)
(TXT) w3m dump (go-fed.org)
| serverholic wrote:
| 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?
| jakewins wrote:
| > 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
| zimpenfish wrote:
| You don't necessarily have a sharedInbox though, I think?
| zimpenfish wrote:
| 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.
| orblivion wrote:
| 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.
| donio wrote:
| 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.
| remram wrote:
| 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
| doublepg23 wrote:
| It's been an enjoyable experience getting this to run on fly.io
| . Still working out a few bugs but the team has been very
| responsive on my bug reports.
| olah_1 wrote:
| Can this run on a mobile device similar to Matrix's Dendrite
| server running on mobile?
| Arathorn wrote:
| probably, but the hard bit of doing that is needing the p2p
| overlay network to provide connectivity - eg Pinecone is what
| we use for P2P Matrix (see https://arewep2pyet.com)
___________________________________________________________________
(page generated 2022-11-24 23:01 UTC)