00:04 | <rniwa> | sicking: yt? |
00:04 | <rniwa> | does anyone from Mozilla here knows about Attr node? |
00:24 | <Hixie> | TabAtkins: might be "natural", but it's hardly useful :-) |
00:25 | <Hixie> | TabAtkins: i don't understand how the Element prototype can be said to be an instance of a Node, though |
00:25 | <Hixie> | TabAtkins: i understand that it's instanceof |
00:25 | <Hixie> | but it's not an instance of |
00:25 | <Hixie> | in any useful sense |
03:16 | <TabAtkins> | Hixie: If DOM used the "examplar" pattern, then the Element prototype would be a "typical" node, whatever that meant. |
03:17 | <Hixie> | if it was an actual Node I wouldn't mind it being called instanceof Node |
04:00 | <heycam> | the typical node would be <img src=cat.jpg> |
06:55 | <Ms2ger> | rniwa, you called? |
08:55 | <Ms2ger> | Hrm, http://html5.org/tools/web-apps-tracker?from=8142&to=8143 seems empty |
09:08 | <Lachy> | zcorpan, Hixie, re comments about details http://krijnhoetmer.nl/irc-logs/whatwg/20130813#l-794 the difficulties in Opera were related to the fact that Opera didn't implement XBL or shadow DOM and we were trying to find a way to ensure authors could still apply styles in a sane way. I did mail whatwg about this at the time. |
09:09 | <zcorpan> | Lachy: ok, so assuming shadow DOM is supported, there's no inherent problem with the spec that should be fixed? |
09:09 | <annevk> | Ms2ger: looks like svn.whatwg.org is timing out and therefore something got cached wrongly... |
09:10 | <Lachy> | I think even with a shadow dom, there were issues that were difficult to solve. I'll look up my original mail about it all. |
09:10 | <zcorpan> | Ms2ger: i think that happens when it gets loaded by someone before it exists (e.g. by clicking the 'Next' link). it caches an empty result |
09:12 | <Lachy> | http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-April/031132.html |
09:12 | <zcorpan> | getDiff should probably check if the diff is empty before caching it |
09:21 | <annevk> | or like, not cache anything at all... |
09:35 | <zcorpan> | isn't the cache there for a reason? |
09:39 | <jgraham> | I think it's worse that webkit did implement <details> than that gecko didn't |
09:40 | <jgraham> | At least the implementation seemed quite broken at one time |
09:44 | <annevk> | http://src.chromium.org/viewvc/blink?view=revision&revision=155513 the URLs cited here are just scary... |
09:52 | <jgraham> | Yeah, that should be a r- for not reading the right specs |
09:58 | <jgraham> | https://github.com/google/gumbo-parser |
10:02 | <annevk> | and "DOM4"? lol |
10:05 | <annevk> | Ms2ger: fixed diff |
10:05 | annevk | looks into fixing the actual issue |
10:06 | <annevk> | zcorpan: getDiff already does the empty check |
10:07 | <zcorpan> | annevk: oh |
10:07 | <annevk> | zcorpan: I guess these days maybe something is returned that's not entirely empty |
10:10 | <annevk> | meh |
10:10 | <annevk> | should really rewrite the tool some day |
10:13 | <jgraham> | Use the git backend. That should make things easier as long as you have enough space to store the whole checkou |
10:13 | <jgraham> | And, if it's on github, set up a hook for the updates |
10:14 | <annevk> | go for it |
10:22 | <smaug____> | odinho: I disagree. (EventSource and utf-8) |
10:22 | <odinho> | :) |
10:22 | <smaug____> | but it clearly is a bug in the spec, at least |
10:22 | <smaug____> | if we can't agree what the spec says |
10:22 | <odinho> | Sure |
10:23 | <annevk> | ? |
10:23 | annevk | is missing context |
10:23 | <odinho> | https://bugzilla.mozilla.org/show_bug.cgi?id=869878 |
10:23 | <odinho> | [eventsource] When encoding charset=windows-1252, Firefox goes to onmessage() but not onerror(). |
10:25 | <jgraham> | I think the spec is clear |
10:26 | <jgraham> | You decode the data as UTF-8 regardless |
10:26 | <jgraham> | I sort of assumed that was what the test was checking |
10:26 | <jgraham> | If it isn't, it needs to be fixed |
10:29 | <odinho> | Yes, it can clearly be seen that way. I might have been too hung up on trying to force authors to do no stupid. |
10:30 | <odinho> | If they say windows-1252 they might mean it. And thinks everything will be okay. |
10:30 | <odinho> | Then they will WTF that the browser is decoding in a weird way. |
10:30 | <odinho> | And blame the browser. Because they're giving correct infoz. |
10:30 | <jgraham> | Well sure |
10:30 | <jgraham> | Or they might not mean it |
10:31 | <odinho> | If the browser complained, and didn't work at the windows-1252, it's much more understandable (from the beginning), that they have to fix it. |
10:31 | <jgraham> | In any case the spec says what it does. You could argue that it ought to say something different |
10:31 | <jgraham> | however if all browsers agree, it doesn't seem like much of a sharp edge |
10:31 | <odinho> | And it can also complain in the error log. |
10:33 | <annevk> | I remember EventSource saying something silly about charset |
10:34 | <annevk> | It no longer does |
10:38 | <annevk> | odinho: I don't see how you can read the spec in any other way |
10:38 | <annevk> | odinho: it's extremely clear |
10:38 | <annevk> | odinho: "HTTP 200 OK responses with a Content-Type header specifying the type text/event-stream, ignoring any MIME type parameters, must be processed line by line as described below." |
10:38 | <annevk> | odinho: "as described below" is a link |
10:39 | <annevk> | odinho: "Streams must be decoded using the UTF-8 decode algorithm." |
10:39 | <annevk> | odinho: done |
11:07 | <odinho> | It is extremely clear. I took a shortcut. :) |
11:08 | <odinho> | :/ Better go look at some kitten pictures. |
11:44 | <annevk> | Why is there no convenient way to define getters and setters within an object constructor in JavaScript? |
11:46 | <Ms2ger> | { get foo() { }, set foo(v) { } } |
11:46 | <Ms2ger> | ? |
12:27 | <hsivonen> | Yucca is on StackOverflow http://stackoverflow.com/users/1084437/jukka-k-korpela |
12:27 | hsivonen | was not aware |
12:45 | <annevk> | Ms2ger: that's an object literal, constructor is more like function X(x) { this.blah = x } |
12:46 | <Ms2ger> | Object.defineProperty, then, I guess |
12:46 | <Ms2ger> | Somewhat sucky |
12:48 | <annevk> | hsivonen: found http://unicode.org/mail-arch/unicode-ml/y2005-m11/0060.html via that, kinda want to start using ⊎1F4A9 in specifications now... |
12:48 | <annevk> | Ms2ger: right |
12:55 | hsivonen | makes a mental note of MULTISET UNION |
12:56 | <annevk> | the kind of thing to impress the manager with :p |
12:59 | <annevk> | https://github.com/google/gumbo-parser#readme why is perf a non-goal? |
13:04 | <hsivonen> | Must. look. away. from. the. StackOverflow. utf-16. tag. |
13:04 | <hsivonen> | also, tags surrogate-pair and utf-32 |
13:06 | <hsivonen> | so much opportunity for 386 |
13:06 | <annevk> | they're empty for me |
13:07 | <hsivonen> | good for you |
13:08 | <annevk> | hah |
13:17 | <annevk> | It seems I keep rediscovering I need Object.defineProperties and I keep hating it |
13:18 | <jgraham> | annevk: Presumably because it makes it easier to finish the project if your goal is "correctness" rather than "correctness and perf" |
13:19 | <jgraham> | (you might choose to do things that are non-optimal from a perf point of view to handle very deeply nested documents, for example) |
13:25 | <hsivonen> | 1.1 > 1.0 and 2000 > "": https://bugzilla.mozilla.org/show_bug.cgi?id=233154#c21 |
13:29 | <annevk> | hsivonen: in his duplicate "Severity: normal → blocker" |
13:30 | Ms2ger | tends to ignore such comments |
13:31 | <annevk> | I kinda feel like posting: "Dude, XML 1.1 is not well established. It was a compromise for IBM mainframes and later thought of as unnecessary. Just ask the W3C XML Core WG." |
13:31 | <Ms2ger> | Do you think that would help? |
13:31 | <annevk> | maybe? |
13:31 | <darobin_> | help who being the question |
13:32 | <jgraham> | I presume annevk would be labelled as "disturbed" |
13:32 | <annevk> | jgraham: that doesn't seem entirely without reason |
13:35 | <jgraham> | I wonder how long before we need to support for HTTP/2 or SPDY for testing |
13:35 | <annevk> | is there an FTP server yet which we can fiddle with? |
13:36 | <annevk> | that's one legacy protocol that has browser support to some extent but is not very well tested in conjunction with other stuff |
13:37 | <jgraham> | I know chrome has one somewhere in the repo. |
13:57 | <GPHemsley> | Hixie: Your e-mail client tags your messages as en-GB-hixie instead of en-GB-x-hixie |
13:58 | <GPHemsley> | What's the best way to filter mail from a mailing list? |
13:58 | <GPHemsley> | (e.g. the whatwg one) |
13:58 | <annevk> | Gmail |
14:01 | <GPHemsley> | I was looking more for an answer that contained an e-mail header |
14:03 | <Ms2ger> | There's one, no? |
14:03 | <annevk> | List-Id: Public mailing list for the WHAT working group <whatwg-whatwg.org> ? |
14:03 | <annevk> | just look at a random message |
14:03 | <jgraham> | GPHemsley: To or CC? |
14:04 | GPHemsley | was hoping for an answer from someone who had already done it |
14:06 | <jgraham> | Well I use filter on To or CC in Thunderbird |
14:06 | <jgraham> | So I have done it and gave you the answer that I use |
14:07 | <jgraham> | Of course I can't prove that it's the "best" way to do it |
14:07 | <annevk> | I gave you the answer Gmail uses... |
14:08 | <annevk> | (Or well, I'm pretty sure they use that... Plus some other magic I guess.) |
14:12 | <GPHemsley> | alright, thanks |
14:42 | <annevk> | Landed the URL work... That feels better, it being all on GH now. Now testharness.js integration I suppose. |
14:46 | <jgraham> | URL? |
14:58 | <annevk> | https://github.com/annevk/url/ |
14:59 | <annevk> | I guess at this point I should also rename the polyfill from URL to jURL |
15:04 | <zewt> | heh another bug i reported to firefox countless years ago suddenly closed as "worksforme", even though it still happens identically |
15:04 | <zewt> | the "ignore tickets for years then close it for a bogus reason, hoping the reporter isn't paying attention any more" strategy |
15:04 | <hsivonen> | zewt: URL? |
15:04 | <zewt> | https://bugzilla.mozilla.org/show_bug.cgi?id=518012 |
15:07 | <hsivonen> | zewt: comment 3 is not cool. Sorry about that. |
15:07 | <zewt> | i mean, closing it with "wontfix: we're okay with this behavior" then sure, but that's not what happened |
15:07 | <hsivonen> | I'm always annoyed then the Ubuntu folks do this to me over at Launchpad |
15:07 | <hsivonen> | I don't really report Ubuntu bugs anymore |
15:10 | <hsivonen> | I like it how Hallvord investigates open evang bugs even if they were opened in 2004 |
15:11 | <zewt> | same with debian, though it's probably hard to generalize there (since reporting a bug to debian will go to one of probably thousands of people at this point) |
15:11 | <zewt> | (usually with packages I'll just go to upstream, though) |
15:12 | <jgraham> | I guess it is mildly better than the "your bug got closed by a bot because we didn't even look at it" thing |
15:13 | <jgraham> | But yeah, that wasn't the right response |
15:14 | <zewt> | i've had the "go repro this bug and reply or we'll auto-close this ticket" bot thing, which was the start of my giving up on FF bugs |
15:14 | <jgraham> | Firefox does that too? I thought it was a Google thing |
15:14 | <zewt> | ("we've ignored this for too long, so we need you to do more work to allow us to continue ignoring it") |
15:15 | <zewt> | i thought it was a firefox one, though it was a long time ago now, maybe it was stopped? |
15:15 | <hsivonen> | jgraham: depends on module |
15:15 | <Ms2ger> | There's some people who do that |
15:15 | <Domenic_> | annevk: sweet, if the polyfill is mature maybe we can integrate it into Node in some form to fix a few of their URL-parsing bugs. |
15:16 | <jgraham> | Oh, that's sad |
15:17 | <svl> | Happened twice, afair; though lots of module owners opted out of it for their modules |
15:18 | <zewt> | i mean, i sort of understand the problem, when it's a major product receiving more tickets than they can handle (bug numbers in the 700000s are no joke), but... |
15:18 | <Ms2ger> | 900000s |
15:18 | <zewt> | but if they can't handle it, that's just another thing discouraging reporting |
15:18 | <zewt> | (i don't know firefox development, so I don't actually know if that's a major factor) |
15:19 | <svl> | Anything rendering-related tends to be fine; it's mostly just UI bugs which overwhelm the capacity of triagers |
15:20 | <zewt> | yeah i suppose it'll be very different based on component |
15:20 | <Ms2ger> | Once you get into Core, you're probably fine |
15:20 | <hsivonen> | svl: also anything rendering related filed under Firefox rather than Core |
15:20 | <jgraham> | Mass cleanups sometimes seem less problematic than auto-closing all bugs that haven't been touched for a few months. But still not ideal for real bugs |
15:20 | <svl> | yeah, true |
15:21 | <Ms2ger> | Most engineers seem to not like mass cleanups, in my experience |
15:21 | <hsivonen> | I find non-Core bugs pretty frustrating, too, and am somewhat discouraged from filing them |
15:21 | <Ms2ger> | But they also can't do all the triage while still doing their own job |
15:25 | <zewt> | oh, the one I'm thinking of was a "repro this or it'll close automatically", but doesn't appear to be a bot |
15:27 | <zewt> | and it was a case where I'd spent a fairly long time digging in trying to find a performance regression (439268) |
15:27 | <zewt> | oh well, i'll stop bitching now |
15:46 | <annevk> | Domenic_: the main thing that's lacking I just remembered is IDNA support |
15:47 | <annevk> | Domenic_: I think matjas might have something for that to some extent, but it needs more specification work |
15:47 | <annevk> | (and integration into jURL) |
15:47 | <Domenic_> | annevk: https://github.com/joyent/node/blob/master/lib/url.js#L252-L265 |
15:47 | <Domenic_> | annevk: uses matjas |
15:47 | <Domenic_> | 's URL thing |
15:47 | <Domenic_> | punycode thing, rather |
15:48 | <annevk> | Domenic_: it seems to not just matjas' splitting function |
15:49 | <annevk> | Domenic_: splitting on "." to get domain labels is a bug |
15:49 | <annevk> | there's four different type of dots |
15:49 | <annevk> | but I guess that's not the only bug in that library |
15:56 | <matjas> | Domenic_: afaict, replacing these lines https://github.com/joyent/node/blob/d2b80b8a60bf1e966a4091e62bb603fb825a6ada/lib/url.js#L257-L264 with `this.hostname = punycode.toASCII(this.hostname);` would do the trick |
15:57 | <Domenic_> | matjas: nice. hopefully annevk can use that in jURL and then we can just shove jURL into node |
15:57 | <annevk> | not quite, IDNA is more complicated :/ |
15:59 | <annevk> | zewt: I found that if I don't want quality bug reports to go to waste I have to cc someone relevant |
15:59 | <annevk> | zewt: not ideal, but not too bad either |
15:59 | <Ms2ger> | annevk, or get them into the right component :) |
16:04 | <JonathanNeal> | "feminist restaurant chain hooters" |
16:06 | <JonathanNeal> | "richard dawkin's evangelical bible study" |
16:08 | <JonathanNeal> | "0 day torrent seeder recording industry association of america" |
16:09 | <Ms2ger> | Hmm? |
16:10 | <JonathanNeal> | bustle |
16:18 | <jgraham> | I think JonathanNeal left his sense of logic at the door |
16:19 | <JonathanNeal> | jgraham: the headline on bustle was "feminist restaurant chain hooters". |
16:21 | <JonathanNeal> | Oh, but I thought I was talking in another channel. Ohhwwwwwhhhoooooops. |
16:58 | <annevk_> | Oops, accidentally relied on Number.parseInt to work |
17:03 | <TabAtkins> | One of the classic blunders! |
17:04 | <TabAtkins> | Fun times: try and predict what [10, 10, 10, 10].map(parseInt) will return. |
17:06 | <Ms2ger> | I guessed something like what it does |
17:09 | <jgraham> | I know this! (fwiw I think you could also argue that the surprise is a problem with map providing multiple arguments) |
17:12 | <annevk> | TabAtkins: it works in Gecko, broke down in Chrome |
17:13 | <annevk> | I think it's new in ES6 to have it exposed there, but I don't really know the rationale |
17:13 | <TabAtkins> | jgraham: Yes, that's the surprise. |
17:13 | <annevk> | Maybe new global objects won't expose it or some such? |
17:18 | <jgraham> | TabAtkins: I sort of thought people thought it was a problem with parseInt |
17:18 | <jgraham> | But maybe I am wrong |
17:19 | <TabAtkins> | jgraham: No, the base argument to parseInt is a good thing. The bad was the pre-ES5 behavior of magically intuiting octal if the base is unspecified and the string starts with "0". |
17:19 | <TabAtkins> | It's also weird that setting base to 1 produces NaN, but setting it to 0 just ignores the base. |
17:43 | <gsnedders> | jgraham, annevk, hsivonen: was html5lib or validator.nu's parser first? |
17:45 | <annevk> | gsnedders: I think we started December 2006, looks like hsivonen might have started before that given http://hsivonen.iki.fi/thesis/html5-conformance-checker.xhtml |
17:45 | <gsnedders> | Yeah, Dec '06 was html5lib, can't find any history prior to 2007 for validator.nu's parser? |
17:46 | <annevk> | Oh, hsivonen wrote a speculative algorithm before the specification was published |
17:46 | <annevk> | "I implemented an experimental HTML parser to enable checking of text/html with XML tools. I developed the parser speculatively before the HTML5 parsing algorithm was published." |
17:46 | <annevk> | So I guess html5lib was first in terms of a parser implementing the specification |
17:47 | <annevk> | Well, not counting Hixie's Sawzall's implementations here of which we got the tests |
17:47 | <annevk> | implementation* |
17:47 | <gsnedders> | The tests were from Hixie's Sawzall's impl? |
17:48 | <gsnedders> | Oh. I thought they were written by you lot. |
17:51 | <annevk> | Not all of them, but I think the initial bunch might have been, as well as the format |
17:57 | <gsnedders> | We seem to have lost history moving from svn to hg of this :( |
18:12 | <annevk> | gsnedders: I found http://www.ohloh.net/p/html5lib/commits?page=5&sort=oldest |
18:12 | <annevk> | gsnedders: in particular http://www.ohloh.net/p/html5lib/commits/254913074 |
18:12 | annevk | -> food |
18:19 | <zewt> | deep fried annevk |
18:19 | <cwilso> | grilled might be more appropriate. :) |
19:16 | <Hixie> | GPHemsley: yeah, i configured it before they invented this -x- thing |
19:16 | <GPHemsley> | riiight |
19:17 | <Ms2ger> | That might well be true |
19:20 | GPHemsley | is pretty sure x- has been around since the beginning |
19:20 | <GPHemsley> | but ok |
21:01 | <zewt> | TabAtkins: heh, i had a bug recently due to sscanf("%i") (vs. %d) assuming octal for 0*, which caused code to break ... in August |
21:01 | <zewt> | pox upon whoever decided having %i and %d be the same with printf, but different with scanf |
21:35 | <ball999> | in for loop I need boolean for second argument right? and while the boolean is true the loop will run? |
21:36 | <ball999> | ups wrong chat |