2015-09-01 [17:10:17.0000] Wheee OK nobody needs to install FreePascal anymore https://github.com/domenic/wattsi-server [17:10:33.0000] (Although I'm pretty sure as of this morning everyone already did, lol.) [17:28:20.0000] /me looks [17:29:11.0000] wow [17:29:13.0000] nice [17:29:58.0000] Domenic: you gonna work on a patch to make the build use this, or do you want me to? [17:30:18.0000] MikeSmith: already done :) https://github.com/whatwg/html-build/pull/10 [17:30:42.0000] dang [17:30:44.0000] MikeSmith: but error handling is annoying... https://superuser.com/questions/965558/get-curl-to-output-non-2xx-to-stderr-but-2xxs-to-a-file [17:30:51.0000] /me looks [17:30:57.0000] MikeSmith: still counting on you for the separate-directories patch though! [17:31:26.0000] OK yeah will do that [17:32:04.0000] Domenic: about that superuser question, we should talk to Daniel [17:32:12.0000] about curl [17:32:21.0000] he works a Mozilla now, right? [17:32:39.0000] Daniel Stenberg [17:37:54.0000] Yeah people on Twitter are referring me to him [17:38:16.0000] I feel kind of bad bugging the creator of a program on usage info though, especially for something that popular [17:43:49.0000] dunno, he seems to be pretty enthusiastic about helping people solve problems [17:44:09.0000] and if it were any easy problem you'd already have an answer [17:46:00.0000] well a couple people pinged him so we'll see what happens [18:15:43.0000] ok [19:18:15.0000] I think @WHATWG should retweet https://twitter.com/mnot/status/638532265388019712 [19:19:03.0000] Also MikeSmith I am 90% sure https://twitter.com/domenic/status/638531133274132481 will work, woo. [19:22:52.0000] Domenic: awesome [19:25:20.0000] Domenic: heh, that mnot tweet is nice too [19:25:32.0000] mnot, you have been assimilated [21:07:54.0000] hsivonen: http://w3techs.com/technologies/details/en-utf16/all/all sees less than 0.007% of websites using UTF-16. Do we have telemetry on this? Do we have a threshold for dropping support of things? [21:08:16.0000] Domenic: retweeted [21:36:26.0000] There is still a lot of low-hanging fruit [21:40:26.0000] Yeah, I was going to fix base URLs but that's harder than expected [21:52:01.0000] here is one minor tweak we made, https://github.com/tmpvar/jsdom/blob/master/lib/jsdom/living/helpers/document-base-url.js especially https://github.com/tmpvar/jsdom/blob/master/lib/jsdom/living/helpers/document-base-url.js#L34 [22:35:00.0000] annevk: i think i have another issue with the url spec :/ [22:35:13.0000] you have a minute? [23:00:28.0000] Sebmaster: sure [23:01:38.0000] Awesome! [23:02:42.0000] Okay so, assume we have an object with mixed in urlutils. it calls set the input with some string as input, let's go with "example" [23:03:16.0000] Sebmaster: hmm so URLUtils has open issues [23:03:22.0000] but okay [23:03:35.0000] So set the input parses the stuff, calls get the base etc. and comes up with some resulting url: http://example.org/example [23:04:06.0000] so we have an object, its input is set to example, and its url is set to http://example.org/example [23:05:38.0000] Sebmaster: yes [23:05:41.0000] we now call the hash attribute setter with a string "foobar", it does the whole parsing spiel again, we get a resulting object: input is "example", url is "http://example.org/example#foobar" [23:07:09.0000] when we now call the href attribute getter, it calls reset the input, which in turn calls set the input with "example" and "http://example.org/example#foobar" [23:07:47.0000] set the input then sets input and url, but since input is non-null, it then re-parses the url with input, resulting in #foobar being dropped [23:10:12.0000] and i really, really hope i didn't miss any part of the spec again :S [23:13:03.0000] Sebmaster: no you didn't [23:13:24.0000] Sebmaster: the problem is that once you set the hash attribute the input also needs to be updated [23:14:00.0000] Sebmaster: I fixed URLUtils the wrong way and I haven't really worked on specifying it in the right way yet since I didn't have access to update HTML directly, where we should probably put some of the logic [23:14:25.0000] thank god, i was getting worried i'm constantly misreporting everything [23:14:49.0000] well then, I'll wait until you're done with the new changes [23:20:12.0000] Sebmaster: https://github.com/whatwg/url/issues/62 and https://github.com/whatwg/url/issues/61 [23:20:17.0000] Sebmaster: it's quite the mess :-( [23:25:44.0000] Oh right, those tie into the whole thing [23:26:37.0000] I assumed the spec would be in a working state without those reworks :( [23:27:30.0000] Means I can put it off again though, so that's fine for me for now :D [23:27:55.0000] Maybe I should add a note to the API since it'll take me a couple of weeks before I'm going to get to that I think [23:30:21.0000] Done [23:47:34.0000] MikeSmith: I had it happen again that a link to source became source [23:49:44.0000] Locally building is pretty much a must it seems, looking forward to somebody making it faster [00:06:38.0000] annevk: is it just the symlink to the `source` file that happens with? or others too? [00:07:05.0000] MikeSmith: I haven't tested the others, they're mostly static so it doesn't matter [00:07:46.0000] ok [00:09:12.0000] well *grumble grumble* we wouldn't have a problem at all with that if we just moved the build tools into the html repo [00:10:28.0000] MikeSmith: I think Domenic made some reasonable arguments against that [00:10:53.0000] MikeSmith: I think the problem would be gone too if we had an input and output directory [00:11:02.0000] ok [00:12:31.0000] annevk: remind where we discussed how we wanted that to work? was it on IRC, or is there an open issue that details the proposal/requirement? [00:14:10.0000] MikeSmith: https://github.com/whatwg/html-build/issues/3 [00:14:44.0000] ah [00:14:47.0000] "Source repository history should not be intermingled with build tool revisions." [00:14:56.0000] I guess I actualy agree with that [00:15:49.0000] and I'm surprised/disappointed that I didn't think come to that conclusion on my own already [00:15:54.0000] I blame lack of sleep [00:17:30.0000] mkwst: anyway, thanks for the citation [00:18:12.0000] /me stares at the dozens of unread github notifications in his inbox [00:18:41.0000] As long as he's doing the work, I don't care. But it seems strange to pretend that these are really separate projects. *shrug* Whatever. I like green bikesheds! :) [00:19:42.0000] MikeSmith: i checked the "Popular sites using UTF-16" and afaict they're not using utf-16 [00:20:51.0000] e.g. Epoker.com has Content-Type:·text/html;·charset=utf-8 and then [00:21:15.0000] so i wouldn't give much weight to that statistic [00:22:19.0000] eh? [00:22:25.0000] hmmm. sorry MikeSmith. i meant SimonSapin ^ [00:22:30.0000] ah [00:22:42.0000] wake up, SimonSapin! [00:22:48.0000] hsivonen: ^ [01:08:37.0000] mkwst: what is an endpoint origin? [01:09:31.0000] Given: `fetch("https://example.com/endpoint", { body: fd })`, it would be `example.com`. [01:10:45.0000] Basically, I'd like to be able to lock submissions down to a certain origin. The previous draft did so by overriding `fetch(url)` with `send(url)`, processing the URL there, and then setting a bunch of flags which prevented redirects. [01:11:25.0000] So, my thought at the moment is that I could put some flags on the FormData object which would govern the ways in which Fetch can use it. [01:11:45.0000] https://code.google.com/p/chromium/codesearch#chromium/src/net/base/mime_util.cc&rcl=1427945811&l=384 a curious reference to w3schools [01:12:09.0000] annevk: Yeah. No idea. Let's git blame that, shall we? :) [01:12:35.0000] also, there used to be a list of JavaScript MIME types there per https://www.w3.org/Bugs/Public/show_bug.cgi?id=28397 but they are now gone [01:12:59.0000] https://codereview.chromium.org/3311016 *shrug* [01:15:14.0000] more like *shudder* [01:16:08.0000] https://blink.lc/chromium/tree/components/mime_util/mime_util.cc#n59 [01:16:47.0000] which doesn't seem to match HTML, but also doesn't seem to have generated compatibility issues, since it hasn't changed in a long time, [01:16:49.0000] Domenic: annevk: so what should i do differently to make PRs automatically close as merged? [01:17:15.0000] zcorpan: I think the git push --force to the branch must have failed [01:18:40.0000] $ git push --force [01:18:40.0000] Everything up-to-date [01:18:47.0000] it said [01:23:48.0000] zcorpan: did you do git checkout branch-name too? [01:24:01.0000] annevk: yes [01:24:03.0000] and then git push --force and then git checkout master [01:24:06.0000] hmm [01:24:09.0000] yes [01:24:44.0000] I haven't tried this new approach myself yet so I'm not a 100% that Domenic gave the correct instructions [01:25:06.0000] but when you update the branch that should appear on the GitHub site [01:26:12.0000] ok. yeah i didn't know what message to expect so i figured "Everything up-to-date" meant things were going a-OK [01:36:23.0000] zcorpan: do you want to merge 69 or can I make an attempt? [01:36:32.0000] annevk: do it [01:38:27.0000] zcorpan: so yeah, I've had the same problem as you, I think Domenic's instructions are incomplete [01:39:51.0000] You probably want `git push --force origin ` [01:59:51.0000] A more complete syntax is git push [options] : [02:00:21.0000] the behaviour of bare git push depends on the defaults which depend on the version of git you are running [02:00:39.0000] (unless you changed them) [02:19:45.0000] mkwst: e.g., you already forgot you can iterate FormData, see https://xhr.spec.whatwg.org/#formdata [02:20:24.0000] mkwst: but you working through it SGTM [02:20:44.0000] annevk: s/forgot/didn't know/. But it's nice of you to assume competence. [02:20:54.0000] :) [02:30:06.0000] :-) >it's nice of you to assume competence [02:32:37.0000] one of the things that has always made me feel nice when hsivonen reviews code I write is that he always assumes I must have had a good rational reason for writing something in the way I did (instead of not actually having known the better way until he told me). [02:50:13.0000] MikeSmith, annevk: window.focus() works on Chrome as well. Thanks :) [02:58:15.0000] MikeSmith: seems more folks are confused by the caniuse.com panel: https://www.w3.org/Bugs/Public/show_bug.cgi?id=28709 [02:58:36.0000] MikeSmith: I wonder if we can adjust the stylesheet or closing mechanism somewhat to make it easier [02:59:28.0000] MikeSmith: another thing that happens to me in Firefox is that once the scrollbar appears it goes right over the thing that allows you to close the widget, making it particularly hard to close [03:05:29.0000] Okay, changing that requires changing Wattsi [03:27:33.0000] annevk: Should `toX` methods return a `Promise` or `X`? It seems like some APIs do the one and some the other. [03:28:17.0000] mkwst: depends on whether IO is involved I guess [03:28:39.0000] Hrm. Ok. [03:28:52.0000] I guess it's safer, but more cumbersome, to return a Promise. [03:29:03.0000] safer == future proof. [03:29:41.0000] mkwst: if this is for FormData synchronous is fine [03:29:48.0000] it is. [03:29:53.0000] ok. that's simpler then. [03:30:38.0000] I wonder if I can get the HTML bug count to be <300 by the end of the week [03:30:56.0000] That's easy. WONTFIX, WONTFIX, WONTFIX. [03:33:41.0000] nah, with WONTFIX it is considered etiquette to at least explain why; which takes time [03:33:50.0000] INVALID, INVALID, INVALID is much more efficient [03:33:55.0000] :) [03:35:03.0000] That is how we got from ~500 to <400 [03:35:08.0000] It's a bit trickier now [03:35:29.0000] As in, it involves work [04:09:30.0000] MikeSmith: if you're around, can you please give me push access to w3c/gh-backup? [04:10:13.0000] yep [04:10:34.0000] gimme a minute, on from my mobile [04:14:28.0000] darobin: should be good to go now [04:42:43.0000] mkwst: it seems like you can provide a PR for https://www.w3.org/Bugs/Public/show_bug.cgi?id=27852 right? It didn't break the web... [04:43:02.0000] I was looking at that yesterday. It's not clear to me where the sniffing is actually done in HTML. [04:43:12.0000] If you point me to the right spot, I'm happy to submit a PR. [04:45:40.0000] Somewhere around https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script ? [04:46:36.0000] mkwst: [09:27:17.0000] annevk: inline [09:27:19.0000] Domenic: [09:27:20.0000] annevk: what about parser? [09:27:35.0000] annevk: ruby -> rtc -> rp [09:27:51.0000] Domenic: [09:28:09.0000] annevk: ruby -> rt -> rtc [09:28:14.0000] Domenic: [09:28:25.0000] annevk: ruby -> rp -> rtc [09:28:26.0000] Domenic: seems like they haven't implemented HTML51 [09:28:30.0000] Yeah [09:28:38.0000] That is kind of what Travis's message implied but it wasn't 100% clear [09:28:39.0000] Domenic: rtc shouldn't be a child in those scenarios [09:29:02.0000] Domenic: yeah, not changing in forever sounded like they still support some really old stuff [09:29:16.0000] Domenic: [09:29:33.0000] annevk: ruby -> rb -> rt [09:30:17.0000] Domenic: that sure looks like the pre-fork behavior, though I'm not a 100% what the old-IE behavior was [09:30:24.0000] yeah [09:30:35.0000] now we have what, three parsing behaviors and two style behaviors? [09:30:48.0000] Domenic: three style behaviors if you count HTML51 [09:31:00.0000] Domenic: Mozilla didn't actually implement the spec [09:31:07.0000] good times [09:31:16.0000] Domenic: or maybe Mozilla's feedback never got addressed, I didn't bother to find out [09:31:32.0000] Domenic: my style commit is for the Mozilla behavior [09:31:58.0000] I tend to agree with your latest plan of parsing changes only, no styling. But we should ping the browser people. [09:32:16.0000] I will write up a reply with @-mentions [09:32:50.0000] thanks [09:36:15.0000] Will fix html5lib-tests. [09:37:49.0000] nox: cool [09:38:01.0000] nox: I'm somewhat curious how html5lib-tests ended up with the wrong tests [09:38:05.0000] nox: I wonder if gsnedders knows [09:38:05.0000] annevk: I'm at 3 PRs already for this thing, one less or more… [09:38:11.0000] nox: ugh [09:38:19.0000] Well, one was because I can't alphabet. [09:38:35.0000] And bot decided to go YOLO on me. [09:38:43.0000] nox: darobin who made the HTML51 fork also contributed a patch to html5lib-tests [09:38:45.0000] https://github.com/servo/string-cache/pull/108 > https://github.com/servo/string-cache/pull/109 [09:38:53.0000] nox: so I wonder if he got that patch wrong [09:39:10.0000] nox: his html5lib-python impl was also wrong [09:39:18.0000] annevk: Oh wait, [09:39:22.0000] nox: perhaps they decided on a change in parsing behavior and never let html5lib or WebKit know [09:39:27.0000] annevk: I think our tests are just outdated in html5ever. [09:39:44.0000] annevk: That patch seems to fix the test I said was wrong. [09:40:19.0000] nox: https://github.com/html5lib/html5lib-tests/pull/27/files#diff-31f05185c1fa91686be8bf73cd5cd0bbR142 [09:41:02.0000] annevk: https://github.com/html5lib/html5lib-tests/pull/55/files [09:41:10.0000] nox: so somewhere between December 2013 and WebKit's implementation, some change in behavior was decided upon [09:41:55.0000] annevk: Yes, in #54 and #55. [09:43:06.0000] nox: as far as that test goes, sure (that only a single test need to be changed is somewhat worrying) [09:43:13.0000] nox: but what about the specification? [09:43:29.0000] annevk: What do you mean? [09:44:17.0000] nox: I mean that I think that on Dec 13 the specification prescribed the WebKit behavior and that on Feb 14 it no longer did, or some such, based on some feedback [09:46:40.0000] nox: https://github.com/w3c/html/commit/e2ddb663fd04803d2be7f16026e2117ced167c01#diff-36cd38f49b9afa08222c0dc9ebfe35ebR100710 [09:47:53.0000] annevk: Oh! You're right. [09:48:00.0000] It seems JakeA grew a mustache... https://www.youtube.com/watch?v=tilH8jgLrXQ [09:48:01.0000] Not a bug in WebKit then, damn. :( [09:48:18.0000] nox: well it's a bug in WebKit today, of sorts [09:48:29.0000] nox: since the current spec says something else [09:48:38.0000] I mean, it didn't come into existence as a bug. [09:48:43.0000] That would be the best. [09:48:55.0000] Nothing on the mailing list that suggests why they changed the specification though [09:51:01.0000] annevk: "New ruby model" [09:51:04.0000] Sounds clear. [09:51:18.0000] ? [09:51:59.0000] annevk: Sarcasm. [09:52:12.0000] who was the WebKit reviewer for ththat patch? [09:52:37.0000] Well, that Dec 13 email is somewhat clear, it's just that there's no email that explains they changed the parser again after making that change and after WebKit implemented the original text... [09:52:50.0000] And tests against the original text landed in Python, etc. [09:53:18.0000] The original text also didn't account properly for end-of-file behavior for fragment cases [09:53:26.0000] https://github.com/Igalia/webkit/commit/135c1f2d74a05733c5a0421745bc4e050db95d18? [09:53:33.0000] MikeSmith: Darin [09:54:23.0000] nox: hmm yeah, did that never land in WebKit or never make it into Safari? [09:54:49.0000] annevk: What do you mean? From what I read that's the wrong behaviour that I'm seeing in Safari. [09:54:54.0000] No? [09:55:05.0000] Cf. https://github.com/Igalia/webkit/commit/135c1f2d74a05733c5a0421745bc4e050db95d18#diff-bf6ceb92999573c891184de559e34448R196 [09:55:44.0000] nox: sorry, I thought that was a follow up commit [09:55:57.0000] annevk: No problem. [09:57:32.0000] So it seems like "HTML5" has a different parsing model from "HTML51" [09:57:48.0000] And WebKit implements the former and Chromium and Gecko implement the latter [09:57:57.0000] And Edge implements WHATWG HTML [09:58:21.0000] That is, even http://www.w3.org/TR/2014/REC-html5-20141028/ has the "broken" parsing rules [10:00:37.0000] annevk, is this correct? is there a better description for (2)? https://www.irccloud.com/pastebin/HjhsQfdi/ [10:00:59.0000] https://www.w3.org/Bugs/Public/show_bug.cgi?id=25212 hints of change too, but darobin didn't provide pointers [10:02:06.0000] Domenic: yeah I think so, there's a couple other parsing differences most likely, but this is a good summary [10:05:44.0000] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26074 is another bug but not this one [10:07:13.0000] annevk: It's been a long time since people did in-depth reviews for tests where we already have interop on, and the Ruby stuff was done mostly on trust on the basis that implementors will find the bugs [10:07:27.0000] annevk: esp. given it seemed likely the spec would change after they landed [10:08:48.0000] I can't find the root cause of HTML51 changing the parsing rules yet again :-( [10:11:29.0000] And https://www.w3.org/Bugs/Public/show_bug.cgi?id=26074#c3 suggests WebKit implemented from the content model descriptions rather than the tree construction algorithm?! [10:12:36.0000] ?! [10:15:38.0000] Domenic: is Koji with Blink? [10:15:50.0000] Domenic: I thought he might be independent [10:16:24.0000] annevk: no he's a Googler on Blink. [10:16:29.0000] okay [10:18:19.0000] https://github.com/darobin/html-ruby/commit/94fd27f9fabf7613b7eee30b02d9b73bae99ecc9 [10:18:38.0000] Domenic: it does seem like we should only make changes here once everyone or at least 3/4th agrees [10:18:54.0000] https://github.com/darobin/html-ruby/commit/ccf81bb51941d6e630b94a69626e6b96ce9d62fc Seems like it comes from this. [10:19:01.0000] annevk: yeah, that is my leaning as well. [10:19:05.0000] As in, if it's for fallback content, it should probably not end up in rtc. [10:19:35.0000] nox: does html5ever have any test CLI interface reading a file/stdin and dumping some debug tree out? [10:19:45.0000] https://lists.w3.org/Archives/Public/www-archive/2013Sep/0058.html [10:19:50.0000] annevk, Domenic: [10:19:56.0000] Seems to be the one thread that matters. [10:20:12.0000] gsnedders: Yes, kinda. [10:20:24.0000] nox: it can't be that because that is before anything landed in HTML5 [10:20:28.0000] gsnedders: The tool that produces the same output as html5lib-tests is unexposed though. [10:21:56.0000] annevk: Oh right. Well the only thing I can find is https://github.com/darobin/html-ruby/commit/94fd27f9fabf7613b7eee30b02d9b73bae99ecc9 then. [10:23:19.0000] Good morning/afternoon/evening WHATWG crew o/ [10:27:42.0000] nox: /win 26 [10:27:45.0000] um, uh [10:27:48.0000] that doesn't work [10:28:38.0000] Trying to get rid of nox, indeed [10:29:17.0000] lol [10:33:55.0000] nox: so is there any reasonable way to test it? :P [10:34:39.0000] gsnedders: Will look into it once I get home, but otherwise you can just write a tree_builder test and run html5ever's tests. [10:35:03.0000] right, k [11:01:07.0000] JakeA: are you around still? [11:05:10.0000] gsnedders: What did you want to test btw? [11:19:26.0000] nox: https://critic.hoppipolla.co.uk/showcomment?chain=12351 [11:20:02.0000] gsnedders: You evil person. [11:20:26.0000] nox: not my test! [11:20:28.0000] /me hides [11:20:31.0000] Ah ah. [11:21:38.0000] gsnedders: https://gist.github.com/nox/44f289320e3a57dac0de [11:21:41.0000] Fail. [11:22:17.0000] in