#dev 2019-10-29
2019-10-29 UTC
[chrisbergr] and [snarfed] joined the channel
# [snarfed] updated all the images and buttons on https://brid.gy/ , https://granary.io/ , https://oauth-dropins.appspot.com/ to 2x resolution. not a big deal, but they definitely look sharper now
tg-z, SevenTwenty, KartikPrabhu, [Bradley_Allen] and maxwell joined the channel
# maxwell @jgmac1106, @aaronpk, @snarfed - I wrote a post about what I got done with your help, thanks again: https://www.maxwelljoslyn.com/blog/2019/10/28/1
SevenTwenty, dougbeal|mb1, gRegorLove, [fluffy], [KevinMarks], tg-z and [snarfed] joined the channel
[timothy_chamber, FreshcollegeGirl, ecrosstexas, gRegorLove, ecrosstexas[m], LavetteGeneratio and [fluffy] joined the channel
[Rose] joined the channel
# gRegorLove [fluffy], mblaney and I can help test different parts of that. He has the reader part
FreshcollegeGirl joined the channel
[jeremycherfas] joined the channel
cweiske joined the channel
KartikPrabhu, asymptotically and [tonz] joined the channel
# @Borisson It looks like we will get @swentel back into core development with getting webmention and the indieweb to drupal https://t.co/BBZdlk6g1L (twitter.com/_/status/1189105832300023808)
# @Peytz What comes after Drupal 9.0.0? Automation? Reusable components? Accessibility? Semantic HMTL? Webmention support? Native DAM? JSON: API clients / SDKs? What are your hopes and wishes? #Driesnotes #DrupalCon (twitter.com/_/status/1189106771983511554)
[KevinMarks] and [Matt_Hobbs] joined the channel
# myfreeweb [fluffy]: token (& auth) endpoint being part of the application is honestly so much easier than using an external one, localhost development Just Works
# myfreeweb for checking that auth works, i use a local instance of https://github.com/barryf/micropublish
gRegorLove joined the channel
jeremych_, [KevinMarks]1, [jgmac1106], [grantcodes], FreshcollegeGirl and [qubyte] joined the channel
# jeremycherfas Is there a simpler way of testing a cron job than tail the file in var/mail ?
IWSlackGateway, [Matt_Hobbs], [qubyte], [grantcodes] and [tonz] joined the channel
# jeremycherfas Know that it ran is easy; the files appear where I expect them. Find the errors if it didn't.
# jeremycherfas But in the meantime, I fixed the path to the bash script I was hoping it would run and it worked. I thought that cron might know about $PATH, but it seems not to.
# jeremycherfas So now I am downloading and renaming my access.log every day, and my next chellenge will be to try and get Bise working locallly.
[Rose], [KevinMarks] and [timothy_chamber joined the channel
KartikPrabhu and [tantek] joined the channel
GWG joined the channel
# [tantek] [KevinMarks] ping - how soon can you get to updating /fragmentions spec? This week? It has some urgency because various Google folks are pushing for their more complex proposal instead
vika_nezrimaya joined the channel
# vika_nezrimaya Good Morning IndieWeb
# vika_nezrimaya My site's currently down, so I'm playing around with node.js
# vika_nezrimaya JavaScript is actually fun! Right now I'm trying to make a socket.io based chat app with IndieAuth
# [KevinMarks] Being able to debug node server code on my own machine with Visual Studio Code is nice
[schmarty] joined the channel
# [tantek] [Matt_Hobbs] can you add your questions about how to markup author(s) of one or more entry(ies) to the https://indieweb.org/h-entry page? That way we can capture them and make sure they have good step by step answers!
[Matt_Hobbs] joined the channel
# [Matt_Hobbs] Hi [tantek], yes sure will do :thumbsup:
# [Matt_Hobbs] Hmmm I'm looking for a way to do this. Just logged in but can't see an option anywhere. Is there something I am missing?
# aaronpk [Rose]: is it this? https://github.com/laravel/framework/issues/12029
[jgmac1106] joined the channel
# vika_nezrimaya any easy ways to discover rel=authorization_endpoint from client-side JS without hoping that stuff happens with cross origin policy?
# vika_nezrimaya CORS, I mean
# vika_nezrimaya ugh
[Lewis_Cowles] and jackjamieson joined the channel
# vika_nezrimaya oh, great
# vika_nezrimaya IndieAuth is so weird. I try to authenticate against my endpoint (indieauth.com) but it says that code parameter is missing. I can clearly see it being sent.
# vika_nezrimaya also it doesn't seem to understand Accept: application/json, text/plain, */*
# vika_nezrimaya I'm POSTing it... There are no query strings
# vika_nezrimaya I'm using axios on Node.js side to talk to auth endpoint
# vika_nezrimaya because auth is checked on the server
# vika_nezrimaya Form-encoded? It doesn't accept JSON?!
# vika_nezrimaya oh wow
# vika_nezrimaya that's why I kinda don't like implementing IndieAuth... :3 sadly I don't think there's a library
# vika_nezrimaya maybe I should write one
# vika_nezrimaya library for IndieAuth, I mean!
# vika_nezrimaya so I wouldn't have to deal with finding endpoints, checking codes, etc. myself
# vika_nezrimaya and only have a function that executes once user completes the auth flow correctly :3
# [Lewis_Cowles] vika, you could implement a middleware to wrangle content-type if it’s JSON, but then you’d increase a lot of work as there are many JSON mime-types. text/json, application/json, application/vnd.api+jsoncontentType is one I learned about at my current job (which I think should just be application/json)
# vika_nezrimaya I think application/json is the more accepted and seen one
# vika_nezrimaya i use it when sending my requests
# vika_nezrimaya text/json imo is not quite right, since JSON can be anything, including text. I could even transmit a PNG picture encoding its properties in JSON. it'll take a lot of data but it will certainly not be text
# [Lewis_Cowles] fd = new FormData() would allow you to unburden yourself and simply POST 😉
[qubyte] joined the channel
# [Lewis_Cowles] [qubyte]++
# [Lewis_Cowles] I’ve never encountered that. Wonderful. I rather like window.location, but fully accept it could be easier to work with and less verbose
gRegorLove joined the channel
# vika_nezrimaya yay, I wrote a chat app using socket.io and IndieAuth!
# vika_nezrimaya I only need to upload it to glitch and we can ditch IRC :D
# vika_nezrimaya except I don't have chat history yet
# vika_nezrimaya huh, glitch doesn't seem to do something like npm run build before starting my app
# vika_nezrimaya https://indiewebchat.glitch.me - login with your website!
# vika_nezrimaya I want to try seeing other people in the chat :3
# vika_nezrimaya so please someone test this
# vika_nezrimaya note that this thing doesn't remember the login
# vika_nezrimaya no cookies support, no session persistence, nothing!
[snarfed] joined the channel
# [snarfed] just fyi, interesting error when i typed in http://asdf.com : looks like it tried to HTTP GET the HTML contents? and failed
# [snarfed] same when i enter https://snarfed.org
# vika_nezrimaya Wait a little bit, once auth passes, it should unlock
# vika_nezrimaya This is alpha-quality software
# vika_nezrimaya and my first foray into Node
# vika_nezrimaya I don't see you being connected though... something may have went wrong
# vika_nezrimaya and it certainly did
# [Lewis_Cowles] same, but very cool
# [Lewis_Cowles] @vika_nezrimaya++
[manton] joined the channel
# vika_nezrimaya aaronpk, [Lewis_Cowles]: I pushed some fixes that prevent app from glitching in case it can't fetch your h-cards
# vika_nezrimaya try again now
# [Lewis_Cowles] OfflineFirst has their very own aaron, and they've written a post about request queueing https://medium.com/to-err-is-aaron/managing-state-with-offline-first-request-queuing-d29f043205d4
# [Lewis_Cowles] I'll check out changes
[grantcodes] joined the channel
# [grantcodes] Nice vika! I have some pretty well tested node / is libraries for indieauth. Feel free to use it or copy code from it. It uses axios too
# [Lewis_Cowles] Shorter url query-string this time, but ultimately still not logged me in
# [Lewis_Cowles] perhaps that can help?
# vika_nezrimaya wait, this is not supposed to happen. It should GET that query string to an authorization endpoint!
# vika_nezrimaya Do you have an authorization endpoint configured correctly?
# [Lewis_Cowles] oh this may be me conflating indieauth and indielogin 😊
# [Lewis_Cowles] yeah... my bad
# vika_nezrimaya ok I think I should run 'cause it's 20:39 in my TZ and I should be @ home probably
# vika_nezrimaya I'll try to reply once I come home
# [Lewis_Cowles] 👋
# vika_nezrimaya feel free to play with my app though, and !tell me if it works or if it doesnt
# vika_nezrimaya It worked for me when I tested it though, even fetching my h-card!
# [snarfed] at onmessage https://indiewebchat.glitch.me/bundle.js:6276
# [snarfed] also you may want to add a nice error message for non-indieauth-enabled sites, eg http://asdf.com . right now it just reloads the home page, no message
# [snarfed] (and sites that don't connect at all, eg http://asdf.bbb)
# jeremycherfas What is Bussator
# Loqi It looks like we don't have a page for "Bussator" yet. Would you like to create it? (Or just say "Bussator is ____", a sentence describing the term)
# jeremycherfas Bussator is a WSGI application which implements a webmention receiver. Webmentions can then
# jeremycherfas be published through dedicated plugins; currently, a plugin for publishing webmentions as Isso comments exists.
# jeremycherfas What is isso
# Loqi isso is a self-hosted commenting server similar to Disqus https://indieweb.org/isso
Ashraf_2 and [fluffy] joined the channel
[chrisbergr] joined the channel
# [fluffy] per the diagram on https://indieweb.org/AutoAuth - I need a tool for verifying the resource and token_endpoint actions
# sebsel hm, that would be as simple as `curl -H "Authentication: Bearer xxx" http://example.com`
# Loqi gimme a token is a helper to obtain an access token from your IndieAuth endpoint: https://gimme-a-token.5eb.nl/ https://indieweb.org/gimme_a_token
# [fluffy] like here is the sum total of what I’ve implemented IndieAuth-wise: https://github.com/PlaidWeb/Authl/blob/master/authl/handlers/indieauth.py
[schmarty] joined the channel
# Loqi It looks like we don't have a page for "what i thought you just asked" yet. Would you like to create it? (Or just say "what i thought you just asked is ____", a sentence describing the term)
# sebsel Does this help then? https://indieweb.org/token-endpoint#Verifying_an_Access_Token
# aaronpk the various wiki pages also show examples from the point of view of each component, e.g. https://indieweb.org/authorization-endpoint
# [fluffy] okay so my understanding is that the stuff I already implemented for Authl is what I need to do for the code verification here, too? https://github.com/PlaidWeb/Authl/blob/master/authl/handlers/indieauth.py#L139
# [fluffy] on the autoauth flow at https://indieweb.org/AutoAuth
circlesDiscord[m joined the channel
# [schmarty] fluffy++ excellent sleuthing 😄
# Loqi [fluffy-critter] Okay per conversation on Slack:
1. Token request comes from the user's auth endpoint to the token endpoint that we advertise. It is described in https://github.com/sknebel/AutoAuth/blob/master/AutoAuth.md#token-request
2. token endpoint verifies ...
SevenTwenty joined the channel
# [Lewis_Cowles] [fluffy] have you ever worked with VCR?
# [Lewis_Cowles] It has libraries for many languages
# [Lewis_Cowles] • https://github.com/php-vcr/php-vcr PHP
# [Lewis_Cowles] • https://github.com/vcr/vcr Ruby
# [Lewis_Cowles] • https://www.npmjs.com/package/node-vcr NodeJS
# [Lewis_Cowles] • https://readthedocs.org/projects/vcrpy/ Python
# [Lewis_Cowles] 😂 the Java fork is called Betamax
# [Lewis_Cowles] I love that so much
# [Lewis_Cowles] 👍 exit code zero ftw
ecrosstexas joined the channel
[KevinMarks] joined the channel
# [KevinMarks] Fragmentions always have a space
# [KevinMarks] If they don't, id takes precedence
# [KevinMarks] (some languages don't have spaces)
ecrosstexas joined the channel
# [tantek] [KevinMarks] it may be useful to define fragmentions behavior in terms of the existing Windows.find feature: https://developer.mozilla.org/en-US/docs/Web/API/Window/find
ecrosstexas and krychu joined the channel
ecrosstexas joined the channel
ecrosstexas joined the channel
ecrosstexas joined the channel
# [KevinMarks] Also id can't have ascii whitespace but could have unicode whitespace. AFAIK fragmentions treat unicode whitespace as ascii whitespace
# [KevinMarks] The formal spec in html5 came from looking at browser implementations for commonality
# [schmarty] haha
# [tantek] we need to progress & specify & fix this: https://github.com/microformats/microformats2-parsing/issues/3
# [fluffy] A few years ago I saw a TED talk where someone pronounced “Mandelbrot” as if it were a French name and I had a minor existential crisis because I thought I’d been saying it wrong all these years, but then I looked it up and found out, no, he was French-Polish and Mandelbrot is a Polish name, so I was probably mispronouncing it a different way.
# [KevinMarks] There used to be a nice mac keyboard called US Academic that extended the option-u [letter] model used for umlaut to all the other diureses
# [tantek] could folks using php-mf2 please turn on the flag for 'lang' attribute parsing in their consuming code and report back re: https://github.com/microformats/microformats2-parsing/issues/3#issuecomment-400498161 ?
# Loqi [gRegorLove] php-mf2 supports this behind a feature flag as of 0.3.2 https://github.com/indieweb/php-mf2/releases/tag/v0.3.2
microformat-shiv supports this as of 2.0 https://github.com/glennjones/microformat-shiv/issues/22
Still pending confirmation from a ...
ecrosstexas and [jgmac1106] joined the channel
# [Lewis_Cowles] tantek, HTML only copes after decode. In it's TCP packet form, I
# [Lewis_Cowles] am fairly certain it's all anglo-centric
# [Lewis_Cowles] 👍
# [Lewis_Cowles] JSON has an interop layer on an interop layer
# [Lewis_Cowles] hmm, interesting outlook
# [Lewis_Cowles] aren't most envelope formats guilty of the same?
# [Lewis_Cowles] be interested to see the solutions
[qubyte] joined the channel
# [tantek] already linked. https://github.com/microformats/microformats2-parsing/issues/3
gRegorLove joined the channel
# [Lewis_Cowles] trying to work out as lightweight as possible a fragmention / settings optional include
# [Lewis_Cowles] fragmention.js is a little heavyweight
# [Lewis_Cowles] and I'm not sure I want to force it on people
# [Lewis_Cowles] but if someone opts in to them, I can use a small script to include the feature
# [Lewis_Cowles] I avoided serviceworker right now for the same reason
# [Lewis_Cowles] I don't like forcing cruft upon people
# [Lewis_Cowles] not knocking anyone else efforts.
# [Lewis_Cowles] or approach
# [Lewis_Cowles] I wish my fav browser would come with polyfills for this sort of thing
[snarfed] joined the channel
# [Lewis_Cowles] [snarfed] 3k per-visit (assume I didn't setup caching or their client doesn't support)
# [Lewis_Cowles] I don't mind assuming a client will behave sanely, but I do think we're stretching a bit, ignoring aggregates
# [Lewis_Cowles] 3kb is about the size of a blog page
# [Lewis_Cowles] so relatively it's 3x the size of my SVG logo
# [Lewis_Cowles] 😉
# [Lewis_Cowles] maybe he means mobile twitter 😄
# [Lewis_Cowles] It's a wonderful goal
# [Lewis_Cowles] I've so far refused to implement webmention display
# [chrisbergr] [tantek] I hope you reach your goal. And I hope that you will write an article about how you did it 🙂
# [Lewis_Cowles] [tantek] that is the idea, although I've just pivoted to tiny JS which turns on by default
# [Lewis_Cowles] ❤
# [Lewis_Cowles] that is better
# [Lewis_Cowles] no need to check for cookies or localstorage then
# sebsel (it's worse: the 21kb for Vue is actually the Gzipped version. https://gist.github.com/Restuta/cda69e50a853aa64912d)
# [Lewis_Cowles] I may be lazy and just check for a hash
# [tantek] pulls out his URL reference https://tantek.com/2011/238/b1/many-ways-slice-url-name-pieces
# [Lewis_Cowles] as it's a 1-liner
# [Lewis_Cowles] ```javascript
# [Lewis_Cowles] return (href && href.split('#').length > 1 && href.indexOf('%20') > 0);
# [Lewis_Cowles] }
# [Lewis_Cowles] function usesFragmention(href) {
# [Lewis_Cowles] usesFragmention(window.location.href)
# [Lewis_Cowles] ```
# [Lewis_Cowles] I've been more ghetto
# [Lewis_Cowles] href.split
# [Lewis_Cowles] 😂 flashing the OG
# [chrisbergr] Oh dear, that comic is so true
# [Lewis_Cowles] and not scoping it 👀
# [Lewis_Cowles] I like that we had a similar idea, although yours forces double hash... maybe I should too
# [Lewis_Cowles] I do like the function so I can pretend I'll test it too
FreshcollegeGirl joined the channel
# [Lewis_Cowles] hmm site folder is a lot more than 3kb as every file has overhead of feature-detection (1kb on disc) + if fragmention is needed
# [Lewis_Cowles] We're talking bytes per-page (and I included it site-wide, which I'm not sure is right)
# [Lewis_Cowles] but it's a thing
FreshcollegeGirl joined the channel
# aaronpk doesn't really matter too much because nobody has built UX around handling the different responses differently, but https://tools.ietf.org/html/rfc6750#section-3.1
FreshcollegeGirl joined the channel
FreshcollegeGirl and [KevinMarks] joined the channel
# [KevinMarks] they could check if it still has a WWW-Authenticate: header
jjuran joined the channel
# [Lewis_Cowles] my blog loads so fast I had to add a setTimeout for the fragmentions to work
# [Lewis_Cowles] I checked the element was not null, and the document.readyState, but it would not scroll without a setTimeout, which I then had to debounce
bradleyallen joined the channel
# [Lewis_Cowles] One sucky thing is that it's not on by default, so people wanting to use should try adding #frag%20mention%20for%20quotes
[Bradley_Allen] and gRegorLove joined the channel
# KartikPrabhu [Lewis_Cowles]: that is surprising. I am sure I have fragmention.js on local pages
# [KevinMarks] you can keep it in separate file and defer it?
# [Lewis_Cowles] Oh it is in a separate file
# [Lewis_Cowles] I'm now proud to say that I made a link which is not visible without JS, which toggles loading for people visiting without a fragmention
# [Lewis_Cowles] I also removed the IE8 jazz
# [Lewis_Cowles] guarded adding the JS
[dougbeal] joined the channel
# [Lewis_Cowles] just added a descriptive title to let people know they need JS (because the button is there without JS, just not visible via CSS)