#microformats 2018-03-04

2018-03-04 UTC
#
Zegnat
Ah alright. Was just wondering if it was only used for traversing, which hrml5lib might have been able to just handle itself.
#
[kevinmarks]
Html5lib always feels like you're arguing with java programmers somehow
#
sknebel
if the <br/> thing isn't trivial to fix I'd not bother with it. more useful things to fix/make IMHO
#
KartikPrabhu
sknebel: yes. I was trying to see if it is trivial
#
KartikPrabhu
does not seem like it
#
[kevinmarks]
BeautifulSoup is a bit like jquery, in that it's been fighting this battle a long time, and it has scars, but it learned a lot about tactics along the way.
#
Zegnat
Well I'm off for bed. Have a good on all! Thanks for the whitespace thoughts!
#
sknebel
good night
#
Loqi
see you in the morning!
[eddie] joined the channel
#
KartikPrabhu
why does php mf2 insert spaces for e-* value when removing closing tags? http://pin13.net/mf2/?id=20180304010305799
#
KartikPrabhu
gRegorLove: ^
#
KartikPrabhu
aaronpk: you definitely don't expect that ^^ right?
#
KartikPrabhu
not critical just asking so I can change the tests in mf2py
#
aaronpk
what am I looking at in particular?
#
aaronpk
the leading spaces before the <p>?
#
KartikPrabhu
e-content value has extra spaces before the "\r\n"
#
aaronpk
oh the e-content? I was on the fence about that
#
aaronpk
on one hand the leading newlines before the <p> are in the authored HTML
#
KartikPrabhu
it only seems to happen when the closing tag is rremoved not the opening one
#
KartikPrabhu
no not leading spaces. Spaces are inserted in the middle see between </p>\r\n in content[html] and the corresponding text in content[value]
#
aaronpk
those are also in the HTML though
#
aaronpk
they should be removed from the plaintext content tho
#
aaronpk
i'll add this example to my new tests
#
aaronpk
this is very hard to describe in words :)
#
KartikPrabhu
hmmm to be more clear "<p>Blah.</p>\r\n" get turned into "Blah. \r\n" notice space where "</p>" was but no space where "<p>" was
#
KartikPrabhu
sorry for the blah-wall not my tests :P
#
aaronpk
oh I didn't catch that
#
KartikPrabhu
that is definitely incorrect right?
#
aaronpk
yeah I would think the </p> should turn into a newline without adding spaces before it
#
KartikPrabhu
in any case, leading "\n" expectations would also be nice
#
KartikPrabhu
mf2py and phpmf2 both get rid of those
#
aaronpk
I believe the mf2 spec says to get rid of them
#
KartikPrabhu
yes it does
#
aaronpk
which is definitely changing the authored HTML, but I think I like the result
#
KartikPrabhu
yeah, for value I think it is good since it is preserved in html
#
aaronpk
oh, interesting question... should <p>One</p><p>Two</p> turn into One\n\nTwo in order to preserve the normal double line break you'd see with paragraph spacing?
#
KartikPrabhu
yeah unknown
#
KartikPrabhu
right now mf2py only does "OneTwo"
#
KartikPrabhu
it is tricky to take into account "visual styling"
#
aaronpk
yes but I feel like "paragraph break" has a specific meaning
#
KartikPrabhu
yeah possibly
#
KartikPrabhu
but not in current spec at least so this goes with the whole <br> stuff
#
aaronpk
okay well i'll add a test for just the one newline then
#
aaronpk
only Go got it right
#
KartikPrabhu
wait why id mf2py not doing it?
#
aaronpk
mf2py kept the leading and trailing newlines
#
KartikPrabhu
oh yeah 1.0.5 version
#
KartikPrabhu
mine should not do that
#
aaronpk
looks the same
#
KartikPrabhu
yeah it works as expected the value is only "Hello World"
#
aaronpk
I was talking about the HTML output
#
KartikPrabhu
oh yeah no stripping is done in HTML for now
#
KartikPrabhu
since that isn't specified in the spec
#
aaronpk
oh I thought that was, just the leading and trailing
#
Loqi
[Tantek Çelik] microformats2 parsing specification
#
aaronpk
html: the innerHTML of the element by using the HTML spec: Serializing HTML Fragments algorithm, with leading/trailing whitespace removed
#
KartikPrabhu
aaha ok good
#
KartikPrabhu
will need to fix that then
#
KartikPrabhu
aaronpk++ for writing whitespace tests
#
Loqi
aaronpk has 13 karma in this channel (1576 overall)
apb and chrisaldrich joined the channel
#
apb
aaronpk++
#
Loqi
aaronpk has 14 karma in this channel (1577 overall)
#
apb
tee hee
KartikPrabhu, ben_thatmustbeme, [eddie] and tantek joined the channel
tantek, Kyle-K and [kevinmarks] joined the channel
#
[kevinmarks]
Aaronpk++
#
Loqi
tests has 1 karma in this channel (15 overall)
#
Loqi
aaronpk has 15 karma in this channel (1578 overall)
nitot and barpthewire joined the channel
#
Zegnat
re parahraph breaks: innerText does 2 LFs for P elements
barpthewire and [gerwitz] joined the channel
#
aaronpk
is eager to get the new implied parsing rules into the php parser
#
Zegnat
If you agree with the output of my test page, I am happy to write that up as formal rules, aaronpk!
#
Zegnat
(And may also be able to file a PR on the PHP parser today with that exact same implementation...)
#
aaronpk
checking
#
KartikPrabhu
wait are these whitespace rules already being written into parsers?
[kevinmarks] joined the channel
#
aaronpk
looks like it passes all my checks!
#
[kevinmarks]
There is already variation.
#
aaronpk
oh hey look what I did a while ago https://github.com/indieweb/php-mf2/pull/139
#
Loqi
[aaronpk] #139 trim whitespace from HTML value as well
#
KartikPrabhu
goes to do that in mf2py
#
[kevinmarks]
That's why it would be good to have programming language independent tests integrated into the parsers
#
aaronpk
[kevinmarks]: you keep saying that but unless someone actually does it it wont happen
#
aaronpk
in the mean time we can at least write tests that can be run manually
#
[kevinmarks]
I did it with python before, but doing it with a github subproject was seen as bad and got removed.
#
KartikPrabhu
aaronpk: e-*[html] parsing refers to some serialisation algo that I don't understand. since you are in tests writing mode do you want to write a small one for that?
#
[kevinmarks]
Now they're in the same organisation it may be easier, but I want advice on good practice.
#
KartikPrabhu
now that I know how the current mf2py tests work I am updating them with the code
#
KartikPrabhu
sknebel++ for help
#
Loqi
sknebel has 7 karma in this channel (88 overall)
#
[kevinmarks]
The original multi parser testing site was very cool, but apparently hard to maintain.
#
[kevinmarks]
https://github.com/microformats/mf2py/blob/master/test/test_suite.py was what looked for the test suite subproject and ran them all.
#
[kevinmarks]
We could change that so the path it searches is adjacent to the mf2py root and check out both projects.
[miklb] joined the channel
#
[kevinmarks]
I'll have a look at that later on (I'm currently planting trees)
#
KartikPrabhu
yay! mf2py also strips leading/trialing space from e-*[html] now!
#
Loqi
😄
#
[kevinmarks]
Excellent.
#
Zegnat
I still do not know what a good set-up for tests would be in the first place. We have https://github.com/microformats/tests but I find that really confusing.
#
Loqi
[microformats] tests: Microformats test suite
#
Zegnat
Why are the tests broken up per root class? Why do we have tests for root classes that do not even have pages on the wiki?
#
Zegnat
KartikPrabhu, the new whitespace idea isn’t in any parser yet, but there is https://wiki.zegnat.net/media/textparsing.html if you want to test some HTML blobs (like aaronpk’s tests)
#
KartikPrabhu
I was just checking if there is any consensus on those or intention to implement
barpthewire joined the channel
#
Zegnat
There is at least intent to write it up as formal rules for implementation on my part ;) But I am packing for my trip to the Netherlands and only at the keys intermittently right now
#
KartikPrabhu
Zegnat: no rush of course. Enjoy the trip instead :P
#
Zegnat
It is not really an enjoyable trip to start with, so I much rather work on mf parsing
#
KartikPrabhu
oh ok then :)
#
sknebel
I'm not a fan of the structure of the tests repo either. and apparently nobody feels responsible for merging PRs into it
#
Zegnat
I think nobody feels responsible for the tests because non of the parsers test against it?
#
sknebel
JS does in principle
j12t_ joined the channel
#
aaronpk
what about the test repo is confusing?
#
KartikPrabhu
if the test repo is confusing then would be good to start filing issues against it
#
sknebel
the structure per microformat does not help me with "where do I put a whitespace test" or "where do I look for a testcase for implied photo", which is the reasons I'd look at it
#
aaronpk
I think it's organized pretty well, and a file for each input and output is a nice generic way of having the data
#
Zegnat
Oh yes, I am not against the input and output files
#
aaronpk
ah yeah, that made more sense for mf1 where the vocabs had different parsing rules
#
aaronpk
with mf2 that is much less important than parser features now
#
aaronpk
i'd say we make new folders in v2 for feature-level tests like "implied-properties" or "whitespace"
#
KartikPrabhu
mf2py tests are more organised by "what we want to do" https://github.com/microformats/mf2py/tree/master/test/examples
#
KartikPrabhu
they don't have the 2 files thing though
#
aaronpk
KartikPrabhu: where are the expected results from those tests? just in the test code itself?
#
KartikPrabhu
yeah those are hard-coded into python testing which is pretty awkward
#
[kevinmarks]
A new folder for each test kind makes sense to me.
#
aaronpk
ah yeah
#
[kevinmarks]
Especially as that shows evolution of parser thinking
#
KartikPrabhu
I would rather have the 2 files thing
#
[kevinmarks]
Yes, I agree
#
sknebel
the node parser has a script to convert the files from the test repo to test code
#
KartikPrabhu
ok if I now send a PR to the mf2py main repo who's in charge of that?
#
Zegnat
[kevinmarks], per test kind isn’t the problem, it is currently a folder per root class, which doesn’t make much sense for mf2 imho
#
aaronpk
years ago gRegorLove merged the test suite into the php repo
#
[kevinmarks]
We can keep the folders per class for mf1 backcompat
#
[kevinmarks]
And adds new folders as we add new tests
#
[kevinmarks]
So a whitespace folder would make sense
#
aaronpk
yeah there's no need to touch any of the existing mf2 tests, those are fine
#
aaronpk
but adding new folders for features seems reasonable to me
#
[kevinmarks]
Well, we'll need to update them as we change whitespace interpretation
#
aaronpk
I suspect the other reason noone has stepped up to do this yet is because it'll require a massive audit of all the existing tests
#
[kevinmarks]
And if we change the implied name rules
#
aaronpk
I know the php parser fails some of them but because the test data is wrong
#
KartikPrabhu
maybe also a "experimental" folder for tests like "stopping the implied name parsing" for things that are not in spec yet?
#
[kevinmarks]
The structure helps with that
#
KartikPrabhu
aaronpk: yeah some of the tests are wrong
#
aaronpk
[kevinmarks]: it'll always require changing other test files if things like implied name rules change because the file-per-test means each test is testing the entire output not just the one vocab/feature thing
#
sknebel
would help with stuff like that, if I get a promise that the PRs won't lay around for 10 months
#
KartikPrabhu
sknebel++
#
KartikPrabhu
what's the recommended way to send PRs when there are many commits?
#
KartikPrabhu
squash them?
#
aaronpk
depends on the repo. i'ma fan of more individual commits
#
sknebel
as long as they make sense, keep them
#
[kevinmarks]
Are there lurking PRs on the tests?
#
KartikPrabhu
ok so who manages microformats/mf2py now?
#
aaronpk
oh I don't have write access to microformats/tests either
#
Zegnat
Who are on the mf org anyway? Surely not only the three listed? https://github.com/orgs/microformats/people
#
KartikPrabhu
Zegnat: apparently members are private by default
tantek joined the channel
#
sknebel
KartikPrabhu: good question. happy to help, but same as you not really a clue about PyPi releases etc, so I guess we'd need tommorris for access to that and someone with more experience (snarfed?) to help
#
KartikPrabhu
sknebel: yeah that would be great, I really don't want to be admin on this alone because if I step away for a bit mf2py might start lagging again
#
Zegnat
I think I have seen projects who list active maintainers in the README. That might be an idea to do for parsers under the org?
#
[kevinmarks]
I was apparently a private owner of microformats. Now public.
#
[kevinmarks]
I can approve PRs to tests and mf2py
#
[kevinmarks]
there are a bunch of other private members
#
KartikPrabhu
[kevinmarks]: do you want individual commits or one squashed one for new version 1.0.6
#
[kevinmarks]
aaron, kartik woudl you liek to be in the org?
#
Zegnat
Do all those people have writing rights to all the repos? Sounds a bit weird to have "a bunch of other private members"
#
KartikPrabhu
i don't think everyone has write acces
#
KartikPrabhu
yeah I can't change issue labels on mf2py even though I'm a member
#
aaronpk
gRegorLove: I sent a PR to your PR :P https://github.com/gRegorLove/php-mf2/pull/1
#
Loqi
[aaronpk] #1 synchronizes with master and adds a test for #134
#
aaronpk
github notifications are the worst
#
aaronpk
why can't I see a web page with a list of all the things they send me emails about
#
KartikPrabhu
because that is in your email client :P
#
KartikPrabhu
but I agree would be good to have github notifications in github
#
aaronpk
I keep expecting their "notifications" page to match all the *notifications* they email me about
#
tantek
aaronpk github.com/notifications ?
#
[kevinmarks]
tnatek and I are owners along with Frances and some others who are private (not sure why - I didn't know i was private)
#
[kevinmarks]
OK, I remembered how to do this.
#
Phae
Private where? Github? I didn't know you could be a private contributor.
#
[kevinmarks]
I suspect they may have changed things a lot since we set this up - owners was a group, it's now a role and so on
[cleverdevil] joined the channel
#
Loqi
[aaronpk] #141 parse u- and p- from link tags
#
KartikPrabhu
weird that phpmf2 is in "indieweb" but mf2py is in "microformats" :P
#
[kevinmarks]
Hi Frances BTW - sorry if I pinged you accidentally
#
Phae
S'all good!
#
[kevinmarks]
that was ambiguous- you're publicly an owner - others are private
#
Phae
Ah, ok.
#
[kevinmarks]
have a look at that and see if it makes sense, if so I can push it up to mf2py
tantek joined the channel
#
KartikPrabhu
[kevinmarks]: most tests will fail though since the test suite has incorrect daata
#
[kevinmarks]
if that directory isn't there, it doesn't find any, and so just runs the explicit one
#
[kevinmarks]
I know, this is my way of making myself fix the test suite
#
KartikPrabhu
[kevinmarks]: will take a look
#
Loqi
[kartikprabhu] #88 many bug fixes
#
KartikPrabhu
has no idea what this travis CI stuff is
#
aaronpk
travis runs the tests automatically
#
aaronpk
it's really convenient. you can go click in and see which tests failed too https://travis-ci.org/microformats/mf2py/jobs/348970028
#
aaronpk
it's nice because it'll run it on a bunch of different versions of the language for yo
#
KartikPrabhu
weird, none of the tests failed on my machine
#
[kevinmarks]
it's dying on the exclude I just mentioned
#
KartikPrabhu
[kevinmarks]: I don't understand
#
KartikPrabhu
oh maybe requirements also need to be updated with what I am using
#
[kevinmarks]
https://travis-ci.org/microformats/mf2py/jobs/348970029: The command "nosetests --exclude=test_suite" exited with 1.
#
[kevinmarks]
oh wait, that isn't the exclude failing, it's the tests
#
KartikPrabhu
yeah all tests work with my system. but I have updated libs in my venv
#
KartikPrabhu
wait will close that PR and resend with updated reqs
#
KartikPrabhu
<sigh> why is Flask required!
#
KartikPrabhu
ok https://github.com/microformats/mf2py/pull/89 if tests fail here then I don't know! :P
#
Loqi
[kartikprabhu] #89 v1.0.6 many bug fixes
#
[kevinmarks]
reads diffs while CI runs
#
KartikPrabhu
the tests are working in python 2.7 but not others!
#
aaronpk
travis++
#
Loqi
travis has 1 karma in this channel (-2 overall)
#
KartikPrabhu
python 3 fails on things I didn't even change!
#
KartikPrabhu
what is this!!
#
aaronpk
you changed some dependencies tho right?
#
KartikPrabhu
yeah but it is failing on something else entirely
#
KartikPrabhu
some change between python2.7 and python3
#
KartikPrabhu
which should have failed in existing code
#
[kevinmarks]
some lib incomaptibility? The 2.6 fail is no html5lib
#
KartikPrabhu
aah yeah there it is using html.parser
#
KartikPrabhu
I don't think we should care about python2.6 anymore
#
[kevinmarks]
dom_helpers.py has an explicit check for python 3
#
[kevinmarks]
which doesn't define basestring
#
KartikPrabhu
yeah but that stuff was already there and I never changed it. if you know how to fix it feel free [kevinmarks]
#
Zegnat
waits for KartikPrabhu to just start from scratch :P
#
KartikPrabhu
Zegnat: lol
#
aaronpk
puts down the mf2 hammer for the day
#
Loqi
[Zegnat] #23 Should the spec define what JSON it expects?
[jeremycherfas] and KartikPrabhu joined the channel
#
KartikPrabhu
so has mf2py been just broken in python3 all this time!?
#
[kevinmarks]
looks like you deleted the basestring = str line by accident
#
[kevinmarks]
which is how you make 3 happy
#
KartikPrabhu
oh yeah woops!
#
KartikPrabhu
KartikPrabhu--
#
Loqi
KartikPrabhu: You can't karma yourself!
#
KartikPrabhu
thanks Loqi
#
Loqi
you're welcome, KartikPrabhu
#
Loqi
ci has 1 karma
#
aaronpk
and this is why we have tests! 🎉
#
KartikPrabhu
[kevinmarks]: should I fix it or are you on it?
#
[kevinmarks]
add it to your PR
#
KartikPrabhu
how does one add to a PR without making anew one?
#
[kevinmarks]
then the CI will be happy
#
aaronpk
push to the same branch the PR is from
#
aaronpk
in your case the master branch on your fork
#
KartikPrabhu
oh an that works?
#
aaronpk
yeah it'll just add that new commit to the PR
#
KartikPrabhu
oh yeah it did!
#
aaronpk
and then it re-runs the tests too
#
KartikPrabhu
oh hey this is nice :)
#
KartikPrabhu
didn't know this :P
#
KartikPrabhu
oh hey all pass except python2.6 which I think we should ignore
[eddie] joined the channel
#
[kevinmarks]
is 2.6 unable to run html5lib?
#
KartikPrabhu
i think so
#
[kevinmarks]
what happens if it tries lxml instead of html_parser ?
#
KartikPrabhu
it doesn't
#
KartikPrabhu
because currently mf2py preference is html5lib > lxml > html.parser
#
KartikPrabhu
so it goes directly to the bad one
#
KartikPrabhu
i think we should recommend using 2.7 or higher
#
KartikPrabhu
html_parser is basically garbage
#
[kevinmarks]
right, so could your fallback try lxml before default
#
[kevinmarks]
in the except: FeatureNotFound case ?
[miklb] joined the channel
#
KartikPrabhu
[kevinmarks]: that will try lxml first because BS pref is lxml > html5lib > html_parser
#
KartikPrabhu
so it already is doing that
#
KartikPrabhu
the CI tests don't have lxml installed I am guessing since it is not a requirement
#
[kevinmarks]
hm. I thought html5lib worked better with lxml too, but maybe I'm mixed up
#
[kevinmarks]
looks like html5lib 1.0.1 explictly drops 2.6 support
#
KartikPrabhu
it does work better, but BS defaults to lxml first for speed things
#
KartikPrabhu
we should too
#
KartikPrabhu
I mean even 2.7 is going to phased out in a few months
#
Loqi
[gsnedders] #330 Drop Python 2.6 support
#
[kevinmarks]
I'm not sure why dropping support si a feature
#
Loqi
agreed.
#
[kevinmarks]
this feels likw breaking things for the sake of it https://github.com/html5lib/html5lib-python/pull/356/files
#
[kevinmarks]
anyway, it's not your fault, so I'll take it
#
[kevinmarks]
we shoudl probably add more python versions
#
sknebel
who has access to the travis settings? does that follow repo admins?
#
KartikPrabhu
this probably is some setting in the code right?
#
sknebel
oh, right. the python versions are set in the .travis.yml
#
[kevinmarks]
the only other change that makes me a bit nervous is copy vs deepcopy - does the struct you're modifying not have references?
#
KartikPrabhu
[kevinmarks]: it does have references but we don't need them at that point
#
KartikPrabhu
also BS4 added explicit support for the copy method on Tags
#
KartikPrabhu
[kevinmarks]: should I add more python versions in travis.yml? and remove 2.6 ?
#
[kevinmarks]
that sounds like a sensible separate change
#
KartikPrabhu
so new PR?
#
KartikPrabhu
how do I find a list of python versions? :P
#
[kevinmarks]
I just merged your PR
#
KartikPrabhu
yeah saw that! thanks
#
KartikPrabhu
I guess add all python versions up to 3.6?
#
[kevinmarks]
Seems reasonable
#
KartikPrabhu
done sent PR travis is travising
#
sknebel
KartikPrabhu++
#
Loqi
kartikprabhu has 11 karma in this channel (174 overall)
#
aaronpk
KartikPrabhu++ woohoo
#
Loqi
kartikprabhu has 12 karma in this channel (175 overall)
#
Loqi
yay!
tantek joined the channel
#
[kevinmarks]
I still think that deliberately breaking html5lib on python 2.6 is bloody minded
#
KartikPrabhu
yeah I don't like it but we either have to use older html5lib or go directly to html.parser
#
gRegorLove
aaronpk, I don't think I understand pull requests well enough to understand PRs to PRs (hashtag gitception)
#
gRegorLove
Was my PR on an older commit? Do I need to rebase my PR?
#
KartikPrabhu
is gitconfused
tantek joined the channel
#
KartikPrabhu
[kevinmarks]: do you know how to push 1.0.6 to pypi?
#
tantek
it sounds like the "plain text" treatment of properties is something that can 1. be improved, 2. has concrete use-cases for being improved, 3. has specific proposals for being improved, 4. has (has had?) implementations that do a better job, including with some of those proposals
#
tantek
is that an accurate summary?
#
tantek
implementations = mf2 parsers
#
tantek
is still reading logs
#
KartikPrabhu
tantek: I don't think mf2py does anything other than what is in the current spec so no new proposals
#
tantek
!tell aaronpk re: https://chat.indieweb.org/microformats/2018-03-03/1520091808431400 browsers do not agree on text that is copied, so much so that it is one of the underspecified areas of HTML
#
Loqi
Ok, I'll tell them that when I see them next
#
Loqi
[aaronpk] well I still maintain that the plaintext version should match what you get when you copypaste from the browser and paste into a plaintext document
#
[kevinmarks]
Last time we looked there were proposals for converging it
#
Zegnat
There is a note in the whatwg spec to use innerHTML for the string value of a selection. But I think they needed to update it for ranges.
[snarfed] joined the channel
#
Zegnat
tantek, sounds about right. Both the JS and PHP parsers have something that is not textContent that they (optionally?) use for plain text values. This got implemented because of people filing issues against the parsers, as in practice textContent didn’t match their expected output. But it was never brought up as a problem against the spec. It has now been filed as https://github.com/microformats/microformats2-parsing/issues/15
#
Loqi
[Zegnat] #15 What should mf2 textContent parsing result in? User expectation vs. DOM specification.
#
Zegnat
Although yesterday’s discussion for a proposal based on text cases hasn’t been added to the issue yet
#
tantek
do we need multiple issues?
#
gRegorLove
!tell aaronpk merged https://github.com/gRegorLove/php-mf2/pull/1 and looks like it's automatically updated my PR to indieweb/php-mf2. Let me know if I need to do anything else.
#
Loqi
Ok, I'll tell them that when I see them next
#
Loqi
[aaronpk] #1 synchronizes with master and adds a test for #134
#
tantek
or is the goal ot iterate on this one issue?
#
Zegnat
I think the goal is to iterate. I am going to write up my test implementation (based on aaronpk’s tests) now and put it up as a proposal in that issue
#
Zegnat
Unless you see multiple issues here? I think this is specifically about replacing textContent for plain text values with something that gives (subjectively) better plain text versions.
#
tantek
is caught up on #microformats logs
#
Zegnat
Ooh, I didn’t see aaronpk had added two more tests to his whitespace thing!
#
Loqi
aaronpk: tantek left you a message 21 minutes ago: re: https://chat.indieweb.org/microformats/2018-03-03/1520091808431400 browsers do not agree on text that is copied, so much so that it is one of the underspecified areas of HTML
#
Loqi
aaronpk: gRegorLove left you a message 11 minutes ago: merged https://github.com/gRegorLove/php-mf2/pull/1 and looks like it's automatically updated my PR to indieweb/php-mf2. Let me know if I need to do anything else.
#
aaronpk
gRegorLove: yeah if you merge my PR to your PR then it updates your branch which updates your PR
#
KartikPrabhu
that still sounds gitconfusing
#
aaronpk
it's not that bad :)
#
gRegorLove
Mostly gitmagic, thankfully. Just clicked a couple buttons.
#
gRegorLove
Woo, down to 7 open issues on php-mf2.
#
Loqi
[tantek] #6 reduce instances when p-name is implied
#
gRegorLove
I've got it about halfway done.
#
gRegorLove
We should figure out when we want to release a new version
#
aaronpk
i'd love to switch to a new version once that #6 is done
#
aaronpk
everything is gonna look a loooot better in Monocle after that
#
KartikPrabhu
wait you guys are already releasing the new implied-name rules even though they are not in the spec?
#
aaronpk
until it's in the spec we'll launch it behind a feature flag like a few other features are
#
aaronpk
I forgot that the experimental language parsing is already in there behind a flag actually haha
#
Loqi
nice
#
KartikPrabhu
hmmm maybe mf2py should do that?
#
gRegorLove
I thought consensus + one proof of implementation was enough to update the spec. https://github.com/microformats/microformats2-parsing/issues/6#issuecomment-355632808
#
Loqi
[tantek] Restating for clarity, and adding children as another way to stop implying p-name "p-name MUST NOT be implied if there are any explicit p-* properties or any nested microformats" Need consensus positive feedback from parser developers and one p...
#
aaronpk
that too
#
KartikPrabhu
yes, but it hasn't been updated
#
gRegorLove
Right, we don't have the one implementation.
#
aaronpk
I thought python has it now
#
KartikPrabhu
we do I put it in mf2py experimental version a whole while ago
#
tantek
wait I thought we had consensus on the implied p-name changes
#
tantek
which means it can be launched *without* a feature flag
#
KartikPrabhu
tantek: we do but it hasn't "officially" made it into the spec yet
#
tantek
in fact that's one of the steps towards getting the spec changed
#
KartikPrabhu
tantek: wait actually launch the experimental spec change into production!?
#
Loqi
[Tantek Çelik] microformats2 parsing specification
#
tantek
KartikPrabhu: yes there is nothing blocking that
#
aaronpk
implementation behind a feature flag would also count for that
#
tantek
it's not actually required per se, but it is up to the implementer, and not discouraged
#
KartikPrabhu
hmm that is weird since it might confuse people when they read the spec and see the output
#
tantek
KartikPrabhu: typically there is fairly quick turnaround between such a launch and editing the spec
#
tantek
last two steps in that change control I linked to
#
tantek
last 2-3 steps
#
KartikPrabhu
anyway, I much prefer that mf2py launch this as normal feature when the spec gets updated
#
tantek
who's the owner of mf2py?
#
aaronpk
that is my inclination as well
#
KartikPrabhu
now microformats
#
aaronpk
I intend to use the new feature as soon as it's available though
#
tantek
that's the org. each parser still has its own owners
#
tantek
so who is the owner of mf2py
#
KartikPrabhu
I have no idea how to find owners on github
#
tantek
KartikPrabhu: you're answering bureaucratically and I'm asking in practice :)
#
KartikPrabhu
well it just got moved and [kevinmarks] helped merge changes so [kevinmarks]?
#
tantek
we should have at least two owners per
#
aaronpk
it's more of a question of who is the "product owner" rather than anything having to do with github permissions
#
Loqi
yea!
#
tantek
that can verify / accept pull requests etc.
#
tantek
right
#
KartikPrabhu
aaronpk: right, not sure about that part yet
#
tantek
what does the mf2py readme say?
#
aaronpk
that's the closest I can find
#
KartikPrabhu
particularly, to release it into pypi wild
#
tantek
hah ok I'm nominating Kevinmarks and KartikPrabhu as co-owners of mf2py
#
KartikPrabhu
ok coowner is fine with me
#
KartikPrabhu
I suppose we are the only 2 authors who are currently active
#
tantek
Kevinmarks, perhaps submit a pull request for the README accordingly? and see if you can get kylewm to review it? (I'm guessing he may respond to a GitHub notification :) )
#
tantek
and keep Kylewm as a co-owner too since he's helped drive it
#
KartikPrabhu
[kevinmarks]: ^^
#
tantek
whereas tommorris has explicitly asked to step back
#
KartikPrabhu
best to figure this out along with releasing to package index
#
KartikPrabhu
in any case, if I am co-owner or something how does that help with changing the spec for implied name :P
#
tantek
KartikPrabhu: see change control where it refers to "implementers" :)
#
KartikPrabhu
oh boy! you guys really want to make my weekends busy don't you!
vivus joined the channel
#
Zegnat
KartikPrabhu, not really, you just turn on implied name parsing and then yell at me if you do not want to fix the spec ;)
#
KartikPrabhu
ha! Zegnat this is me YELLING AT YOU
#
KartikPrabhu
apparently we have CONSENSUS!
#
gRegorLove
aaronpk: Done merges on indieweb/php-mf2 master? If so I'll branch off that for parsing issue 6.
#
aaronpk
gRegorLove: yep! no more pending PRs
#
gRegorLove
KartikPrabhu: Is this SPARTA?!
#
aaronpk
this is consensus!
#
aaronpk
come on Loqi
#
gRegorLove
Loqi, do you concur?
#
KartikPrabhu
no, THIS IS MICROFORMATS! <kicks gRegorLove down a rabbithole>
#
KartikPrabhu
we might need a #microformats-chat ;)
#
zegnat
edited /microformats2-parsing (+89) "/* parsing for implied properties */ Add further limitations to implying a name value per https://github.com/microformats/microformats2-parsing/issues/6"
(view diff)
#
Zegnat
KartikPrabhu, ^^^
#
Zegnat
Now launch that Python update, no going back! :P
#
KartikPrabhu
Zegnat: dang! alright will PR that to actual repo this evening
#
Zegnat
wishes he could close issues on microformats/microformats2-parsing instead of just opening them
#
Zegnat
Can someone close https://github.com/microformats/microformats2-parsing/issues/6 as resolved and put into spec?
#
Loqi
[tantek] #6 reduce instances when p-name is implied
#
KartikPrabhu
Zegnat: maybe leave a comment that it has been put into spec
#
Zegnat
Shall do
#
aaronpk
bonus points if you link to the wiki diff
#
Zegnat
I linked to the revision instead of the diff
#
Zegnat
Should I go edit my comment now? XD
#
Zegnat
There is a diff link on that page for people to click 👀
[manton], tantek and [kevinmarks] joined the channel
#
[kevinmarks]
2 implementations agreeing on the changes is a good way to change the spec.
#
[kevinmarks]
If we can get the tests repository to agree too that's even better
#
tantek
[kevinmarks]: that's not quite what the change control says
#
tantek
see implementers (people) vs parsers (implementations, code)
#
tantek
all we really need is 2 implementers (people) agreeing (intend to implement), and only one implementation (code) which proves implementability
#
tantek
that's enough to change the spec
[eddie] joined the channel
#
tantek
(and no implementers objecting)
#
[kevinmarks]
How many implementations to change the tests?
#
tantek
tests should be updated when the spec is updated for sure, perhaps sooner to help with implementing the changes
#
[kevinmarks]
Ok. I'll have a chew through the tests
#
[kevinmarks]
There is a backlog of issues and PRs there too
#
tantek
as in, we don't have to update the tests to make a spec change (it's a nice to have), but once the spec does change, we must update the tests
#
tantek
[kevinmarks]: perhaps ping glennjones before you get too far
#
tantek
I know he had particular process for working through / updating the tests and I don't know if he ever externalized that process
#
tantek
which I believe affects the automated testing of microformatsnode
tomwolf joined the channel
#
gRegorLove
Hm, weird. I ran composer install with the latest php-mf2 and now a few tests are failing for me, like testBrWhitespaceIssue69 in ParserPTest.
#
KartikPrabhu
[kevinmarks]: you know a way of getting the mew code to pypi?
#
gRegorLove
"Failed asserting that null matches expected 'Street Name 9
#
gRegorLove
\n12345 NY, USA'."
#
aaronpk
🐱💻 <- mew code
#
gRegorLove
Debugging the parser results, it's definitely not a null value in that assertion. Odd.
#
aaronpk
gRegorLove: which version of phpunit are you running?
#
gRegorLove
4.8.35, php56
#
aaronpk
i'm running 4.8.35 on php 7.2 and everything passes
#
[kevinmarks]
I don't know how to update pypi
#
gRegorLove
Hah, oops. Forgot I had in-progress code in Parser.php. That would do it.
#
Loqi
tests has 2 karma in this channel (16 overall)
#
gRegorLove
Woo, should have #6 working shortly in php-mf2
[jeremycherfas] joined the channel
#
gRegorLove
Hmm, Travis CI shows a different number of phpunit assertions than I do locally? Also weird it's showing failed tests in php56 that don't fail for me locally.
#
aaronpk
I think it stops running the test function on an error, so any further assertions won't count
#
gRegorLove
"Mf2\Parser\Test\ClassicMicroformatsTest::testMf2ChildrenOnBackcompatProperties
#
gRegorLove
Undefined index: name" That test doesn't have an assertion for 'name' currently. Could it be using an older version of that file somehow?
#
aaronpk
probably something somewhere in the code is assuming there is a "name" property
#
gRegorLove
Ohh. Let me turn on error_reporting(E_ALL). Probably missing some notices/warnings.
#
aaronpk
ooh this brings up a good question
#
gRegorLove
Yep, now I'm getting the exceptions
#
aaronpk
what should the "value" be when there is no name property?
#
aaronpk
I guess empty string?
#
gRegorLove
Hm, maybe
#
gRegorLove
Or would the value of an implied name be more useful?
#
aaronpk
I doubt it
#
aaronpk
in the cases where there is no name property, the implied name would likely be really messy
#
gRegorLove
Yeah, probably. I'll update accordingly. Can discuss if any objections come up during review.
#
Zegnat
Oh, hmm, I never considered the value on nested p elements. Honestly, I rarely access the value property, so this had completely slipped my mind
#
Loqi
[gRegorLove] #142 Reduce instances when p-name is implied
tantek and [snarfed] joined the channel
#
aaronpk
wow may was the last php-mf2 release!
[kevinmarks] joined the channel
#
aaronpk
launched the current master branch at https://pin13.net/mf2-dev/ !
#
KartikPrabhu
damn! php is winning!
#
KartikPrabhu
must step it up
#
tantek
aaronpk++
#
Loqi
aaronpk has 16 karma in this channel (1580 overall)
#
Loqi
[David Shanske] Skip to content David Shanske The Definitive Location Menu N...
#
aaronpk
exactly, Loqi
#
KartikPrabhu
oh its on a dev side channel I already did that last week
#
KartikPrabhu
must write new tests for stop-implied-name
#
aaronpk
8 failures in xray with the new parser... gotta figure out if it's just cause my tests are invalid now
#
aaronpk
hm, I thought the parser was not supposed to modify the timezone offset from "-08:00" to "-0800"
#
aaronpk
that seems to have changed
#
aaronpk
there's even an explicit note about removing the colon... hmm https://github.com/indieweb/php-mf2/pull/131
#
Loqi
[gRegorLove] #131 Improve dt- parsing
#
aaronpk
gRegorLove: looks like it's completely lost child h-entrys now! http://pin13.net/mf2-dev/?id=20180304230015034
#
KartikPrabhu
so python wins! ;)
#
aaronpk
somehow there were no tests for that!
#
Loqi
[aaronpk] #143 Child mf2 objects are missing
#
aaronpk
all yours gRegorLove ;-)
#
aaronpk
I think all my xray fails are related to that one and the timezone offset
[eddie] joined the channel
#
gRegorLove
Lolwoops
#
gRegorLove
Interesting edge case with the new recursion method. Finds the children if none of them are also properties, so removing the p-author h-card makes it find the child h-entries. Will debug and fix.
chrisaldrich and [snarfed] joined the channel