#GWGpetermolnar: I still think using the existing table works better.
#LoqiGWG: petermolnar left you a message 53 minutes ago: I've altered wp-webmentions-again; it now creates it's own table in the db to act as a queue, due to the lack of queue manager in WordPress; this way sending can be initiated from anywhere http://indiewebcamp.com/irc/2016-01-13/line/1452726904184
#snarfedi was thinking of a different question: if your site doesn't support post type X (e.g. RSVP), do you then suffer and never post Xes until you have code for them? which might take indefinitely long?
#snarfedor do you post them manually (author the HTML by hand, etc) until if/when you have that code?
#snarfedi obviously vote the latter, but that's just me :P
#mblaneythere's obviously multiple levels of investment to make that happen, would be nice to be able to read about starting from the smallest set up to the largest
#bearmblaney - the answer for that is another question - what type of site is it and what resources does it need to run
#mblaneyok thanks, I guess that answers my initial question that from an indieweb perspective where we all have 1 server, the next level would be to have at least 4 servers.
#mblaney(2 servers to run the site and 2 load balancers)
#bearor work it so that the db is used to build a static view
#mblaneyyeah suddenly I like the idea of static sites :-)
#bearif you can generate a static version then you could fall back to that if the main site is down
#mblaneywell I like the idea of being able to do something (anything) :-)
#bearfind two good/cheap vps providors like digitalocean
#mblaneystill I think I have just given myself a very large project that I wasn't expecting
#KartikPrabhuthere are also service workers which effectively offline your site though not wide-spread browser support yet
#aaronpkthere are really two parts to the cost, one is the actual cost of the servers, the other is the maintenance cost of making sure the fallback mechanism is working
#bearI should really start a small indieweb oriented hosting service
#[snarfed]all good redundancy discussion! mblaney I'll plug cloudflare again, they may have the best and easiest plug-and-play live serving redundancy service I've seen
#hoplo2Yeah that website is really handy. I’m looking at adding microformats information to my posts, the end goal of this is to add classes to my html?
#KartikPrabhuyes microformats are added as classes to your HTML
#KartikPrabhubut the end goal is to have microformats so that other sites can interpret your post correctly
#matthewschutte.comcreated /User:Matthewschutte.com (+1019) "Created page with "I am drawn to complex challenges that include: - surfing 50 foot waves at Mavericks - rethinking the role of privacy in a society - architecting a more useful structure for the i..."" (view diff)
hoplo2, snarfed, AngeloGladding, tantek and minsky joined the channel
#petermolnarGWG for receiving, your solution would work, I admit; for queuing outgoing mentions, that was my basic, larger issue
#petermolnaralso, I don't want the autoinc on the built-in tables
#petermolnaruntil there's a custom comment type support - it could be done with a few filters I believe, so I'll look into that - I'm sticking to this queue solution
#petermolnarLoqi had a little time off, so: http://wpbin.io/4au9hq <- this might be enough to support custom comment statuses, but I'm yet to start testing it
#GWGIt would be. But I'm not sure if there are other concerns. Although 4.5 might be the version of custom comment types, so might be a good time to slip it in.
#petermolnardo you have any spare capacity to test it?
#petermolnara, suppress displaying the comment until 'approved'; b, suppress spam filters until the end of custom-approval, which is the pullback of the remote content
#petermolnarfor this, using currently available filters & hooks + comment_type should do
#bearOpenSSH CVE-0216-0777 -- tl;dr; add "UseRoaming no" to your ~/.ssh/config or /etc/ssh/ssh_config to turn off the experimental feature that for some reason was enabled by default
#snarfedhonestly GWG i still think you're overprioritizing async support
#snarfedbut i'll try not to rehash the same conversation :P
#snarfedon an unrelated note, i made a bridgy screencast for applying for facebook's user_actions.news permission. annoying but at least it's done! https://youtu.be/otq0rcidmyI
#aaronpkif you *can* do async processing in the existing wordpress infrastructure then I think you should. if it requires a bunch of changes to core then probably not worth doing at the moment.
#GWGaaronpk, I think you can, that is what I am exploring.
#gRegorLoveIt doesn't seem too likely the WP devs will complain if webmention lacks async, then
#gRegorLoveGWG: AFAIK, the wp-cron functions similarly. The cron job should run after the page is delivered, so won't slow the page load for anyone.
#GWGI intend to build a test plugin at some point.
#GWGI like the existing plugin, but I think we can iterate on it.
#snarfedi'm curious which "page loads" you all keep referring to. webmentions usually aren't end user HTTP requests; humans generally aren't waiting on them to finish to see anything.
#aaronpksnarfed: wp-cron is triggered on every visit to the wordpress site
#gRegorLovesnarfed: It's a lazy cron, for hosts that don't allow you to set up cron
#snarfedahh, wp implementation detail, got it. nm.
#aaronpkit's a clever trick to avoid needing to set up actual cron jobs
#aaronpkcourse it has its own problems, which is why I usually set up a cron job that hits the wp-cron.php file manually and disable the automatic one in the config
#GWGSo it is similar to the design gRegorLove is using.
#snarfedhonestly you might consider waiting to see how the wp core people respond and what they actually care about and ask for. i suspect fully designed and hardened async support will be low on their list.
#gRegorLoveWhat are the problems, outside it not being guaranteed to run with the set frequency?
#LoqiIt looks like we don't have a page for "problems, outside it not being guaranteed to run with the set frequency" yet. Would you like to create it? https://indiewebcamp.com/s/10BG
#aaronpkthat's actually an interesting point, since the default async method is wp-cron being triggered by visitors, you're actually giving people a worse default than having the webmention request process it synchronously
#snarfedfor decent UX, yes. if not now then within a few seconds.
#aaronpkbest option of course is a real cron job to keep all the processing outside of web requests, but if you can't do that, then it might actually be better to have the webmention endpoint do everything itself
#GWGI planned to design the functionality for a drop in option.
#GWGIf I get all the hooks and settings right, then you could replace processing with something external.
#gRegorLovewp-cron still prevents DoS, so I think it's still better even if it can have memory issues
#petermolnaraaronpk re worst user experience when you're using wp-cron based plugins one might assume it's aimed for environments where system cron triggers wp-cron
#petermolnarbut that might need to be highlighted in the readme
#snarfedgRegorLove: if your small self-hosted WP site gets hit by, say, a 1kqps webmention DoS, you're going to have a bad time just trying to handle those inbound requests, regardless of whether you process them sync or async
#aaronpkattacker makes 100 simultaneous webmention requests with a source URL that will keep the connection open for an arbitrarily long time. now all of a sudden your server is holding 100 connections open and using ram for each.
#snarfedagreed, amplification attacks like that are interesting
#gRegorLoveMy plugin can support actual async. Reason I'm using the lazy cron is because I'm certain a lot of users don't have cron access
#snarfedthe common case is they send those 100 reqs to 100 different servers. so async doesn't help the end target, but does still help your own server
#snarfedanyway. it's complicated. as usual, when in doubt, follow occam's razor, do the simplest thing until if/when you know there's a real problem to address
#gRegorLoveDepending on the async delay, those 100 requests may not all hit the end target though, right? Which I guess falls under "somewhat mitigates" not prevent.
#petermolnarkylewm re: "I wonder if there's a service you can configure to hit your wp-cron.php for you" yes, the system cron :)
#LoqigRegorLove meant to say: Depending on the async delay, those 100 requests may not all hit the end target at the same time though, right? Which I guess falls under "somewhat mitigates" not prevent.
#aaronpkin my example the site receiving the webmention requests was the target
#petermolnaraaronpk I've seen a small spike in nginx requests, but to be honest, with all the iptables and nginx limits in place, I'm surprised it's even visible
j12t joined the channel
#aaronpkyour processing seems to be async, all the requests returned before the 10 seconds was up
#aaronpkduration=10 makes that url take 10 seconds before it finishes responding
#petermolnarthe wp-webmentions-again you were hitting checks for valid url source, valid url target & maps the target url to a post id; if all these pass, it pushes it to the queue
#kylewmsnarfed++ for applying for new facebook permissions during the week
#tantekfavorite quotes is a feature of some silo profiles (like Facebook), where a user can add quotes that resonates particularly strongly with them or are self-describing.
#LoqiA quotation is a type of post that is primarily a subset of the contents of another post, and often has a citation of that other post https://indiewebcamp.com/quotation
#gRegorLoveTwice Asked Question. Not sure I understand the difference other than placement on the site.
#gRegorLoveE.g. FB has the "quotes" section of the profile vs a /quotation that appears in a stream of notes?
#gRegorLoveThe /quotation definition also sounds like it must be a quotation of a post posted at a URL, so quoting something someone said offline wouldn't count?
#tantekthe importance of the distinction is demonstrated by the existence of different phenomena in the wild, each deserving of their own documentation, analysis, clustering, and possible reconstruction. See for example [[favorites quotes]] vs [[quotation]] posts.