#dev 2019-08-21

2019-08-21 UTC
[jgmac1106], [tantek], djmoch, jackjamieson, pfahlr, [Lewis_Cowles], [tonz], strugee, cweiske, [jeremycherfas], gxt and RainSlide joined the channel
#
jgmac1106
this is weird, why would I be getting a 403 error on my photos? I know the path is correct: https://jgregorymcverry.com/photos/2019-08-21/00000IMG_00000_BURST20190820174919431_COVER.jpg
[pfefferle] joined the channel
#
[pfefferle]
Perhaps a problems with the rights?
#
jgmac1106
they are my photos on my server and the first one loads…checking to see if my shared host has img file size limits but that makes no sense, just a stretch
#
jgmac1106
now I can click on them…who knows what happened
#
jgmac1106
pfefferle it was permissioning, somehow when I FTPd the photos the local permissions from my computer got copied, had to switch them
vika_nezrimaya, qotta, [prtksxna], [tantek], [kim_landwehr], gxt, pfahlr, [xavierroy], [schmarty], mapkyca_, voxpelli, [KevinMarks], Loqi and shrysr joined the channel
#
petermolnar
I finally got it: I sort of made a flickr-like layout with css flexbox only https://petermolnar.net/category/photo/index.html
#
petermolnar
it's not perfect
#
petermolnar
shrink is still not working the way I with it would
#
petermolnar
only kicks in at min 70em width
[Zegnat], qotta, [tantek], vika_nezrimaya, KartikPrabhu and [kim_landwehr] joined the channel
#
jgmac1106
ooh I might take a look, I was using gRegorLove’s CSS Grid layout this morning: http://jgregorymcverry.com/finalscramble.html
#
aaronpk
petermolnar: that doesn't have full-height photos which is the distinction with flickr's layout
#
aaronpk
matching height full width no crop is the thing they did that's tricky
[Lewis_Cowles] and [jeremycherfas] joined the channel
#
[Lewis_Cowles]
[aaronpk] they also have no `img` elements when I use document.querySelector I'm not sure it's fair to compare a JS only thing with a CSS+HTML thing
#
aaronpk
i wasn't talking about a particular implementation
#
aaronpk
i'm talking about how it looks on the screen
#
aaronpk
if you want an example of how to do it with img tags using JS only as the progressive enhancement to get that layout, check out my month archive pages https://aaronparecki.com/2019/03
#
[tantek]
anyone have any experience / opinion of perma.cc ?
#
ShokuninDiscord[
Sure am curious about that name!
#
ShokuninDiscord[
Looks like an archive.org / save as pdf on ipfs type of deal
#
[Lewis_Cowles]
[aaronpk]++
#
Loqi
[aaronpk] has 43 karma in this channel over the last year (191 in all channels)
#
[Lewis_Cowles]
That is a rather lovely layout. I just tinkered with the CSS in browser a little to force justification with just CSS too
#
[Lewis_Cowles]
progressively takes on the case for people with flexbox (sadly not as powerful as the JS)
#
aaronpk
interesting, can you show me what that looks like without JS?
#
jamietanna[m]
Should a Webmention client add a trailing `/` to a URL if it's the domain name, similar to how IndieAuth does it? Just tried to send a webmention via webmention.rocks to a friend's site, and it didn't add the `/`
#
jamietanna[m]
but wasn't sure if that was expected or not
#
aaronpk
jamietanna[m]: whatever you send as the target parameter has to exactly match the link that is on your website
#
aaronpk
so if your webpage links to https://example.com/ but you send target=https://example.com in the webmention, it's expected to fail
mapkyca_ and [fluffy] joined the channel
#
[fluffy]
Oh, hm, I think pushl might violate that spec. It looks at all links and urljoins them with the origin page, to resolve relative and protocol-unspecified links.
#
aaronpk
yeah the webmention spec is very specific about that
#
[fluffy]
How is protocol-unspecified supposed to be handled, anyway? like if I have `<a href="//example.com/somepage">` what should be sent and to where?
#
aaronpk
i wouldn't count on people's webmention endpoints supporting that, but in theory, it means you would send target=//example.com/somepage
#
aaronpk
of course you have to pick a protocol in order to make the request to find the webmention endpoint
#
jamietanna[m]
Gotcha, thanks!
#
[fluffy]
That seems like an edge case in webmention that needs to be addressed. I assume webmention.io wouldn’t support it, for example.
#
aaronpk
really? i feel like it's an edge case that we can ignore
#
aaronpk
what's the practical use of it?
#
[fluffy]
You’re browsing my site via http instead of https, maybe there’s a reason for it? I’d like to forward people via the same protocol if possible.
#
[fluffy]
Also there are a bunch of protocol wonks who care way more deeply about it than I do, and I have PTSD from handling some bug reports against FeedOnFeeds from one 😛
#
Loqi
[fluffy-critter] php-urljoin: A library function for joining a base URL and a target URL into a an absolute URL
#
[fluffy]
like there’s still a segment of the Internet population who cares about e.g. only including https resources from https pages, so if you have a page on http they’d rather do `<img src="//my-cdn.example.com/img/foo.jpg">`
#
[fluffy]
IDGI either but there are people who care.
#
[fluffy]
And forcing the whole Internet to https has access problems for some, because something something transparent caching proxies on low bandwidth shared connections
#
aaronpk
so technically, the spec as written supports this case just fine
#
aaronpk
it's a matter of figuring out whether peoples' webmention receivers accept a protocol-less URL as a "supported URL" of their site
#
[fluffy]
Okay, fair enough, it’s up to the sender to choose the protocol for resolving the endpoint with
#
[fluffy]
and up to the endpoint to honor `//` URLs
#
[fluffy]
Does it become a matter of submitting bug reports against endpoints that don’t honor `//` if this comes up?
#
[fluffy]
Because now I’m thinking of doing a link to `//aaronparecki.com` just to be a doofus about it 🙂
#
aaronpk
i think webmention.io might already support it, but give it a try :)
#
aaronpk
ruby's URI parser handles URI.parse '//example.com/foo' just fine, and that's step 1 of validating the webmention request
[prtksxna] joined the channel
#
[fluffy]
okay, http://beesbuzz.biz/blog/chatter/4201-Just-testing-something-on-webmention-io - I do know that pushl will (probably) send the webmention as going to `https://aaronparecki.com` which is a bug in pushl, but I’ll manually send a webmention via curl to see what happens.
ichoquo0Aigh9ie joined the channel
#
aaronpk
haha k
#
aaronpk
you should get back a status URL from webmention.io that should tell you some stuff too
#
Loqi
totally
AraratDiscord[m] joined the channel
#
[fluffy]
`{"error":"invalid_request","error_description":"source or target were invalid"}`
#
aaronpk
ah webmention.io actually checks for http or https schemes explicitly
#
[fluffy]
yeah I thought it might
#
aaronpk
probably to avoid trying to fetch via ftp or something lol
#
[fluffy]
well also it needs to know *a* scheme to fetch the target by, right?
#
[fluffy]
or is there a reason for it to fetch the target?
#
aaronpk
no, it doesn't fetch the target
#
[fluffy]
I thought it might validate that the endpoint is correct or something
#
aaronpk
webmention.io is pretty happy to accept almost any target URL
#
[fluffy]
but I guess that’s more difficult than useful
#
[tantek]
Wat no I don’t think we ever wanted to allow for protocol relative URLs in Webmention
#
[fluffy]
oh, on that note, what happens if it receives a webmention for a domain other than the one in the endpoint URL?
#
aaronpk
[tantek]: as target URLs not source URLs
#
[tantek]
No to that too
#
aaronpk
[fluffy]: there is no requirement that the endpoint URL domain matches the target domain
#
[tantek]
The spec doesn’t say how to resolve any relative URLs
#
aaronpk
[tantek]: my point is that the spec doesn't need to
#
[fluffy]
okay, so if a webmention to novembeat.com is delivered to the beesbuzz.biz endpoint, will it show up in my beesbuzz.biz mentions?
#
aaronpk
[fluffy]: that's up to your webmention receiver
#
[fluffy]
I’m referring specifically to webmention.io here, sorry for not being clear
#
aaronpk
webmention.io accepts pretty much any target URL (try it!), and the webmention will show up in the user's dashboard
#
aaronpk
most peoples' code goes and queries webmention.io for mentions of a specific URL or for their domain, so those webmentions will never be found by that code
#
[fluffy]
Right, but like, will it end up in the dashboard for the user specified in the endpoint URL?
#
aaronpk
yes it will
#
[fluffy]
well, sorta cool. I guess that’d be a means of spamming people.
#
aaronpk
that's so that you can use your one webmention.io account on a bunch of different websites
#
[fluffy]
like send a perfectly valid mention from spam site A to spam site B to appear in user C’s dashboard
#
[fluffy]
which might end up adding spam to a webhook or to the atom feed or whatever
#
aaronpk
sure, it's a particular weirdness of webmention.io that it works that way. i'll eventually add an option to reject those kinds of things if people don't want to support multiple domains
#
[fluffy]
ah cool
#
[fluffy]
It hasn’t been an issue yet and probably never will be (because niche) but still, good you’re thinking about it
#
aaronpk
web hooks are configured per domain, so it will only send matching ones via the web hook
#
[fluffy]
but I do subscribe to my dashboard’s atom feed
#
[fluffy]
so I’d get spam on my feed reader if someone were to do that (unlikely as it is), right?
#
aaronpk
yeah, well the particular kind of spam that is "unrelated but valid webmentions"
#
[fluffy]
so if I were to `curl -d source=http://beesbuzz.biz -d target=https://queer.party/@fluffy https://webmention.io/aaronpk/webmention` those links would show up in your dashboard and you’d presumably get grumpy at me (so I won’t do that)
#
Loqi
fluffy
#
aaronpk
but i don't look at the dashboard other than to delete stuff occasionally
#
aaronpk
so i probably wouldn't notice :)
#
[fluffy]
’k. But if it were to some user who subscribes to their feed to see what needs tidying up, they’d get the spam.
#
aaronpk
[tantek]: take a look at the web page [fluffy] linked -- https://beesbuzz.biz/blog/chatter/4201-Just-testing-something-on-webmention-io -- it's a perfectly valid `<a>` link with a protocol-relative URL in it. as long as the webmention target parameter matches that exactly, I don't see any reason I should reject that webmention. it just means my website has to be able to recognize that
#
aaronpk
"//aaronparecki.com/" is one of its URLs
#
aaronpk
that sounds right
#
[fluffy]
I assume you didn’t delete that manually in the 10 seconds between me sending it and me testing that link 🙂
#
aaronpk
what that's supposed to mean is that your page used to link to the target and now the link wasn't found, so the mention has been deleted
#
[fluffy]
oh, weird
#
[fluffy]
I mean, interpretation-wise
#
[fluffy]
like there’s no “used to” but for simplicity of implementation it makes sense
Bads3ctorDiscord joined the channel
#
[fluffy]
like that at least unifies handling of 410'ed sources and disappeared links and whatnot
#
aaronpk
i _thought_ it would only do that if it previously recorded that source URL
#
aaronpk
otherwise it should just error out
#
[fluffy]
hmm, the only previous thing that should have gone to that would have been Pushl on the initial webmention to the resolved rather than actual link.
#
[fluffy]
I’ll check the Pushl logs to see what happened there
#
[fluffy]
It didn’t get an error, presumably it just got the same queued response as before (but I don’t log the response text on success)
#
aaronpk
yeah the error would be on that status page
#
aaronpk
"no link found" or something
#
[fluffy]
yeah I don’t have any logs of the status page, oh well
#
[fluffy]
Maybe I should log those.
#
[fluffy]
I mean I *do* but they go into the debug log level and I only store the info level on my site.
#
[fluffy]
I guess it’d probably be useful to store them at info level since that’s probably a thing people would want to go back and check.
ichoquo0Aigh9ie joined the channel
#
[tantek]
I doubt there’s any interop on that. Since the spec doesn’t allow for relative URLs (by default URLs are absolute), and there are no tests
#
[tantek]
Sounds like an enhancement request -> gh issue
#
[tantek]
And mention existing receiving impl wm io
#
[fluffy]
okay well anyway I fixed Pushl to comply with the spec. Which also fixes some other things anyway. https://github.com/PlaidWeb/Pushl/commit/da5900e88bd61ff0002a336dfa05e04fd05b122e
#
[fluffy]
like previously it’d chase 301s and send the webmention to the final target URL, which is of course impossible to verify
#
[fluffy]
or at least inconvenient to verify
#
[fluffy]
This now means that if an entry gets relocated, though, the source page needs to update the link too.
#
[fluffy]
Which was what I was hoping to avoid by chasing the 301 in the first plac
#
[fluffy]
What is the intent for handling that case, anyway? Are people supposed to just, like, look at their webmention logs and get a notification that a link has changed?
#
[fluffy]
I could certainly add that functionality to Pushl although it seems fiddly.
#
[fluffy]
Like, having the endpoint itself know about URL redirections was a big part of what I was considering in http://beesbuzz.biz/blog/6982-My-webmention-endpoint-wish-list
#
[fluffy]
I guess the way I wrote that puts the onus on the endpoint to chase redirections from the target URL
#
[fluffy]
which doesn’t require modifying the webmention spec at all. yay, past me for actually thinking about this stuff.
#
[fluffy]
(narrator voice: she didn’t)
KartikPrabhu1 joined the channel
ichoquo0Aigh9ie joined the channel
#
[fluffy]
neat, now `pushl -arvc cache https://beesbuzz.biz/feed` is showing me all sorts of outdated links that can be trivially updated 🙂
#
[fluffy]
okay question about webmention which I’m sure I know the answer to but I’d like to verify: if there’s an anchor/fragment in the HREF, that should *not* be part of the target, right? like `<a href="http://example.com/foo.html#blah">` the target should be http://example.com/foo.html right?
#
aaronpk
https://www.w3.org/TR/webmention/#request-verification "Note that a target URL may contain a fragment identifier..." and "The source document must have an exact match of the target URL provided in order for it to be considered a valid Webmention"
#
aaronpk
always always the target parameter in the webmention request body must match exactly the string that is in the source document
#
[fluffy]
Ooh yeah I just saw that, so no I shouldn’t filter the fragment out for the target the.
#
aaronpk
that is to make it as easy as possible on receivers, so that they don't have to do any normalization guesswork
#
[fluffy]
Thanks aaronpk++
#
Loqi
aaronpk has 44 karma in this channel over the last year (192 in all channels)
#
[fluffy]
So I just want to strip the fragment when I check for a redirection, not when I send the actual mention.
#
aaronpk
right, the fragment isn't sent in an HTTP request, just like the protocol isn't sent in an HTTP request
[schmarty] joined the channel
#
[schmarty]
`GET /somepath HTTP/1.1` ;}
jeremycherfas joined the channel
#
[fluffy]
(Nitpick: the scheme is sent if it’s via a proxy server)
KartikPrabhu, jjuran, [jgmac1106], [asuh], [anomalily] and [KevinMarks] joined the channel
#
[KevinMarks]
The target you can use the fragment to know where on the page you mentioned (especially with a fragmention)
#
[fluffy]
Oh, interesting.
#
[fluffy]
I didn’t know that was a thing but of course nothing in webmention prevents it from being one.
#
[tantek]
what are fragmentions?
#
Loqi
A fragmention is an extension to URL syntax that links and cites a phrase within a document by using a URL fragment consisting of the phrase itself, including whitespace https://indieweb.org/fragmentions
#
[tantek]
what is marginalia?
#
Loqi
Marginalia are responses to parts of a post, rather than posts as a whole; they are typically published (on another site) with a fragmention link to the specific part (like a paragraph), notified via Webmention, and displayed on the post adjacent to the referenced part (like sidebar comments next to paragraphs) https://indieweb.org/marginalia
#
[tantek]
If the word "annotation" gets you excited, definitely check those out
#
[fluffy]
oh I figured those would be mentions to a named section or something
#
[fluffy]
like <section id=“furthermore”> being mentioned as example.com/blahblah#furthermore
#
[tantek]
hard to name all the things anyone might possibly want to annotate
#
KartikPrabhu
they can be. but fragmentions extends fragments to allow for any text
#
[fluffy]
I’ve never seen the ## notation used anywhere, is that common?
#
KartikPrabhu
no I think that was made-up to distinguish fragmentions from fragments
#
KartikPrabhu
but a single "#" is now also used in fragmentions
#
KartikPrabhu
so if you get "[...]#thing" then first look for a named fragment else find the corresponding text as a fragmention
#
[fluffy]
I wonder how hard it’d be to support that in webmention.js 🙂
#
[tantek]
KartikPrabhu any chance of updating the docs accordingly for that?
#
[fluffy]
I guess that depends on whether webmention.io preserves the fragment.
#
KartikPrabhu
[tantek]: wait is that not in the fragmention page?
mapkyca_ and [timothy_chamber joined the channel
#
[KevinMarks]
I thought we had updated to remove ##
#
KartikPrabhu
yeah it is updated. But I don't think it says that one should first find a fragment and then fall back to words
#
[fluffy]
webmention.io does in fact preserve the fragment, yay
#
KartikPrabhu
I think that is how fragmention.js behaves
#
[fluffy]
which means webmention.js could support fragmentions
#
[KevinMarks]
It is AFAIK yes.
#
[fluffy]
ooh where is fragmention.js?
#
[fluffy]
ah found it
#
[KevinMarks]
I think we moved it into an indieweb repo, though it was originally elsewhere.
#
[fluffy]
so it’s a polyfill to add fragmention anchors to the page load stuff, not a thing for displaying fragmentions themselves. Makes sense.
#
[KevinMarks]
Yes, the best display work is in /marginalia
#
KartikPrabhu
wow! that's 5 years old already!!
#
[fluffy]
yeah I’m already referencing your implementation in https://github.com/PlaidWeb/webmention.js/issues/4 🙂
#
Loqi
[fluffy-critter] #4 Support fragmentions
#
[fluffy]
hm, your marginalia article isn’t fully loading on safari
#
[fluffy]
works in chrome though
#
KartikPrabhu
hmmm interesting
#
[fluffy]
The DOM is parsing but something’s suppressing its display
#
[fluffy]
oh, but if I resize the window it appears
#
[fluffy]
…very slowly
#
[fluffy]
speeds up when I close the developer console though
#
[fluffy]
still slow 🙂 but at least it’s less slow
#
KartikPrabhu
Safari might not like my CSS grid
#
KartikPrabhu
I think Chrome also has that behaviour sometimes
#
[fluffy]
Safari’s usually good at CSS grids. Do you have any JS that triggers to swap out stylesheets or something?
#
KartikPrabhu
no. The JS does the marginalia display nothing else
#
[fluffy]
I get an awful lot of 404s in my dev console for a bunch of googleusercontent.com things but that seems to be for embedded tweets
#
KartikPrabhu
probably twitter avatars.
#
[fluffy]
yeah that’s what it looks like
ichoquo0Aigh9ie joined the channel
#
[KevinMarks]
I get problems with twitter avatars too, I think they redirect weirdly
doorknob888762[m joined the channel
#
[tantek]
kevinmarks, the fact that [fluffy] found ## so quickly means it's definitely not "removed" from the docs
#
[fluffy]
I like the idea of ## to disambiguate text search from the classical meaning of tagged fragment.
#
[fluffy]
Letting # work with text content as a fallback is nice but it’s good to not have to worry so much about a text phrase being turned into an actual fragment anchor later on.
#
[tantek]
wow I had no idea OStatus was also boat-anchoring Atom
#
[tantek]
that's pretty messed up
#
[fluffy]
other way around, OStatus is Atom-based, and Mastodon dropping OStatus is why they dropped Atom
#
[tantek]
no that's what I mean by boat-anchoring
#
[tantek]
dropping Ostatus is the equivalent of dropping the anchor and thus stalling (or sinking) Atom
#
[fluffy]
I thoguht you meant OSTatus folks were throwing it overboard 🙂
#
[tantek]
hah I hadn't heard that version
#
[fluffy]
I mean the idiom makes no sense either way so
#
[fluffy]
In a literal interpretation I mean
#
[fluffy]
but yeah when I complain about mastodon being all-in on activitypub I don’t mean that they should have done indieweb stuff *instead*, just that I wish they weren’t targeting activitypub exclusively
#
[fluffy]
activitypub makes sense for the sorts of things mastodon is trying to do, and it was a shorter path for them to get to a semblance of post privacy
#
[tantek]
the "exclusively" part is weird
#
[tantek]
exclusive (as opposed to inclusive) behaviors like that tend to imply there is some sort of dogma going on
#
[fluffy]
From my perspective there is.
#
[tantek]
I mean I take your word for it
#
[fluffy]
I mean, on the part of mastodevs
#
[tantek]
well if there's any documented evidence of that I'd be interested in seeing it
#
[fluffy]
and a bunch of other projects have used mastodon as a rationale for going all-in on apub too
#
[tantek]
but they're not just apub, they need at least webfinger don't they?
#
[fluffy]
just like, chatter on mastodon itself, like when I chat with devs about how I wish mastodon still had atom they say things like “activitypub is the future”
#
[tantek]
like there's plenty that apub doesn't handle
#
[fluffy]
yeah it’s webfinger + apub
#
[tantek]
and nothing else?
#
[fluffy]
as far as I know, yeah
#
[tantek]
would rather keep hope that there's still an opportunity to get incremental addition of more building blocks
#
aaronpk
by "exclusively activitypub" it's activitypub plus a bunch of stuff mastodon did to make it functional
#
KartikPrabhu
I thought JSON was the FUTURE!!!!
#
[tantek]
so does that mean they've also rejected all the SemWeb stuff too? LDN, FOAF, etc.?
#
[fluffy]
As far as I can tell that’s not even on their radar
#
[fluffy]
although I don’t know what LDN means in this context
#
[tantek]
it was a competing method for federation / notifications
#
[tantek]
what is LDN
#
Loqi
Linked Data Notifications (AKA LDN) is a W3C Recommendation developed in the Social Web Working Group to send RDF-based messages between clients and servers or between two servers, as well as how clients can retrieve these messages for reuse https://indieweb.org/LDN
#
[fluffy]
I never saw FOAF get any adoption outside of the early blogosphere although I’d love evidence to the contrary
gRegorLove joined the channel
#
[tantek]
it's the SemWeb fork/reinvention of vCard so it'll keep showing up e.g. in TimBL's SOLID
#
[KevinMarks]
It's annoying that they threw out the good bits of OStatus and kept the useless part
#
[KevinMarks]
Maybe we should have just bought Blaine's grandma a domain.
#
[tantek]
[fluffy] are there such things as "Mastodon plugins"? E.g. could you write some sort of extension that adds Micropub support to Mastodon?
#
[tantek]
that seems like a good reason all on its own to setup a separate masto server that then supports tons more clients posting to it
#
[tantek]
if it were a plugin / extension or even a fairly well contained set of patches, it might be the kind of thing that other masto servers would adopt (because it directly helps their users)
#
[fluffy]
I haven’t ever administered a mastodon plugin but the impression I get is that for adding custom functionality like that people just keep on forking forever
#
[fluffy]
Darius Kazemi would be a better person to ask.
#
[fluffy]
er, I haven’t administered a mastodon instance, rather.
#
[fluffy]
All my interactions with mastodon development has been vicarious through chatting with folks at meetups and on Mastodon itself
#
[fluffy]
and occasionally trying to interop with it and getting stymied
#
[tantek]
I still need to make my rel canonical links always link to the https
#
[tantek]
maybe I'll do that at our HWC SF informal quiet writing half hour starting at 17:00 which I just made up
#
Loqi
[heff] x-playlist: A simple web component custom element for playing through a list of video or audio elements
#
[fluffy]
I haven’t, but now I want to
#
[fluffy]
I’ve been using jPlayer for that sort of thing