#dev 2021-01-09

2021-01-09 UTC
[tw2113_Slack_], [chrisaldrich] and [Emma_Humphries] joined the channel
#
@ChrisAldrich
↩️ Sometimes http://Brid.gy can miss tweets. Here I suspect it’s because of the https://t.co wrapping as well as searching the entirety of the stream for your URL since it was a direct reply to your original tweet. Ryan Barrett may have… https://boffosocko.com/?p=55785332
(twitter.com/_/status/1347724053143052289)
[fluffy], gRegorLove, [tw2113_Slack_], [schmarty], jacky, nickodd, dhanesh, strugee, petermolnar, [KevinMarks], schmudde, astrojl_matrix, Matt1, pmlnrbot, hoschi and [snarfed] joined the channel
#
@schnarfed
↩️ Thanks Chris! Bridgy actually handles https://t.co wrapping fine. Not easy to debug this one since it's half a year ago. It would be here or nearby though, and it's not: https://brid.gy/twitter/TheGreenGreek?responses_before=2020-06-18T06:17:45.397411#responses
(twitter.com/_/status/1347930582878019584)
#
@schnarfed
↩️ Sorry, just noticed that Chris retried it. Looking at Bridgy records, Bridgy did originally see it on 2020-06-17 23:17:44 UTC-7. I don't have more detailed logs from that far back, but maybe it hit a transient error discovering or sending to your webmention endpoint? Not sure.
(twitter.com/_/status/1347932658127437825)
KartikPrabhu and [jgmac1106] joined the channel
#
GWG
Weather backfill capability is available on my website. Time to update some old posts.
[chrisaldrich] joined the channel
#
Loqi
GWG has 25 karma in this channel over the last year (153 in all channels)
#
GWG
[chrisaldrich]: Going to backfill yours? I checked. I started storing mine in early 2018
#
[chrisaldrich]
I don't think I've got much with location recorded for long enough to make it worthwhile.
#
GWG
I did that move from Google to Compass so my site could query the data.
#
Loqi
[David Shanske] Checked into London Heathrow Airport (LHR).
#
KartikPrabhu
aaronpk: how do you store collection posts in your file-storage?
[jeremycherfas] joined the channel
#
KartikPrabhu
what is series
#
Loqi
series is a set of posts with an order defined by the author https://indieweb.org/series
#
aaronpk
the parent "collection" post has a property with the URL of all the posts in the collection
#
aaronpk
so the only thing stored is the URL
#
GWG
KartikPrabhu: I store it as a WordPress taxonomy and then use the archive page as the collection page
#
KartikPrabhu
so the posts themselves don't know if they are in some collection?
#
aaronpk
correct
#
aaronpk
i index that information in the database, but it's not stored in the post
#
KartikPrabhu
hmm intetresting. I wanted to have a "prev/next" on each post which links to the previous and next post in the collection
#
KartikPrabhu
I guess I want more of a /series than collection
#
aaronpk
yeah, i can do that once the indexing is in place
#
aaronpk
but i also wanted the collections to be easier to maintain on disk, so it made more sense to have only one place where the canonical ordering of the posts is stored
#
KartikPrabhu
yeah I agree with that
jamietanna, [tantek] and [schmarty] joined the channel; nickodd left the channel
#
GWG
Okay. Post from IWC MIT November 8, 2015 updated with location and weather.
#
[tantek]
GWG the 2016 IWC NYCs posts could use some weather data (weather was a bit extreme at both)
#
GWG
[tantek]: I don't think I posted from IWC that time.
#
GWG
I'll have to backfill.
#
GWG
But now, any time I set the post date currently, it will look up my location(back to 2013) and the weather, back to before I was born.
#
GWG
For example, here is the weather on a post I made in 2015, that I just updated. https://david.shanske.com/2015/11/11/finally-here/
#
GWG
But this post I created this month, and backdated it. https://david.shanske.com/2009/06/28/3690/
KartikPrabhu, [KevinMarks], [Raphael_Luckom] and [snarfed] joined the channel
#
[tantek]
Case insensitivity of parts of a path seems like something webmention receivers in general may want to handle explicitly, though again this may require keeping a solo-domains list
#
[tantek]
[snarfed] jamietanna
#
[tantek]
silo-domains* list
#
[snarfed]
oh yeah. i think this is mostly separate from general case [in]sensitivity in URL paths
#
[snarfed]
ah sure, i see what you mean, understood
#
[tantek]
Feels like it may be something to pay attention to for any webmentions you receive
#
[tantek]
Maybe there’s a rel canonical way to handle this
#
[tantek]
Rather than a list of domains
#
[snarfed]
i expect less of a problem since getting abnormal case in silo-provided URLs is rare, but people do change their username casing on Twitter
#
[snarfed]
(witness the six examples so far in bridgy https://github.com/snarfed/bridgy/issues/884 )
#
Loqi
[snarfed] #884 usernames should be case insensitive
#
[tantek]
Ugh yeah. Merging “authors” like that is hard in general
#
Loqi
[webjay] sgNodeMapper: "The Social Graph Node Mapper is a community project to build a portable library to map social networking sites' URLs to and from a new canonical form (sgn:// URLs)." The project was originally hosted on Google Code.
KartikPrabhu, swentel, [chrisaldrich] and [colinwalker] joined the channel
#
[colinwalker]
Hi all. Pretty sure I know the answer (and it’s no) but just wanted to double check. When parsing the mf2 in response to a webmention the first h-entry on the page will be taken right? For a post where the permalink is in the format url/#2 (a post doesn’t have a page of its own) is there any way of specifying the nth h-entry?
#
aaronpk
that's a kinda advanced thing for a webmention consumer to do but there is a way
#
[colinwalker]
hmmm go on
#
aaronpk
if the webmention source URL is also the fragment, and the u-url of that h-entry matches, then it's technically possible for a receiver to match it up
#
aaronpk
but like you said, some webmention consumers are probably just looking at the first h-entry on the page
#
[colinwalker]
It all matches. indiewebifyme only picks the first h-entry (i suppose that’s working according the spec)
#
aaronpk
indiewebify.me isn't testing webmention receiving tho
#
[colinwalker]
ah good point, just checking for a h-entry
#
[chrisaldrich]
If I'm not totally misreading it, wordpress allows sending/receiving Webmentions using fragments from comments sections like this, right?
#
[colinwalker]
This isn’t WordPress Chris, I’ve moved to my own custom cms
#
[chrisaldrich]
I saw that [colinwalker]. And congrats! Just wanted to provide the example, and where you might find relevant code examples. As well as sites to test against. :)
#
[colinwalker]
Ah cool. Thanks.
#
[colinwalker]
Can just send a test to one of the old posts that’s still on WordPress - getting myself confused 😉
#
[colinwalker]
All working.
#
[colinwalker]
Ignore me 😉 lol
#
[colinwalker]
While I’m here, any pointers towards creating a PHP webmention endpoint?
#
[chrisaldrich]
colin, if you look at the early versions of the WordPress webmention stuff I think they're all raw php before they were converted to support a more wordpress specific code base.
#
[chrisaldrich]
I think the Drupal implementation is all php for another example.
#
[chrisaldrich]
I don't remember which camp, but I'm pretty sure there are one or two camps that recorded sessions of aaronpk building a webmention endpoint in 45 minutes. 2018 Baltimore maybe?
#
aaronpk
I think those were sending webmentions
#
aaronpk
and I turned it into a blog post
#
aaronpk
Oh I've done a micropub endpoint too
#
[colinwalker]
I could just opt for webmention.io but building it would be better. I’ll have a look for the early webmention stuff. Cheers.
#
aaronpk
if you use my XRay library a lot of the parsing work is done for you already
#
aaronpk
tbh that's the hardest part anyway
#
swentel
oh that reminds me, still need to figure out whether there's a bug in granary or xray when there's a <script> tag in a post
#
aaronpk
oh interesting
#
swentel
might be tricky not to reproduce since it's an old tweet now
jdp joined the channel
#
aaronpk
should be easy enough to recreate
[Emma_Humphries] joined the channel
#
aaronpk
i'm not super thrilled about how much work it's gonna take me to migrate everything to php 8
#
aaronpk
and in the mean time more and more projects/libraries are dropping php 7.2 support too
leg joined the channel
#
swentel
hmm, I wonder if there aren't any plugins for phpstan that might help for easier migrating
#
aaronpk
it's more complicated than that
[tw2113_Slack_] joined the channel
#
aaronpk
i have to check all the libraries that each project uses, update to a version that supports php 8, then check for any backwards incompatible changes in the libraries
[Raphael_Luckom] joined the channel
#
lahacker
aaronpk curious why token verification uses an authorization header to convey the token while revocation uses form-urlencoding
#
aaronpk
because "token verification" isn't the right phrasing, it's actually using the token in that case
#
aaronpk
using the token to fetch data about the user, which like any time you're using the token it's provided in the header
#
lahacker
i can see that; then why not revoke with the same flow?
#
aaronpk
because revocation has the option of the client also including its own client authentication, which would be put in the header
#
aaronpk
(that's mainly an oauth thing cause we don't give credentials to indieauth clients)
#
lahacker
ah, ok that makes sense
#
lahacker
an access_token should only be returned when a scope is attached; should requesting a "profile"/"email" scope *only* trigger a token?
#
aaronpk
effectively there isn't really a difference because a token with no scope shouldn't be able to be used anywhere
#
lahacker
k
#
aaronpk
but right now the difference is whether the client makes the request with the authorization code to the token endpoint or authorization endpoint https://indieauth.spec.indieweb.org/#request
#
aaronpk
this is one of the last deviations from oauth and i'd like to eventually consolidate that one too
#
aaronpk
oh but also it says if only profile scopes are requested then no access token should be returned https://indieauth.spec.indieweb.org/#profile-url-response
#
lahacker
ah, right.. so which direction would you like to move? away from using the endpoint to distinguish the request?