#oodaniIs OpenID still worth implementing? It's obviously worse than IndieAuth, but there do still seem to be places that accept it. (For instance, PyPI, which I'm on a lot since I'm working in Django.)
#KartikPrabhuoodani: I think Indieauth can be used as OpenID fallback. aaronpk should know more
singpolyma joined the channel
#aaronpkYou can delegate to IndieAuth.com if you don't want to implement OpenID from scratch
#oodaniHmm, might be worth doing. I'd assume my IndieAuth approval prompt would only "see" IndieAuth.com rather than the actual OpenID client, though.
#aaronpkthere aren't that many places that consume it still tho, and there are even fewer OpenID providers left
#aaronpki have a bunch of users on IndieAuth.com who moved there from myOpenID.com when it shut down, cause they still wanted to be able to sign in to stack overflow
#aaronpkbut IMO its not worth investing much time in
#aaronpkOpenID 1 is effectively dead, the OpenID foundation has moved on to OpenID Connect which is based on OAuth 2 and also doesnt even serve the same goal as OpenID 1 did
#tantekaaronpk I wonder if we can update the /OpenID dfn to reflect that summary status
#LoqiOpenID was a protocol for using a web address as an identity to sign-in to websites; it is losing support, is effectively dead (versions 1 & 2 are both deprecated), and has been replaced on the IndieWeb with web-sign-in and IndieAuth https://indieweb.org/OpenID
#oodaniIs there something I can put on my site to make IndieAuth.com automatically delegate /IndieAuth/ requests to my site, rather than simply using my own IndieAuth as a verification method? (So that I get the correct client_id and icon, and also don't have to pick which provider to use.)
#aaronpki was able to log in to stackoverflow just now
#aaronpkusing the twitter verification option of indieauth.com
#aaronpkoodani: i think there's an open ticket for that right now on indieauth.com. but... dont worry too much about it, for reasons i would love to get in to
#aaronpkit's... complicated, and im in the middle of a project to straighten things out
#Zegnatoodani, it also depends on the website. E.g. Telegraph should send you straight to your site. It is only websites like the wiki that do not use IndieAuth themselves but use specifically the IndieAuth.com service for login that force you to go there.
#aaronpkthe short version is you will only ever interact with indieauth.com when youre logging in to sites that dont implement their own login flow, like the wiki.
#oodaniAuthenticating with Stack Exchange worked when I used Twitter verification, but not GitHub verification (I got a "csrf_detected" error).
#aaronpkultimately i would like it to skip showing you indieauth.com when youre logging in to the wiki but it's an optimization thing really
#aaronpkoh weird yeah ive heard a couple other reports about that, but i havent figured out whats wrong with the github flow
#ZegnatYeah, it seems to be an error specific to using the IndieAuth option for logging in to StackExchange.
#oodaniThe thing is that https://indieauth.com/developers encourages you to just use IndieAuth.com rather than try to discover the user's correct authorisation endpoint, so it seems like that'll end up with /lots/ of IndieAuth clients that have to go through that extra step.
#ZegnatThat’s because that is the developers page for indieauth.com, and not for indieauth.net (the OAuth extension)
#aaronpkand if a site is using indielogin.com and you have your own authorization endpoint, you'll never even see the rel=me login options or even see the indielogin.com site
#oodanii'm in a microservice frame of mind today, apparently :p indielogin.com could do absolutely nothing besides delegate to the user's auth endpoint or to myindieauth.com if they don't have one
#oodanithat means only myindieauth.com needs an id+secret for twitter and github, which i think is an advantage - although i guess making more oauth apps is free anyway
#oodaniand you could also reuse the same id+secret if you wanted, i s'pose
eli_oat and [tantek] joined the channel
#aaronpkit would make the implementation of indielogin.com super small
#mblaneyahhh, except I use bridgy_omit_link=true for short posts, but I'm still counting the original tweet.
sebsel, jqzollmqqe, KartikPrabhu, [shurcool], cweiske and [kevinmarks] joined the channel
#vanderven.se martijnedited /comments (+373) "/* IndieWeb Examples */ Add Henrik Carlsson and call out how he is displaying comments within feeds too" (view diff)
#cweiskecould you add a screenshot for that comment-in-feeds?
#Zegnatcweiske, I was thinking about it, but it becomes such a big image on the page then. As you can’t illustrate it without actually screenshotting the whole feed.
#grantcodesI also have a test suite I can share, it's just a bit hacky so it's not in the repo
#ZegnatHmm, I feel like that microformat-shiv code is suspect. If you BASE element URL is a relative one (which I think is allowed by HTML?) it is going to turn the URL into a relative one again.
#sknebelZegnat: it doesn't even seem to work with an absolute one
#ZegnatOh, it reads like it should work with absolute ones.
#sknebel(since the "official" testing site is down, this is mine, running microformats-node with my open PRs already applied though)
#tantek.comedited /post (+488) "/* Brainstorming */ What to post / Anniversaries of projects or activities" (view diff)
EmreSokullu joined the channel
#aaronpk*whew* just cleaned up my dreamhost account and set up nightly backups of everything
#tantekhey GWG, per our recent discussion, I'm going to keep adding to https://indieweb.org/post#What_to_post every time I think of something to post and reach sufficient motivation to succesfully do so. hope that helps!
#ZegnatWhy is it my perfectly valid HTML always unearths these tricky bugs, sknebel, grantcodes, ... :P
#grantcodessknebel Zegnat one (kinda weird) option would actually be to just host the php version somewhere, enable cors and just request the mf2 json from that. But always prefer not to have these middleman services
#ZegnatThat would leak all endpoint information of every user to the middleman. Wouldn’t recommend that.
#sknebelgrantcodes: agreed, not great. might be worth checking if there is a good dedicated solution just for rel links...
#sknebelwould have to check/think about where else the it uses the mf2 parser and if the bugs matter there (if introducing another dependency for rel links. wouldn't be surprised if <base> tags are ignored in most tooling though. clear edge case :/)
#ZegnatAlso takes away the possibility of using the code in browser extensions (like Micropub clients) that are meant to work with development versions of software. The middleman can’t access localhost.
#grantcodesSo all my library needs to get is the auth, token and micropub endpoints (maybe rel=me links would be useful too) - if there is another way of getting those I'm all for it
#ZegnatHmm. Wonder if it is worth it making a fresh fork of glenn's then and merging in your changes manually, and then going from there.
#ZegnatI don’t like the idea of working on -node and -shiv simultaneously though
#aaronpkyou don't need a microformats parser to get the rel values
#sknebelaaronpk: any recommendations of working JS libs (browser side) for it that respect base tags?
#grantcodesfor my use case, needs to work in browser and node!
#sknebelZegnat: -shiv is an mf2 parser working on a DOM. -node just supplies a DOM in nodejs and does some adapting around that, the parser is in -shiv
#sknebelin what context is that used? I'm not quite sure what it does and when and how
#ZegnatI see no obvious problems with that method, so as long as all URLs go through modules.url.resolve() stuff should be peachy.
#Zegnatmodules.url.resolve(url, baseUrl) - “resolves url to absolute version using baseUrl”. Code seems fine. So as long as that is used everywhere there shouldn’t be any issues.
#sknebelbut the problem is finding the base url, not applying it. I thought
#sknebelsince if you pass it in expicitly it gets applied
#ZegnatThe only problem there is that it should have used modules.url.resolve when baseUrl is already defined, in case of a relative value in the BASE element
#sknebeland the fact that it doesn't work on our example page with an absolute base url
#ZegnatYeah, that is surprising. Reading the code, it should just be taking that URL :/
#sknebelexcept if this.document has a value in L319
#sknebelif that exists and has an empty url for some reason...
#sknebelJust devoured a slice as well (yay for Italian place in the train station)
EmreSokullu and snarfed joined the channel
#grantcodesaaronpk: quick question - any way I can automate the micropub.rocks tests for unit tests? Think I would just need to get some of the random strings generated
#aaronpki hadn't really planned on it being used for automated testing
#grantcodesJust easier than writing my own tests ?
KartikPrabhu and [kevinmarks] joined the channel
#aaronpki'm surprised there aren't more services that offer stats for podcast downloads
#[kevinmarks]Well, the stats people want are playbacks rather than downloads
#aaronpki mean that's not a thing, but what people are doing right now is tracking downloads
#aaronpkit just seems to be bundled with podcast hosting
#aaronpkthe wordpress plugin has stats built in so at least you can self-host that pretty easily
tantek joined the channel
#[kevinmarks]Hm, I wonder if the archive.org stats measure downloads
raretrack joined the channel
#Zegnatsknebel: that if on L319 doesn’t matter, as the baseTag is detected on L328 and falls outside of that if-block. The if from L319 just tries to detect the current page URL when running in the browser in case no other URL was provided.
#ZegnatIt should get overridden on L332 by whatever the BASE element provided. So for your absolute URL in BASE, that should work :/
#sknebelZegnat: my mistake, due to the indentation I thought it was in the except block
#grantcodesAh ok. I was actually just playing with getting the rels myself without the library
#ZegnatThat might be a good idea regardless, grantcodes ;)
#sknebelyes, for micropub-helper it makes sense to do that
#grantcodesYeah, the only thing that might be an issue is the base tag thing. Apart from that I think it will be amost as simple as querySelectorAll('[rel]')
#Zegnatgrantcodes: check querySelector('base'), if it exists, resolve its href value and set that to the new base URL. Then resolve all hrefs from *[rel] matches to the current base URL.
#ZegnatYou have to resolve URLs for the *[rel] anyway, so you need that code no matter what.
#sknebelyeah, I kind of had forgotten earlier that "we have an mf2 parser anyways" is only true in the browser extension, not the helper
#grantcodessknebel: The full parser is in there just now, but not really using the functionality of it anyway
#ZegnatIf that type check is wrong it shouldn’t be adding *any* URLs, sknebel, or am I reading this wrong? So the type check must be passing…
#sknebelthat's what I meant. omnibear is using it for other things, your micropub-helper doesn't need it
gRegorLove joined the channel
#sknebelZegnat: true. well, somewhere there is the bug probably ;)
#ZegnatAlso, why is this all in while loops? When did for-loops get outlawed?
#ZegnatI know I should not be riffing on coding choices, I am just a little frustrated that all code looks OK yet we are having problems :P
#ZegnatIf you change relEls to doc.querySelectorAll('[rel][href]') you will not need to check the attributes for null, I think, as both rel and href must exist on the element
#grantcodesHaha thanks guys, so the gist is updated to find the first base element with a href attribute and handle space separated rel attributes. (I left in that null check just in case :P)
#sknebeloh, and sorry, another thing... despite being called "space seperated tokens", "The space characters, for the purposes of this specification, are U+0020 SPACE, "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), and "CR" (U+000D)."
#ZegnatIf you didn’tt want a general rel extraction grantcodes,you should just have done document.querySelector('[rel~="micropub"][href]').getAttribute('href') and resolved that ;)