#dev 2020-05-27
2020-05-27 UTC
# [chrisaldrich] With so many wanting it and thinking about it maybe we should brainstorm a session on this functionality at /2020/West?
# [chrisaldrich] To my knowledge it isn't something offered previously by any silos either is it?
# [chrisaldrich] snarfed++ for always having well documented feature requests at his fingertips...
gRegorLove, [chrisaldrich] and supernovah joined the channel
# jacky interesting bit from css-tricks https://css-tricks.com/a-guide-to-the-responsive-images-syntax-in-html/
[schmarty], nickodd, [tw2113], [LewisCowles], [snarfed] and KartikPrabhu joined the channel
# [LewisCowles] [snarfed] I can't find the granary user-agent, do you have it recorded anywhere or do I have to search my server logs?
# [LewisCowles] hmm nothing saying granary in any case, just `"python-requests/2.23.0`
# gRegorLove sounds like a bug that it's listing your homepage as an alternate, too
nickodd left the channel
# [LewisCowles] TBH this is the most grumpy old man thing I've done. It's not just the homepage thing, It's the lack of creative control. I explicitly chose not to offer atom
# [LewisCowles] the block is simple. For now it just detects (case-insensitive) python in the user agent and blocks it.
swentel joined the channel
# @ChrisAldrich I've seen some using @hypothes_is as a blog commenting system. Since they don't have Webmention support or require programming for notifications, I'm highlighting this as a simple/elegant user interface for notifications [more...]
#annotations #RSS
https://boffosocko.com/2020/05/26/55771462/ (twitter.com/_/status/1265525715790856195)
cweiske joined the channel
# gRegorLove what breaks?
# [LewisCowles] can you just patch the u-url value?
# [LewisCowles] feels like a (relatively) straightforward string replacement.
# [LewisCowles] Oh, I might misunderstand When you said
# [LewisCowles] > I'm working on logic to resolve incoming webmentions and I have to add a case where the root `u-url` doesn't match the URL of the incoming content
# [LewisCowles] You were running a proxy script to get the HTML of page, in which case you could alter before returning
# gRegorLove doesn't one of bridy's author URLs have a u-uid too?
# gRegorLove checks, haven't looked at bridgy html in a while
# gRegorLove not the h-card.u-uid
# gRegorLove I was thinking a u-url that also had u-uid
# gRegorLove Have an example bridgy link? I can't seem to find one of mine with two authors
# gRegorLove ah, gotcha. hm
# gRegorLove I was just thinking something similar. I think my code is currently just using the first u-url
# gRegorLove ahh. yeah, multiple URLs could be good so you could have them on an allowlist
# gRegorLove all mf2 properties can be multi-valued, though some like uid I think would be rare to see multiples (?)
# dansup bruh, remember when pleroma had that date bug that wouldn't federate posts until the 10th of each month?
# dansup I released IG Import for Pixelfed, being able to edit the import is a lot of work and I hope to ship it before the weekend
dckc, moppy, jmac_, kitt_, swentel, jamietanna[m] and fredcy_ joined the channel
# Zegnat Any TravisCI wizards out there who could shine some light on why it may have different test results than me locally? Or otherwise may have a way to try and reproduce the TravisCI environment locally? https://github.com/microformats/php-mf2/pull/163#issuecomment-634511073
[tantek] joined the channel
# [LewisCowles] The other side can be caching behaviour(s), failures in setup, or flaky tests, but it seems like cweiske answer is specific to this repo
# [LewisCowles] https://travis-ci.org/github/microformats/php-mf2/jobs/691642994 is incredibly strange to read. Some but not all whitespace has been stripped from the inside, not the outside... I'm noticing the rabbit hole, and moving on from it. Let the rabbits live
# [LewisCowles] It's a non-trivial PR to read through. Mind if I pull it and run it?
# [LewisCowles] At least if it fails on my machine I have more visibility than travis. Otherwise publishing artifacts can help dig in to CI related issues.
# [LewisCowles] I've had systems where transfer changed encoding for some reason, and that broke CI & deploy. Most of the time, my approach is to try it on another machine, then a vm. Try to write down what I know is different. Occasionally I'll make ritualistic rules, like "don't use centos, it's creators have done something to screw with ssh"
# [LewisCowles] passes for me on 20.04 focal fossa too. I did run `composer install` instead of `composer update`. Could that be the issue?
djmoch_ joined the channel
[LewisCowles] joined the channel
# [LewisCowles] ah. You actually need the dependency tree for 5.4. If you think about it, it makes sense
# [LewisCowles] well the lowest version
# [LewisCowles] that has tripped me up before. Lowest common denominator, not highest is the one I lock using, in-order to support the widest number of runtimes I wish to support.
# [LewisCowles] did you know you are building within `trusty` on travis. It's fairly old. I had some odd travis issues the other day with OS version
# [LewisCowles] I'll setup a VM and see if trusty could be a factor
# [LewisCowles] it is most odd
# [LewisCowles] have you pushed more builds since?
djmoch joined the channel
[KevinMarks] joined the channel
# [KevinMarks] https://piccalil.li/blog/cube-css/ interesting approach
# [LewisCowles] I was checked out in zegnat branch
# [LewisCowles] although I think I'm seeing many less than 317 tests
# [LewisCowles] are you having to pass arguments to vendor/bin/phpunit to get 399 tests?
# [LewisCowles] it was working for me with and without
# [LewisCowles] but I do also run install instead of update
# [LewisCowles] also update worked (but I've only tried it after running install)
# [LewisCowles] the change is
# [LewisCowles] dist: bionic
# [LewisCowles] os: linux
# [LewisCowles] in the main indented part, to check
# [LewisCowles] To be honest, it might be rewarding finding out if older ubuntu's are broken for some reason though
# [LewisCowles] I'm on trusty installing 5.6.40 now via phpenv, which the travis says it is using. It's an "experience"
# [LewisCowles] I'll be honest. PHP env seems like a PoS
# [LewisCowles] I do get failures under trusty, but I think that might be as I'm on 5.6
# [LewisCowles] I'll tell it to build 7.4 and see if that helps it pass
# [LewisCowles] It's the exact same failure as travis-ci
# [LewisCowles] I am wondering if your composer.json updates were only good for 7.3+
# [LewisCowles] which does not explain why it failed on 7.3 and 7.4
[jgmac1106] joined the channel
# [LewisCowles] I installed using virtualbox (manual). Probably should have used vagrant
# [LewisCowles] 7.3 and 7.4 are refusing to install
# [LewisCowles] so 7.2 will be the next
# [LewisCowles] It's likely that however they got 7.3 & 7.4 in trusty, it's unclean
# [LewisCowles] it could be that phpenv is the issue
# [LewisCowles] phpenv is not php
# [LewisCowles] it's some nasty hack-work
# [LewisCowles] to allow multiple non-isolated runtimes
# [LewisCowles] I was not using phpenv on 20.04 in my 7.4 test
# [LewisCowles] could be
# [LewisCowles] although I'm only seeing whitespace differences
# [LewisCowles] are you using the XML lib to serialise whitespace?
# [KevinMarks] Different xml parsers were a pain in python too
# [LewisCowles] I managed to break many tests by using
# [LewisCowles] ```$doc->preserveWhiteSpace = false;
# [LewisCowles] $doc->formatOutput = true;```
# [LewisCowles] it's not weird when you think about it if they are using fundamentally different revisions
# [LewisCowles] yeah I've kept it open while we spelunk
# [LewisCowles] hmm that didn't change anything. Wait a second.
# [LewisCowles] seems to have no effect which order they are put in
# [LewisCowles] just their values
# [LewisCowles] in-fact the more failures earlier may be that I used the wrong variable name lol
# [LewisCowles] I'm exporting an ovf/ova which will be at https://www.lewiscowles.co.uk/trusty-vm.ova in about 10 minutes (after export and upload)
# [LewisCowles] anyone that wants to play along can. AFAIK there are no secrets although the VM is a little large because I installed desktop Ubuntu instead of server ubuntu
# [LewisCowles] oh the root password is password btw
cweiske joined the channel
[itsjustk] joined the channel
# [KevinMarks] architecture astronomy << https://twitter.com/paulca/status/1265407453753217024?s=20
# @paulca We have a squeaky bathroom door, so I thought we need to oil it. Then I realised there are a few other doors in the house that need oiled. Then I thought "wouldn't it be cool if I could pour oil down one pipe and oil all the doors at once" That's how software engineers think. (twitter.com/_/status/1265407453753217024)
# Loqi ok, I added "https://twitter.com/paulca/status/1265407453753217024?s=20" to the "See Also" section of /architecture_astronomy https://indieweb.org/wiki/index.php?diff=70081&oldid=65830
[schmarty] joined the channel
# [schmarty] looks like netlify added a couple of features that might open up some more indieweb building blocks
# [schmarty] they added a build plugin system that can (for example) help you cache files https://www.netlify.com/blog/2020/05/27/netlify-build-plugins-are-here/
# [schmarty] (seems like it might be usable for example to pull in link previews for reply contexts, cache mentions stored in webmention.io so you don't hit webmention.io on every build, etc.)
# [schmarty] they also added "edge handlers" which basically seem like any old function you like. they say it can be used for auth (hellooo IndieAuth?) but maybe also Micropub, your own webmention handling, more? https://www.netlify.com/blog/2020/05/27/introducing-edge-handlers-in-preview/?utm_campaign=Introducing+Build+Plugins&utm_content=Introducing+Build+Plugins&utm_medium=email_action&utm_source=customer.io
# [schmarty] agh crud missed those utms on sec.
# [schmarty] utm--
flex14 joined the channel
# [LewisCowles] utm--
# [LewisCowles] os: linux
# [LewisCowles] dist: bionic
# [LewisCowles] done some shopping. Zegnat, we know the exact behaviour that is telling the tests to fail. It's the solution. TBH, I'm partially happy it was the backport / trusty thing. It's 3 LTS releases ago, so I think just attempting to bump to xenial or bionic using
# [LewisCowles] should do the trick. That comes above where the PHP versions are defined in the travis.yml.
# [LewisCowles] What I'll do is fork your branch, make the change and point it at travis this side
dckc and [jgmac1106] joined the channel
# [LewisCowles] I'm cool with that. I believe the issue may not be trusty, but rather phpenv
# [LewisCowles] It refuses to build 5.6 or 7.0 for bionic, and still exhibits the shady failure of whitespace
# [LewisCowles] Reason:
# [LewisCowles] two ways I can think of to fix, are to fix up fixtures (not ideal), or to look deeper into why PHP is behaving differently. There will be a flag somewhere
[tantek] joined the channel
# [LewisCowles] I'm moving sideways [Zegnat] to test using OpenBSD distro maintained PHP. If that works, Then I'll try phpenv on it, and if it fails, I'll point the blame stick there
# [LewisCowles] Slightly an excuse to try out openBSD 6.7
gxt__ joined the channel
# [LewisCowles] it works on openBSD distro maintained PHP, now to try to get phpenv on that and see how badly it breaks
# [LewisCowles] coincidentally, this is why I refuse to use CentOS. They seem to have problems debian does not have. In this case it seems travis-CI choice is causing issues. I might also try some docker images I maintain
# [LewisCowles] some systems go poking into PHP upstream source and they should not. That is what contributing upstream is for
KartikPrabhu and flex14 joined the channel
# [LewisCowles] the composer.json and composer.lock edits should go for supporting php < 7.1
# [LewisCowles] 5.6 consistently needs to be told to update composer.lock in order to install, otherwise complaining about php5.6
# [LewisCowles] cd2team/docker-php:5.6 fails with the same error as phpenv
# [LewisCowles] which means php official docker is likely to as well
# [LewisCowles] It's all whitespace which is so frustrating
# [LewisCowles] could the fixtures be part of the problem?
gRegorLove and nickodd joined the channel
# [LewisCowles] the VM might be the easiest way to play
# [LewisCowles] it is larger at 3gb vs <200mb
# [LewisCowles] but it has an ide within it
# [LewisCowles] I checked in so many areas before getting on GitHub and mouthing off at phpenv. Lucky too as it seems although most environments don't share their issue, at least one, based on official PHP is failing
# [LewisCowles] They aren't random though. The behaviour is consistent amongst those errant environments
# [LewisCowles] 😉 the docker has xdebug, but you'd have to port bind to access from your PC
# [LewisCowles] Zegnat, interactivity
# [LewisCowles] I wish there was a tool to diff PHP ini internal representations
# [LewisCowles] If I find out this is some obscure ini option I'll be glad to know, but upset
# [LewisCowles] One of the failures is not HTML by the way Zegnat
# [LewisCowles] that was why I asked about fixtures
# [LewisCowles] ```- 0 => 'John Doe Jr.'
# [LewisCowles] + 0 => 'John DoeJr.'```
[KevinMarks] joined the channel
# Zegnat The line behind that test is pretty weird HTML, so I am wondering if it is not the exact same issue of the XML parser clearing up whitespace, [LewisCowles]: https://github.com/microformats/tests/blob/bef8e1bf7c8a930613f6f6c23a472f49dff8405c/tests/microformats-v2/h-card/impliedname.html#L23
nickodd left the channel
# gRegorLove Zegnat, maybe we could try installing a specific libxml2 version on trusty? https://docs.travis-ci.com/user/installing-dependencies
# [LewisCowles] So, even when I removed all string replacement hacks, and ensured all alt text should come out with a space, there was no space for the dude name that gets mangled
# gRegorLove Makes sense, Zegnat
[Paulo_Pinto] and [Murray] joined the channel
[KevinMarks]1 joined the channel
# Zegnat Can confirm that this gives 2 different results: https://gist.github.com/Zegnat/a94489e9b7d5501193e724e336bc6052
# gRegorLove So weird
[KevinMarks] joined the channel
# [KevinMarks] Some difference in utf8?
# gRegorLove > "gives 2 different results" you mean in different PHP versions?
# gRegorLove or that saveHTML doesn't preserve the whitespace?
[tw2113] joined the channel
# gRegorLove ahh
# gRegorLove Gotcha. Unfortunately I'm out of my depth here so no suggestions :/
# [KevinMarks] Are there line ending assumptions somewhere in config?
# [KevinMarks] If you're using \n and it wants \n\r
# Zegnat Enough headaches for today. But can confirm it is the initial HTML parse that is wrong. Added a check to the gist: https://gist.github.com/Zegnat/a94489e9b7d5501193e724e336bc6052
# gRegorLove I also get false, PHP 7.2.30
# gRegorLove FastCGI, on dreamhost (my site)
# gRegorLove preserveWhitespace didn't make a difference, though it's supposed to be true by default anyway
# gRegorLove It keeps the \n after </li> but not the others, hm
# gRegorLove I'll dig into this further see if I can figure it out for DH at least
# gRegorLove Hehe
# gRegorLove Zegnat++ thanks for digging into this!
# gRegorLove [LewisCowles]++ too
# gRegorLove My env is PHP version: 7.2.30 | libxml version: 2.9.4
# gRegorLove So loadHTML is adding implied html, and body elements. If I use `loadHTML('html', LIBXML_HTML_NOIMPLIED)` it preserves whitespace and I get true for Zegnat's gist above
# gRegorLove you're supposed to be asleep
[tantek] joined the channel
# gRegorLove (shouldn't have tagged, sorry, haha)
# gRegorLove May be worth using flag LIBXML_HTML_NODEFDTD as well, https://www.php.net/manual/en/libxml.constants.php
# [KevinMarks] You need to be careful with no implied, as it still expects a containing root node, so can go wrong if you pass it a fragment without an xml node on the outside.
# gRegorLove Good point
# gRegorLove Tested this utf-8 issue from the comments, too. It converted to HTML entities https://www.php.net/manual/en/domdocument.loadhtml.php#118834
[benatwork] joined the channel
# @mrkrndvs ↩️ What if we posted comments to other spaces from our own sites utilising the power of #webmentions? Both keeping a record of our conversations, as well as owning our opinions.
#pcpopup2020 (twitter.com/_/status/1265773579762712576)
[LewisCowles] joined the channel
# [LewisCowles] Zegnat, some of those docker containers are ubuntu
# [LewisCowles] apologies, I've been napping
# [LewisCowles] apt-get update -yqq && apt-get install nano / vim (etc)
# [LewisCowles] you can also volume-mount. It should have all the PHP tooling you need (but extensions may need to be activated)
# [LewisCowles] gRegorLove that didn't work for me
[snarfed] joined the channel
# [LewisCowles] I provided the ubuntu VM to have the desktop friendliness to click through
# [LewisCowles] YES cracked it
# [LewisCowles] gRegorLove, your link to the flags works, but I find that frustrating that it works as it means some PHP compilations are having default flags, others are not getting
# [LewisCowles] `LIBXML_NOENT | LIBXML_NOXMLDECL | LIBXML_PARSEHUGE` fix it for me, but it might be that it's one of them, so I now need to test it with variations of
# [LewisCowles] the first and last affect parsing, the middle affects saving
# [LewisCowles] before I went for a nap I was realising how many test cases there were while stepping through in a debugger
# [LewisCowles] and it works for me if it's just LIBXML_PARSEHUGE
# [LewisCowles] sea of green on travis. I do now feel the need to know how some PHP, of the same version, compile with that on implicitly and others need it specified
# [LewisCowles] php--
# [LewisCowles] I'm furious
# [KevinMarks] Is it getting OS defaults from the C libxml2?
# gRegorLove The utf-8 issue is worth looking into but it's kind of an aside
# gRegorLove I didn't find docs for any php.ini settings for libxml so I'm guessing it might be OS level
# [LewisCowles] well the OS we're (mostly) experiencing this on is ubuntu
# [LewisCowles] and the packaged PHP works
# [LewisCowles] so if it is that KevinMarks, they've documented it somewhere
# [LewisCowles] and it's not made it's way upstream.
# [LewisCowles] ah, I did check BSD, which behaved the same as Ubuntu.
# [LewisCowles] Ubuntu built-in, not ubuntu compiled.