#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