#xmpp-social[ajordan] Hey the wiki says we have a meeting tomorrow but I have a distinct memory of Evan saying "last chance to uncancel the meeting on the 15th"
#Gargronthe one other thing i want to raise but might be too late to raise: WebSub subscriptions have an expiration date, so they get renewed periodically, so you eventually get rid of dead endpoints. but in AP, follow is forever-until-unfollow. it'll require some sort of keeping count of failed deliveries and marking accounts as dead
#saranixIt is important to remember that, and this goes double for indie social sites, there is a huge range between alive and dead. Therefore an exponential backoff or dead-cliff is insufficient.
#cwebber2Gargron: it's not too late to raise it... file an issue.
#cwebber2Gargron: though... it may be punted to an extension
#cwebber2esp because we had a resolution that we wouldn't add new things to AP that weren't adjustments to the protocol
#Gargroni dont have an obvious solution. like... what do you do? make Follow activities expire, and re-send them periodically? that seems kinda weird in AP context
#cwebber2it could be argued this is a vocabulary extension
#cwebber2Gargron: I agree it does seem weird. I would think that occasionally polling for liveness is a good idea.
#cwebber2and if something appears non-alive, give some range of time you re-check until you mark it as dead
#Gargroncwebber2: what can I do if my users Announce a note that originally came from OStatus, and has a tag:example.com;etc URI?
#cwebber2hm, in a meeting but I need to think about it. could you file an issue in the AP repo and I'll reply to it?
tantek joined the channel
#wilkiefollow liveness is complicated. something not being alive during a renewal window doesn't necessarily mean you want to get rid of it.
#wilkieyou can still follow someone or have a record of a relationship and have them not really exist and thus not get their feed... leaving the semantics of pulling the feed or not to the federation protocol, which is better suited to deal with this issue
#tantekI tend to agree with wilkie. there's a difference between the user semantic of, I've established a follow relationship, and the plumbing guts of "subscription periodically expires, renew"
#cwebber2wilkie: yeah, my sense is that you want to do some sort of series of polls over a period of time, and if they fail to appear during all of them (maybe over the course of 6 months or a year) they get removed
#tantekto design the user model based on the plumbing conceptual model is also an error
#wilkieyeah, I tend to like the separation of concerns of the graph/knowledge protocol and the federation/pubsub protocol
#wilkiecwebber2: I think there is a good rationale separating "well, I guess I don't poll this feed anymore" and "well, I guess I don't follow this person anymore" governing what the "they" is in your sentence that gets removed
#cwebber2is a bit confused by that sentence's distinguishment of "they"
#puckipediaok, finally got a bit over my illness, let's try to test AP in Mastodon
#puckipediaI should build a good logging system into Kroeg hmmm
#cwebber2the blocking issue is fixed; I noticed that before some things are passing but when I tried yesterday after I put it up again I was hitting a bunch of 500 errors
#puckipediaand then some way to link logs to requests; and then show a list of requests and their corresponding logs
#rhiaroI would have no friends left on facebook if it deleted them because I haven't posted in a year. The way subscription works in AP is that new posts are pushed though right? So we there's nothing to back off from? It's okay to have someone appear in your friends list but never receive any updates from them.
#puckipediae.g. the server hosting a bunch of followers died
#rhiaroyeah I don't think they should disappear off the followers list just because they aren't getting things. Internal mechanism to decide when to stop bothering to send, perhaps. Ie. implementation detail, that could come with a note of suggestion (ie. non-normative) perhaps
#tantekand in that case, how does one reconnect to those followers on another server?
#puckipediathis would be a server->client notifying system anyways
#jaywinkI think the way diaspora does the "a node died, we should probably not do timeouting requests forever" is to keep a last success timestamp. If the node doesn't have any successes for X days -> it is not posted to any more. But no actual data is changed, it's just a server implementation thing, not protocol. This is also how my relay system works.
#jaywinkit would seem odd removing followers because the node has gone down, because then you make this permanent. A failed timestamp could be cleared for example when receiving a post from the node.
#rhiarocontemplates if she has time to make a pizza before the meeting
#rhiaroIn other news, for those who like PHP and RDF (haha that's just me), I finally got most of the way to extending EasyRdf's JSON-LD serialiser to serialise to conformat AS2 if you ask it for activity+json
#ajordancwebber2: these are the different spec profiles in the AP spec
#ben_thatmustbemewonders if Mastodon going with support for AP and ostatus, would it be easier to add other non-internal federation protocols webmention / mf2 for example (cc: Gargron)
#ajordan... c2s client -> clientside, c2s server -> API, s2s API
#ajordan... currently working on c2s because that's the easiest to do
#ajordan... I wanted to make sure I did the one that gave me confidence things were working
#ajordantantek: so you have the c2s clientside ones done?
#ajordan... there's some server stuff worked in there because clients can do some addressing and they don't know if it works, so that's marked as unknown
#ajordantantek: re: other variants, do you have an estimate? next week or two?
#ajordancwebber2: trying to go as fast as I can, it's difficult because I'm best man in a wedding
#ajordan... think we'll have s2s tests up within the next month and client tests should be really fast to do after that
#ajordan... once I find that I'll convert it into a proper report on GitHub
#ajordantantek: was that selfreported or did he use the test suite?
#ajordanaaronpk: I believe selfreported cause he was doing it pretty quickly
#ajordan... he thought it would be a quick thing, just fill out the report, but it wasn't
#ajordantantek: we need to decide as a group if we're ready to ask for PR transition
#ajordan... sandro, any updates on when it'd be good to start that ball rolling?
#ajordan... now? can we do it in two weeks? September?
#cwebber2one thing you may notice in the AP test suite is that it uses websockets and it disconnects you very quickly, lol... I need to implement websocket ping, oops. but that'll happen
#ajordansandro: I think we're a while from the deadline but I don't see a reason to wait
#cwebber2also eventually there will be a RESTful API that you won't have to use websockets for ;P
#ajordantantek: I thought we were waiting for the Google report and the Mastodon report so assuming aaronpk can dig up that IRC report I think that satisfies the previous conditions we had set
#ajordan... for past CR to PR transitions we've started a wiki page for the specs we had to do that for with a bunch of different items to make sure we'd done
#ajordan... aaronpk you should start that, if you haven't already
#ajordan... left it open deliberately to try to see if anyone still cares
#ajordan... we have to resolve this before going to PR, that's what the CR period is for
#ajordan... what's the proposed resolution for this one?
#ajordanaaronpk: right now there are a couple votes in support of dropping it, haven't seen much discussion in support of it except for Julien's last comment about leaving it
#ajordantantek: did we get any hints from impl. feedback... did anyone check the "we implement this" box for host-meta?
#ajordan... that's the evidence we should be using
#ajordan... so, could you explain what the issue is tantek?
#ajordantantek: if you look at seciton 6 it has one very short paragraph on what publishers should do
#ajordan... I requested an informative note making it clear that the pub->hub protocol is left unspecified, and explicitly say what some public hubs have been doing
#ajordan... which is to send a POST request with some well-known key names
#ajordaneprodrom: I think this is because we have previously-existing PuSH versions where this was their mechanism for pubisher notification right?
#ajordanaaronpk: what's happened with the spec is that it never specified how publishers verify hubs because some publishers integrate into hubs
#ajordan... like when it's built into your blog, so you don't need an external API
#ajordan... Superfeedr and Google happen to implement the same API because they're both external hubs
#ajordan... those are the two links tantek dropped into the issue, for service docs
#ajordan... it's sort of become a de facto standard because public hubs do it that way
#ajordan... best thing we can do is say "this is what the situation is"
#ajordan... but we can't make it required without breaking things
#ajordancwebber2: I just noticed in some specs I've been reviewing they've been doing it's RECOMMENDED... instead of SHOULD or whatever you can do RECOMMENDED
#ajordan... that seems like a good way to shove people in the right direction
#ajordansandro: RECOMMENDED is defined as a synonym of SHOULD in RFC2119
#ajordantantek: the reason I raised this issue was, I was filing my impl. report and going through all the steps
#ben_thatmustbemepubsubhubbub.appspot.com uses hub.url instead of hub.topic for example
#ajordan... and I realized as I got to the last step that what I was doing wasn't in the spec
#ajordan... realized I was following docs from public hubs
#ajordan... made sense to at least mention that that documentation exists
#aaronpkben_thatmustbeme, both superfeedr and google use hub.url
#ajordan... but trying to be conservative and not add normative text, instead just ack the current situation
#ajordan... I would be _for_ normative text in a *future* WebSub version
#ben_thatmustbemei also was working on a hub implementation that uses webmention instead of that methods
#ajordan... if it gets more uptake and there are no objections... all the usual spec iteration stuff that involve the broader community, I could see it going into a 1.1
#ajordan... in particular I'd like Julien's opinion on any normative change
#ajordan... I felt it was still valuable to include an informative short note, stating reality
#ajordaneprodrom: could I propose a second path? we could have a separate document
#ben_thatmustbemecwebber2: we have a call tomorrow, i also had a call with another group that is using AS in a really large way, and they are joining the CG
#ben_thatmustbeme... as i said, we have a call tomorrow, so it would be great for people to show up
#rhiarotantek: oops the urls in alt attrs must be a bug in my photo album code
#rhiaroand yeah Tesco in the UK have had a whole new range of vegan cheeses for a while, so when I went back for a few days last week I basically packed nothing and returned with an entire backpack full of not-cheeses
#rhiaroI like daiya, but I think these might even be better
#tantekI've tried to like daiya several times and can't even
#Loqirhiaro has 157 karma in this channel (276 overall)
#ajordanpuckipedia: FWIW better inbox querying/filtering is already on the list of extensions to explore
#ajordanalso I like how tantek's first instinct upon seeing rhiaro's pizza was "ooooo lemme check out the HTML source!"
#ajordanalso, about finding a way to indicate on Follows that it doesn't have to be ack'd, I thought that defeated half the point? which was that a Follow is one of the most critical types of Activities and we _really_ want to make sure that they make it over the wire?
#rhiaroajordan: there's making it over the wire, then there's it being ackd by the human at the other side
#ajordanrhiaro: well if the human on the other side doesn't have a "private" account (meaning, an account where Follows have to be ackd) the impl. autoacks
#rhiarothe implementation *may* auto-ack but it's not required
#ajordanwhat if we made it mandatory to send an Accept/Reject right away
#ajordanso in a "public" account, the server would send an Accept immediately
#ajordanand in an "approvals-only" account, the server would send a Reject and if the user approved the follow, the server would send an Accept (or whatever would undo the Reject it'd already sent)
#ajordanso there you get acking, and you get a strong signal as to whether the user being followed has to approve your request or not
#ajordanALTHOUGH this is a bit of an abuse of Reject and it also occurs to me that you would still have to know whether follows require approval *before* actually sending a Follow and getting Accept/Reject back
#ajordanfeels bad for returning to the techno-babble after the far more interesting food discussions :P
#rhiaroI feel like an immediate reject might be a kind of confusing way to handle it
#puckipediaajordan: I'm not really positive about this; mostly due to the fact that it is, as you say, an abuse of a reject; and also would it mean that ActivityPub has to specify delivery timeframes?
#rhiaroWhat do you lose by just never sending a reject? (or sitting on it for ages?)
#puckipediasorry, went to fix some small extensions with my server
#puckipediaand then a large important thing Occured
#Gargronim frustrated over the whole problem space of upgrading the whole network to another protocol, especially in how it relates to disseminating OStatus-originating content via AP
#Gargronsome of the origin servers will upgrade and start supporting AP, and then you could somehow try to update some of the data stored on your remote servers to reflect that, and disseminate that
#Gargroncurrently since we just take whatever's in the DB and serialize it as activity+json, it means ostatus-posts are mostly identical to AP posts (because the db schema is obviously the same, and normalized), but the URI format differs
#Gargronatom URIs are like tag:example.com;123;222
#Gargronwhen we're talking about local posts, it's fine - we generate URIs on the fly, so we can generate the correct URI and put it in "id", and generate the ostatus one and put it into "_:atomUri" for cross-referencing
#Gargronbut when we want to, say, "announce" a remote post, the URI recorded in the db is the only thing we have
#Gargronthat obviously messes some algos up, when you want to resolve something, or even if you wanna check "is this *my* URI" because we're expecting a different format there
#jaywinkI'm going to have fun hacking AP support to Socialhome at some point, since now I support Diaspora protocol and it's completely different :P and I want to keep both
#jaywinkcomments/likes might be a bit tricky/impossible, but can't have everything
#jaywinkI mean relaying for example comment in AP to diaspora users
#jaywinkhubzilla I think sends them as quoted new comments by the original author, which is kind of dirty but works - but of course you can't verify what the commenter *actually* said, you need to just take the word of the content owner
#jaywinkrelaying comments from diaspora to AP would probably require something similar too - so will probably go that way
bwn joined the channel
#puckipediaGargron: hmm, I'd like to see all the posts slowly moved to use new ActivityPub IDs (even old OStatus posts from Mastodon) - then adding a flag to enable/disable OStatus support
#puckipediawebsub is a middleware for unknown reasons
#puckipediaGargron: so the issue is probably that I'm incredibly lazy and allow someone to e.g. POST an application/activity+json into the inbox, but Accept: application/atom+xml to get OStatus back
#puckipediaand my guess is that Mastodon isn't doing an Accept: on POST requests