#social 2019-03-29
2019-03-29 UTC
vitalyster, xmpp-social, dansup_, timbl, timbl_ and Guest84 joined the channel; smashgrab left the channel
# fr33domlover Hi people!
# fr33domlover I'd like to use persistence for outbox delivery to recipients' inboxes: If an HTTP POST starts and suddenly the server crashes, I'd like the request to be persisted on file/DB and be resumed when the server starts. I already use PostgreSQL and I could store these things there - are there other things people have been using?
# fr33domlover Just curious what people use their servers :)
# jaywink[m] fr33domlover (IRC): I push all jobs to Redis where they are picked up by queue workers. If the worker crashes, it will be retried later
# fr33domlover jaywink[m], hmm I see. In my case I do that with in-language in-program support, just wondering about persistence. I'll probably just use PostgreSQL which I already use for everything else ^_^
# jaywink[m] yeah the redis choice comes from "this popular queue library uses redis" :)
# jaywink[m] since I didn't write the queue logic myself
# jaywink[m] also, redis is cool
# jaywink[m] I use postgres for actual data tho
# fr33domlover jaywink[m], I'll probably write my own simple delivery logic, I don't need anything specialized anyway. I just realized, that the JSON object you deliver is already stored in the DB anyway, for keeping in your outbox, to maybe the frequest insert&delete are trivial
# rialtate[m] fr33domlover: yeah most of my apps use something like
# rialtate[m] `CREATE TABLE outq (ts timestamp without timezone PRIMARY KEY, objid uuid REFERENCES apobjs(objid), recipient uuid REFERENCES identities (idid));`
# rialtate[m] Very compact and efficient
naturzukunft joined the channel
# naturzukunft Is there a running instance of a server that supports "client to server protocol" that can be used to 'play`' with a possible client?
# naturzukunft ups, talking about activityPub !
# naturzukunft and are there any java guys out there who deal with activitypub?
# naturzukunft In the meantime, as a Java expert, I feel like a mainframe developer. I'm really old already ;-)
# cjslep[m] Java is tough due to the static typing. I don't know the status of the C2S client in Pleroma, but may be worth an inquiry to kaniini or lain. I would insert a shameless plug but I don't think it's what you're looking for.
# fr33domlover cjslep[m], Haskell is static typing too and it's working just fine for me ^_^
# fr33domlover (And has great tools for JSON and for RDF)
# rialtate[m] I think that person meant java desktop client. Funny thing is, I don't think the activitypub part of the equation is the hard part in that scenario.
timbl and timbl_ joined the channel
# fr33domlover If my server gets an activit
# fr33domlover If my server gets an activity in the outbox, where the recipient is a collection on a remote server, how do I deliver the activity?
# fr33domlover I guess, deliver to that server, and it can then expand the collection? But Idk to which inbox to deliver :P
# fr33domlover cjslep[m], rialtate[m], do you know by chance how it's supposed to work?
# fr33domlover Spec says the client doesn't have to unpack collections, and, I guess sometimes it can't because they aren't public
# jdormit[m] Your server should unpack the collection
# jdormit[m] If it's private then actors on your server can't deliver to it anyways
# fr33domlover jdormit[m], so the entire collection has to be visible? And hmm not sure about that statement: You can send email to a mailing list whose member list isn't public
# fr33domlover So I'm wondering if the same is possible here
# fr33domlover I asked before, whether the followers collection should be public
# fr33domlover People said, if often is, but could be private
# fr33domlover And I like that idea, but, if it's private then it can't be used for delivery from other servers :-/
# fr33domlover Unless there's a way to pick an inbox URI given a collection
# jaywink[m] why would a client send you a collection the server doesn't know about? 🤔
# rialtate[m] I don't understand