[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)