#social 2018-09-01
2018-09-01 UTC
# nightpool[m] that's because there are two valid webfinger representations
# nightpool[m] we use content-type to distinguish between them and we fall back to the more common one, which is xml based
# dariusk[m] ah too bad
# nightpool[m] aaronpk: file an issue on https://github.com/tootsuite/goldfinger
ben_thatmustbeme joined the channel
# aaronpk look at this beaut. it's both a webfinger response as well as an activitypub actor :D :D https://avocado.lol/.well-known/user.json
# nightpool[m] > <@irc_aaronpk:cybre.space> look at this beaut. it's both a webfinger response as well as an activitypub actor :D :D https://avocado.lol/.well-known/user.json
# nightpool[m] wow
# dariusk[m] nice!! nightpool me and aaronpk were just talking about this over coffee and he's gone and done it :)
# aaronpk and https://avocado.lol/.well-known/host-meta points to that file
# aaronpk interestingly, it displays fine in mastodon because I guess mastodon is displaying the "subject" from the webfinger response? https://media.aaronpk.com/Screen-Shot-2018-08-31-18-54-04-4nEFRz82H1.jpg
# dariusk[m] in mastodon, not to my knowledge
# nightpool[m] if you don't have a URL property on your actor it will fall back to ID
# saranix yes to the first and no to the 2nd
# saranix could be the actor obj expended too
# saranix hubzilla does that
# nightpool[m] yes
# saranix aaronpk: yep
# saranix I couldn't find anywhere that specifically says it's required, but the alternative would be attributedTo and that does not appear allowed for Activity objects
# saranix more here https://www.w3.org/TR/activitystreams-core/#activities
# saranix and here https://www.w3.org/TR/activitypub/#actors
# saranix for what they are, it seems semantically it would just have to be a required property
# saranix at any rate, that's how everyone seems to have interpretted it even if it doesn't explicitly say
# saranix well, in this case, I think it's 1+1+1 has to = 2
# saranix err 3 lol
# saranix what a time for my finger to slip
# saranix if you have to have an ActivityPub compatible actor in order to deliver (inbox,etc) and some Activity types are explicitly defined to only work if you have that concept, then... well..
xmpp-social, timbl, KevinMarks_, KevinMarks, mattl and taravancil joined the channel
# stephank I published the source code for castling.club, if anyone is interested: https://github.com/stephank/castling.club
KevinMarks and KevinMarks_ joined the channel
# vasilakisfil are there any specs on how you can structure your .well-known/webfinger ? what do you have in it ? I know mastodon uses it for instance
# nightpool[m] https://tools.ietf.org/html/rfc7033
# nightpool[m] sure but the question was about structure
# vasilakisfil yeah I think I didn't make myself clear, I meant what should we include there, if there is any guide around that, best practices etc
# nightpool[m] the only one used for ActivityPub is a rel=me of the correct content type
# nightpool[m] either activity+json or json+ld profile=whatever
KevinMarks_ joined the channel
# vasilakisfil ok but mastodon has much more in it: https://mastodon.social/.well-known/webfinger?resource=acct:vasilakisfil@mastodon.social
# vasilakisfil do you know other social protocols that use webfinger ?
KevinMarks joined the channel
# nightpool[m] vasilakisfil: thise are all legacy OStatus properties
# vasilakisfil ok
# vasilakisfil I am just trying to understand, what problem does webfinger solve. Like when and how should we use it ?
# stephank vasilakisfil: Webfinger is used for the translation `kosinus@mastodon.social` -> `https://mastodon.social/users/kosinus`. So looking up actor URLs based on friendly usernames.
# heluecht[m] vasilakisfil: Diaspora, OStatus, DFRN - they all use webfinger
# heluecht[m] I guess best would be to use Webfinger only for the translation user@domain.tld => http://domain.tld/something/user - and not more.
# heluecht[m] Webfinger is important, because people can remember mail style addresses much better than some url thingy.
KevinMarks joined the channel
# saranix this issue was discussed in this channel many times before. ActivityPub also provides such a translation via the preferredUsername property. No webfinger bs is necessary. The *only* thing that makes it 'necessary' is that mastodon insists on requiring it and they have the largest user share at present time. It is very unfair and uncool of them to break the spec like that but that's the real situation.
# saranix and discover is a completely separate issue
# saranix *discovery
# stephank Does Mastodon use it for anything besides discovery?
# saranix stephank: they require it even if they already have the actor url, and they require it to match
# saranix dunno if that counts as 'use' since it's pointless :-P
# saranix They have other issues too it seems. I've added a webfinger just to get it over with and now maston gives a 500 internal error lol
# heluecht[m] saranix: How would you transform from user@domain.tld to http://domain.tld/some/stuff/we/dont/know/user?
# JasonRobinson[m] IMHO webfinger is ok but it should be an optional thing nothing to do with federation or required by discovery. It's more of a thing required for certain UX, for those who want to enable searching for people using the email format
# JasonRobinson[m] it's not even really something that should be mentioned in a protocol
# JasonRobinson[m] and AP doesn't mention it :)
# heluecht[m] I guess the same rules apply for all activities - and "Announce" does need it.
# heluecht[m] And Hubzilla doesn't even have this "to" in the object, only the activity.
# heluecht[m] Mastodon and Pleroma both have the "to" in the activity and the object.
# heluecht[m] Just in these minutes I'm running some crawler on all outboxes that my system does know. I'm checking the different dialects.
# heluecht[m] Do you know some outboxes besides Pleroma, Mastodon and Hubzilla? I would like analyse as much stuff as possible.
# heluecht[m] I'm reading it at the moment since I'm preparing a AP parser for Friendica.
# aaronpk does anything about this stand out as a reason it wouldn't work? https://gist.github.com/aaronpk/cd8a9d6f06f7be92de4f1e695e80f96b
# heluecht[m] I don't have a running AP server.
# heluecht[m] Possibly the problem is that the content is on a different server than the profile?
# dariusk[m] ah thanks aaronpk
# heluecht[m] I'm currently trying to see how the message delivery is done. Is it really just a simple POST or is there some needed signature stuff?
# dariusk[m] lol
# aaronpk heluecht[m]: this is a pretty good guide to the basics of that https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
# heluecht[m] Ah okay. I only had got the AP specification - which doesn't help there very much.
# heluecht[m] I have to check whether I can reuse the public and private keys that I already generated for the Friendica and Diaspora communication.
# saranix "I always forget... does the "Create" activity need the "to" on it, or does that go on the object?" -> spec says that envelope SHOULD be copied from object to activity during c2s
# saranix well, technically you are just doing both client and server in one, it still needs to conform
# saranix what ever creates the activity object has a duty to do it correctly
# saranix https://www.w3.org/TR/activitypub/#create-activity-outbox "server SHOULD"
# saranix but if your server creates objects then it is a client regardless of what you want to call it.
# saranix seems pretty clear and uninteresting to me
# saranix server to server only covers federating objects, not creating them... that part is the client part, even if you do it in your server
# nightpool[m] the testing tool makes it very clear that s2s federated servers aren't expected to conform to the c2s server spec
# nightpool[m] I don't know where you got that idea saranix, but it's wrong
# saranix this is a dumb conversation. obviously it's not routable/deliverable if the envelope is wonky. That's the point. I pointed to the part of the section where it warns of this even though it's common sense.
# saranix this is interesting: I got an email that states "invoices will be emailed to you instead of being posted." I'd never heard post used as a verb in that context before. I suppose it makes sense, "post office"... how quaint.
# dariusk[m] I'm frankly terrified to look at what is actually coming into my inbox on my little test server and I am putting it off for as long as I can
# nightpool[m] aaronpk: that logic seems sound
# nightpool[m] yes
# nightpool[m] "before" is somewhat nebulous
# nightpool[m] it's fetched as soon as the actor is processed
# nightpool[m] the fetching will happen async but otherwise yes
# saranix I've been wondering that myself
# saranix would an explicit Update activity on the actor 'object' trigger it? or would that be ignored
# saranix tries to remember to implement handling an update
# nightpool[m] yes the Update is the correct thing to do
# nightpool[m] yep
# nightpool[m] should work
# nightpool[m] its identical from a json-ld perspective and my memory is that Mastodon is pretty good about handling it properly.