| 00:40 | <TabAtkins> | If anyone knows off the top of their head, does the current source selection algorithm for <img> stop when it finds its preferred source, and not try for additional ones if the first one fails? |
| 00:40 | <TabAtkins> | (If no one answers in a bit I'll go look for the answer myself.) |
| 07:32 | <zcorpan> | TabAtkins: right, img doesn't try further if a source fails to load |
| 07:36 | <zcorpan> | hmm, i got a spam email that was kind enough to let me know where it found my email address (the cssom spec) |
| 08:00 | <hsivonen> | zcorpan: was it European spam if the spammer thinks that declaring the source of address makes it better? |
| 08:03 | <zcorpan> | google translated: "I am a crawler that found email simonp⊙oc on w3.org site exactly http://dev.w3.org/csswg/cssom/ link and I will aim to post your free ad on <something>.ro" |
| 08:13 | <hsivonen> | zcorpan: indeed unusual |
| 08:19 | <MikeSmith> | sendBeacon makes <a ping> superfluous? |
| 08:20 | <Ms2ger> | Right now when we've implemented it? |
| 08:24 | <MikeSmith> | Ms2ger: there's an open bug |
| 08:25 | <MikeSmith> | https://bugzilla.mozilla.org/show_bug.cgi?id=936340 |
| 08:26 | <MikeSmith> | and jonas comments at https://bugzilla.mozilla.org/show_bug.cgi?id=951104 |
| 08:26 | <MikeSmith> | Ms2ger: <a ping> shipped already? |
| 08:27 | <MikeSmith> | no just in nightly I guess |
| 08:27 | <Ms2ger> | Still preffed off |
| 08:27 | <MikeSmith> | ah ok |
| 08:27 | <MikeSmith> | ah yeah hence the summary of that bug |
| 08:32 | <zcorpan> | <a ping> seems simpler to get right. what if the user middle clicks the link, will the page notice and send the ping? |
| 08:32 | <zcorpan> | if implemented with sendBeacon, i mean |
| 08:33 | <zcorpan> | what's the problem with having both? |
| 08:33 | <zcorpan> | is ping high-cost? |
| 08:38 | <MikeSmith> | zcorpan: I guess we need to keep <a ping> regardless anyway |
| 08:38 | <MikeSmith> | which is not a problem really |
| 08:39 | <MikeSmith> | just if somebody had come up with sendBeacon first maybe we wouldn't have needed <a ping> to begin with |
| 08:42 | <zcorpan> | "The User Agent MUST throw the URLMismatchError exception if the URL cannot be resolved." |
| 08:43 | <zcorpan> | seems like the wrong exception |
| 08:43 | <zcorpan> | "The User Agent MUST throw the SyntaxError is data is null." also seems like the wrong exception |
| 08:46 | <Ms2ger> | 'is'? |
| 08:49 | <zcorpan> | http://lists.w3.org/Archives/Public/public-web-perf/2013Nov/0096.html seems like an interesting proposal. maybe it should allow you to set sync to true but have that be ignored if detach is true |
| 09:29 | <darobin> | I'm still not convinced this whole beacon stuff is headed the right way |
| 09:30 | <darobin> | it doesn't seem to take into account the use case of e.g. uploading a picture taken in a web app in such a way that you can leave the app immediately but get a notification later upon success |
| 09:31 | <darobin> | which is a common thing that can only be done using native apps today |
| 09:59 | <jgraham> | darobin: Isn't the difficult part there continuing the upload after you navigate? |
| 09:59 | <darobin> | jgraham: well, that's the interesting part :) |
| 10:00 | <darobin> | you also need to make it so that notifications can be triggered after navigation (and that clicking on them can reopen a page) |
| 10:00 | <jgraham> | Seems like could could solve that with background shared workers, perhaps |
| 10:01 | <darobin> | ideally, progress notifications ought to be possible during upload |
| 10:01 | <darobin> | yes, maybe |
| 10:01 | <jgraham> | At least it seems quite different to the beason stuff |
| 10:01 | <jgraham> | *beacon |
| 10:01 | <darobin> | that's essentially how it works on Android, apps spawn services that are permanent |
| 10:02 | <darobin> | well, if you look at the code examples that developers show when telling what they'd like for fire-and-forget upload, they look a lot like beacon |
| 10:02 | <darobin> | or at least some of the beacon proposals |
| 10:02 | <darobin> | "give me an XHR that doesn't die" |
| 10:06 | <jgraham> | Well, yes if that's the only use case |
| 10:06 | <jgraham> | If there are other similar use cases then a different solution is needed |
| 11:03 | <zcorpan> | sent http://lists.w3.org/Archives/Public/public-web-perf/2013Dec/0105.html |
| 11:27 | <jgraham> | zcorpan: I like how you start with a bunch of small issues and end with "oh and your spec is totally broken" |
| 11:27 | <zcorpan> | heh |
| 11:29 | <zcorpan> | and i didn't even ask about use cases |
| 11:30 | <zcorpan> | step 1: minor bugs. step 2: fundamental brokenness. step 3: possibly wrong solution altogether |
| 11:34 | <jgraham> | You should obviously reply to your email again :) |
| 11:36 | <zcorpan> | i'll leave step 3 to someone else |
| 12:09 | <zcorpan> | actually the brokenness seems to apply to <a ping> also |
| 12:09 | <hsivonen> | is one supposed to use a semicolon after a nested function declaration in JS? |
| 12:09 | <Ms2ger> | I don't think so |
| 12:09 | <hsivonen> | Ms2ger: thanks |
| 12:09 | <zcorpan> | function declarations don't need semicolon after |
| 12:10 | <hsivonen> | zcorpan: ok. thanks |
| 12:10 | <zcorpan> | only if you do an assignment like onclick = function() {}; |
| 12:10 | <hsivonen> | ok |
| 12:11 | <jgraham> | Yeah, no semicolon after statements, only after expressions I think |
| 12:15 | <hsivonen> | jgraham: I think you mean the other way round, right? |
| 12:16 | hsivonen | wasn't sure if a function declaration counted as a statement |
| 12:18 | <jgraham> | hsivonen: I don't really mean either, it turns out |
| 12:19 | <Ms2ger> | JS is weird |
| 12:19 | <jgraham> | http://www.ecma-international.org/ecma-262/5.1/#sec-A.4 |
| 12:30 | <matjas> | ah, the good ol’ function declaration vs. function expression |
| 13:07 | <gsnedders> | hsivonen: Function statements as implemented everywhere don't exist in the spec. :) |
| 13:08 | <gsnedders> | hsivonen: Function declarations per spec must be at the top level; only function expressions are allowed to be nested. |
| 13:08 | <jgraham> | Wait, what? They still didn't fix that? |
| 13:10 | <gsnedders> | Oh, it appears to have been fixed, but the spec isn't up to date with what was agreed at Sept F2F |
| 13:11 | <gsnedders> | I missed that entirely. |
| 13:12 | <Ms2ger> | What, an up-to-date spec? |
| 13:12 | <Ms2ger> | I've missed that quite often |
| 13:12 | <zcorpan> | was the bug something like (function() { if (false) function foo() {}; foo(); /* foo is undefined in impls */ })() ? |
| 13:14 | <gsnedders> | zcorpan: That simply didn't match the grammar. |
| 13:15 | <gsnedders> | zcorpan: the "function" keyword token was a parse error if you only implemented the ES5 grammar |
| 13:16 | <hsivonen> | in any case, it looks like my patch didn't make strict mode or whatever checks apply to Firefox UI code to blow up |
| 13:16 | <zcorpan> | gsnedders: oh, ok |
| 13:17 | <gsnedders> | zcorpan: (the second "function", obv.) |
| 13:32 | <zcorpan> | annevk-cloud: does document.URL return HTML's "the document's address"? it says it returns the "URL" which seems like it is a separate concept |
| 13:37 | <zcorpan> | annevk-cloud: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2707 suggests it should return "the document's address" |
| 13:37 | <zcorpan> | Hixie: ^ |
| 14:19 | <Ms2ger> | "The initial value of Symbol.isRegExp is the well known symbol @@isConcatSpreadableisRegExp" |
| 14:19 | <Ms2ger> | @@isConcatSpreadableisRegExp, really? |
| 14:21 | <jgraham> | "well known" |
| 14:30 | <hsivonen> | annevk-cloud: I finally got around to sending email to whatwg and www-international about TLD-based guessing |
| 14:30 | <hsivonen> | I hope the message was coherent enough for non-Firefox audience |
| 14:30 | <hsivonen> | I adapted it from an older bugzilla comment |
| 14:47 | <csmith1> | is this the right place to ask about http://wiki.whatwg.org/wiki/MetaExtensions ? |
| 14:49 | <csmith1> | for example wt.* (webtrends) proposal… should these be generic, rather than product-specific for metrics? |
| 14:55 | <matjas> | jgraham: “well known” refers to this table https://people.mozilla.org/~jorendorff/es6-draft.html#table-1 |
| 14:55 | <matjas> | “Table 1— Well-known Symbols” |
| 14:56 | <jgraham> | matjas: I know what well known means in this context :) It's just an amusing choice of name |
| 15:04 | <Ms2ger> | "Posted to whatwg and www-international but not cross-posted" |
| 15:04 | Ms2ger | doesn't follow |
| 15:06 | <gsnedders> | Um… |
| 15:11 | <jgraham> | Presumably posted to both but each without the other on the to: header |
| 15:12 | <jgraham> | i.e. two seperate emails |
| 15:16 | <Ms2ger> | Ah |
| 15:18 | <jgraham> | Ms2ger: So, why did I get your email 3 times? |
| 15:18 | <jgraham> | :) |
| 15:18 | <Ms2ger> | You're on all three lists I sent it to? :) |
| 15:18 | <Ms2ger> | Sorry, should also have cc'd you :) |
| 15:20 | <jgraham> | Interesting |
| 15:20 | <jgraham> | Thunderbird claims they are all To: public-test-infra, but doing Reply-List on all three will reply to three different lists. |
| 15:25 | <Ms2ger> | Yeah |
| 15:26 | <Ms2ger> | I only got one copy of Art's email, and reply-to-list went to p-w-t |
| 17:09 | <MikeSmith> | what constitutes a declarative API? |
| 17:12 | <jgraham> | Either a) one that you want but aren't getting or b) one that someone else wants but you don't want to give them |
| 17:13 | <jgraham> | But I think typically people mean one that isn't implemented in script |
| 17:13 | <MikeSmith> | I like your first answer better |
| 17:15 | <MikeSmith> | so then next part of this quiz is what's declarative about approach B) in http://lists.w3.org/Archives/Public/public-webapps/2013OctDec/1096.html |
| 17:15 | <jgraham> | (but I think people can use "declarative API" to mean "high level API that allows implementing common tasks without worrying about the underlying mechanics", hence my first answer) |
| 17:16 | <MikeSmith> | ah |
| 17:17 | <MikeSmith> | oh man http://wiki.apidesign.org/wiki/Declarative_Programming is fun |
| 17:18 | <MikeSmith> | it reads like it was writteng by horsejs |
| 17:18 | <MikeSmith> | "JavaScript is just too powerful language for declarations." |
| 17:19 | <MikeSmith> | "That is why, if one wishes to worship declarative programming inside existing imperative languages, it seems very important to make the declarative syntax less powerful than Turing Machine." |
| 17:20 | <jgraham> | All hail our declarative overlords |
| 17:24 | <MikeSmith> | J̥̫͗̅ͥ̄͛͡ȧ̛͎͈̬̺̳̤̘̔͗ͣ́ͅv̵͉͕̯̗͓̠̫͈͑̐̊̔ͪ̃͠a͍͇̼̙ͭ̀ͅS̨͕̘̔͛̈̽̑̑ͭ̏ͤc̵̪̳̼̲̲̘̟ͮ͊r̵͉̼̲͍̱̱̋̇̉̂͟i̸͓̺͍͎͔̱̭͆͊ͬ̑̾͐̊p̋̽̎̑͒̅͑̎҉͖̞̥t͙̺̠̻͖͕̒͐̓͜ ̷͍̜̝͂̈̄͛ï̸̧̛̼̼͔̭̤̥̪̋ͥͭ͑̒͂̀s̴̢̤̯̰̗̲͙̬͗͛ͬͪ̅̀̽͢ ̫͚͆ͨͬ͗͛̌́̀͠j̀͑ͬͧ̍͗͏̯̙̳̀͡u̙̻̘ͪ̓s͖̬̮̯͈̱ͬͨ̀̂̿̚͟͡t̷̻̝͙̂̆̃̃ͭͮ͌̅ ͦͩ҉͓̳� |
| 17:52 | <annevk-cloud> | zcorpan: they match |
| 17:59 | <bholley> | Hixie: any last-ditch ideas on how to get input from Microsoft and Apple before we meet tomorrow? |
| 18:23 | <MikeSmith> | bholley: ping hober |
| 18:23 | <bholley> | hober: ^ |
| 18:26 | <MikeSmith> | from Microsoft you need Travis I guess |
| 18:26 | <MikeSmith> | somebody could e-mail him if you haven't already |
| 18:32 | <TabAtkins> | MikeSmith: "Declarative" and "imperative" are obviously spectrums, but declarative APIs are more rule-based and "let the UA figure it out" rather than the author explicitly doing things themselves. |
| 18:32 | <MikeSmith> | ok |
| 18:33 | <TabAtkins> | So, though that's a large email that I'm not going to do any more than skim, it does look like the "caches" approach is slightly more declarative than option A. |
| 18:33 | <MikeSmith> | TabAtkins: that sounds like what people usually call a high-level API vs a low-level one though |
| 18:33 | <TabAtkins> | Yes, high-level APIs are usually "high-level" because they're more declarative. |
| 18:38 | <MikeSmith> | bholley remind me whats that bug |
| 18:38 | <bholley> | MikeSmith: I already emailed Travis |
| 18:38 | <bholley> | MikeSmith: https://www.w3.org/Bugs/Public/show_bug.cgi?id=20701 |
| 18:39 | <MikeSmith> | ok |
| 18:40 | <MikeSmith> | ah great I follow that link and it launches firefox nightly I just finished building and I get XML Parsing Error: undefined entity Location: chrome://browser/content/browser.xul |
| 18:44 | <MikeSmith> | hmm well http://developer.chrome.com/extensions/events.html#declarative is interesting |
| 18:45 | <MikeSmith> | var rule = { conditions: [ /* my conditions */ ], actions: [ /* my actions */ ] |
| 18:45 | <MikeSmith> | }; |
| 18:53 | <TabAtkins> | MikeSmith: Ooh, that is rather interesting. |
| 18:54 | <MikeSmith> | something cooked up just for extensions I guess |
| 19:07 | <TabAtkins> | Okay, now that I'm reading Mellor's background sync thread in Gmail rather than the archives, it's much more understandable. |
| 19:07 | <TabAtkins> | One of the few times I've ever experienced in mailing lists where HTML emails are more readable than plain text. |
| 19:10 | <TabAtkins> | (Though I suspect that if the email were plain-text Markdown instead, it would be just as readable in the archives.) |
| 19:19 | <MikeSmith> | the plain text version seems pretty readable as is in my mua |
| 19:20 | <TabAtkins> | It's not terrible, it's just wall-of-texty, and difficult to distinguish the cases. |
| 19:20 | <TabAtkins> | A bit of bolding in the HTML version helps a ton for skimming. |
| 19:20 | <MikeSmith> | ah he's got some boldface of stuff in the HTML version though, that's nice |
| 19:20 | <MikeSmith> | in the code examples I mean |
| 19:20 | <TabAtkins> | Yeah, that's very helpful as well. |
| 19:21 | <TabAtkins> | Now I'm finally motivated to go read the ServiceWorker spec. It looks quite good! |
| 19:22 | <MikeSmith> | TabAtkins: yeah now only if there were actually a ServiceWorker spec that exists |
| 19:22 | <MikeSmith> | you'd be all set |
| 19:22 | <TabAtkins> | Yeah, the explainer documents are really nice, though. |
| 19:22 | <MikeSmith> | yeah |
| 19:22 | <TabAtkins> | I might ping Alex about working on that for real. |
| 19:22 | <MikeSmith> | I thought Jake said he was planning to work on it very soon |
| 19:23 | <TabAtkins> | Ah, cool. |
| 19:39 | <gsnedders> | This is so boring. Why did I decide to essentially rewrite the parser in process algebra as a uni project? |
| 19:54 | <gsnedders> | Just, implementing the state machine is so dull. |
| 19:55 | <odinho> | lol :) |
| 19:57 | <odinho> | I really liked reading the serviceworker docs as well. meant for a wide audience i guess :) |
| 20:16 | <TabAtkins> | Hahaha, I like the paragraph in the Explainer under "Offline & Fallback Content" that's just a single italic "Indeed". |
| 20:16 | <TabAtkins> | It's fun when you can tell someone's speaking mannerisms are bleeding into their writing. |
| 20:35 | <zcorpan> | annevk-cloud: where is it defined that they match? |
| 21:17 | <Ms2ger> | tobie, I don't follow the "This would be very detrimental to vendors running these test suites." comment |
| 21:22 | <tobie> | Ms2ger: did I misunderstand the mail? |
| 21:22 | <tobie> | I read it quickly. |
| 21:23 | <tobie> | I thought he was suggesting splitting the repository. |
| 21:23 | <Ms2ger> | Oh, I hope not |
| 21:23 | <Ms2ger> | I think that was about bugzilla components |
| 21:24 | <Ms2ger> | If we agree Bugzilla should be used to report all test case bugs: 1) should we have an agreed way for a test suite in WPT to point to Bugzilla (although Bugzilla has bug reports for websockets and workers tests, that link is missing from the test suites); 2) should we continue to lump all of the tests in a single component or create per test suite components (e.g. tests-workers, workers-tests, ...). |
| 21:35 | <zcorpan> | i don't want to hold a presentation at test the web forward going through the steps to create a bugzilla account and report a test bug |
| 21:36 | <zcorpan> | so, i agree with jgraham |
| 23:48 | <deadowl> | Why isn't the time element married to the Date objects of javascript? Anyone working on that? |
| 23:49 | <deadowl> | p.s. time, date, and datetime ought to be synonymous |