Options:
- # Session Start: Mon Nov 04 00:00:00 2013
- # Session Ident: #whatwg
- # [00:11] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
- # [00:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [00:15] * Quits: WebJonas (~Jonas@166.201.202.84.customer.cdi.no) (Ping timeout: 245 seconds)
- # [00:16] <jgraham> zewt: Yeah, it does often seem that TC39 are big on consistency and bad on usability. It isn't obvious why you couldn't add the ability to override the meaning of [] in particular classes and use that to make map less user hostile
- # [00:16] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [00:23] <Domenic_> you would be unable to pass a Map into a lot of existing code that assumes existing object keys are strings.
- # [00:23] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Quit: tobie)
- # [00:24] <zewt> so?
- # [00:25] <zewt> can't think of any case in any code i've ever written where that would matter more than having a map interface that isn't gross
- # [00:27] <zewt> and it trades for being able to use the class in tons of existing code that assumes object keys are the keys of the dictionary
- # [00:28] <zewt> function sum_values(dict) { var total = 0; for(var key in dict) total += dict[key]; return total; }
- # [00:28] <zewt> would work for both types, instead of having to write separate code for maps with their different interface
- # [00:29] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Quit: tantek)
- # [00:41] * Quits: jdaggett (~jdaggett@103.5.142.21) (Quit: jdaggett)
- # [00:42] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
- # [00:46] * Quits: ot (~css@unaffiliated/css) (Remote host closed the connection)
- # [00:49] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
- # [01:06] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: Back to real life!)
- # [01:13] * Joins: jdaggett (~jdaggett@103.5.142.32)
- # [01:21] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
- # [01:24] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
- # [01:29] * Quits: jorgepedret (~jorgepedr@70-36-56-110.dyn.novuscom.net) (Quit: Computer has gone to sleep.)
- # [01:31] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [01:37] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
- # [01:38] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [01:40] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 272 seconds)
- # [01:43] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [01:58] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [02:06] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Quit: tantek)
- # [02:27] * Quits: Guest88386 (~master@74-50-124-83.static.hvvc.us) (Ping timeout: 248 seconds)
- # [02:38] <Domenic_> annevk-cloud: why does ServiceWorker want multi-destination streams exactly? I can't quite understand it from that issue.
- # [02:40] * Joins: Guest88386 (~master@198.178.124.69)
- # [02:49] <TabAtkins> zewt: While there *is* a tc39 proposal for overriding the behavior of [], it would still be bad to make that the default for Maps, because of how JS treats .foo and ['foo'] identically. As Domenic_ has said, making maps use [] by default would break a *lot* of code that is currently assuming you can do obj[v] to access a property. And without that []
- # [02:49] <TabAtkins> ability, JS has no way to access a property whose name is stored in a string.
- # [02:49] * Joins: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt)
- # [02:49] <TabAtkins> (Python has a special function just for that - getattr() and setattr(). They're clumsy to use.)
- # [02:50] <zewt> they're identically clumsy to map.get() and map.set(), and that's okay because accessing a raw property on a map (rather than a key stored in the map) is rare
- # [02:50] <TabAtkins> It's fun to claim that, but every metaprogramming function ever uses computed properties.
- # [02:51] <zewt> (i was referring to leaving .foo and ["foo"] the same, but allowing properties to have non-string values, which of course wouldn't be accessible via .foo; an alternative is detaching .foo and ["foo"], but that wasn't what I was talking about)
- # [02:52] * Quits: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt) (Client Quit)
- # [02:52] <zewt> i've used python extensively, and getattr() is definitely the exception (but it's not really a useful comparison, since python already treats .foo and ["foo"] as two different things)
- # [02:52] <TabAtkins> And Map#get() and #set() are less clumsy, because they're used consistently. Even Python's getattr() and setattr() are less clumsy than they would be in JS, because they're the *only* way to get computed property names. Your suggestion would mean that *some* objects can have their properties accessed with obj[v], but not all.
- # [02:52] <zewt> they're not at all used consistently, because the dictionaries everyone already uses are simple objects that don't have .get or .set at all
- # [02:52] * Joins: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt)
- # [02:53] <TabAtkins> You're using "consistently" in a different manner than I am.
- # [02:53] * Quits: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt) (Read error: Connection reset by peer)
- # [02:53] <TabAtkins> You're referring to I guess consistency with existing practice.
- # [02:53] <zewt> i have endless amounts of code passing around dictionaries as objects; making Map have .get and .set instead of using [] means *none* of that code works with Map
- # [02:53] <TabAtkins> Which is terrible, and the whole reason we invented Maps.
- # [02:53] <TabAtkins> Mixing up keys and properties is super terrible.
- # [02:53] <TabAtkins> But we just grin and bear it right now, because there's no other way to get O(1) maps.
- # [02:54] <zewt> dominic's argument was that code assumes properties are strings, so allowing foo[Object] would break lots of code with that assumption; i'm saying that might be so (can't think of any real examples), but you trade for definitely not working with tons of code, which assumes key/value stores accessed with []
- # [02:54] <TabAtkins> I'm sorry that it took so long for JS to grow a Map class, but it's designed well now that it exists.
- # [02:55] <zewt> not being able to use simple objects and Map interchangeably for the "simple dictionary" pattern means I'm going to default to using objects, and only ever use Map when I really, specifically need to store non-string keys; that's a bad result
- # [02:57] <TabAtkins> Shrug, that'll definitely happen sometimes.
- # [02:57] <zewt> no, it'll happen all the time
- # [02:57] <TabAtkins> I wish {} hadn't already been claimed for object literals. :/
- # [02:57] <zewt> well, it would be nice if JS was like Python and treated .foo and ["foo"] as two different things, but that's not what we're talking about
- # [02:58] <TabAtkins> Regardless, unless we *also* overrode the behavior of .foo, you'd *still* run into the same problems you're outlining.
- # [02:58] <zewt> ... but we're *talking* about overriding both ["foo"] and .foo, since they're the same thing
- # [02:58] <TabAtkins> Because people like doing obj.foo over obj['foo'] when the "foo" is a literal.
- # [02:58] <TabAtkins> No, jeez, that's so terrible.
- # [02:58] <zewt> nobody is suggesting making ["foo"] and .foo different
- # [02:59] <TabAtkins> Every Map would have a "toString" key in it automatically, or at least would *look* like it did. +"get", "set", "delete", and others.
- # [02:59] <zewt> just make Map have no members and have an identical interface as a simple Object, and things that act on them go elsewhere (which is also consistent with what we already have, eg. Object.keys)
- # [03:00] * heycam is now known as heycam|away
- # [03:00] <TabAtkins> Object.keys is a hack around the problem that we don't want more properties to show up on everything. Maps are like normal objects, which have their behavior as methods on themselves.
- # [03:00] <TabAtkins> Having to do Map.clear(m) would be so shitty. :/
- # [03:00] <zewt> trivially, inconsequentially shitty
- # [03:01] <zewt> at the "it would be nice" level
- # [03:01] <TabAtkins> It's inconsistent with how virtually every other object in the entire language works, except for Object itself, which is an exception for obvious reasons.
- # [03:01] <zewt> Object.keys(foo) is a bit annoying (compared to foo.keys()); having object dictionaries and Map dictionaries have different interfaces is massively annoying
- # [03:02] <TabAtkins> Seriously, for every argument that it would be consistent in one way, it's less consistent in another way, seemingly worse way.
- # [03:03] * Quits: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de) (Ping timeout: 272 seconds)
- # [03:03] * Joins: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de)
- # [03:03] <zewt> i'd say the opposite: having Map have a different API (at least among the things discussed here so far) gives minor academic prettiness, at the expense of bigger failures
- # [03:04] <zewt> anyway, the result is that Map will be a type used for special-purpose scenarios, where you specifically need to stash things with objects as keys, and never a general-purpose container ... which is something the Web can live with (we've lived with string keys this far, after all), it's just sucky
- # [03:05] <TabAtkins> I agree that it would be *nice* for Maps and Objects-as-Maps to work the same way, but to make it happen, you have to accept several of the downsides of Objects-as-Maps (which we were trying to get away from) and having to structure the operations in a weird way that doesn't match anything else.
- # [03:05] <zewt> to me it seems better to match the dictionaries everyone is using, instead of a dictionary class that matches everything *except* ... you know, dictionaries
- # [03:06] <TabAtkins> Welp, I've explained why it's not better, or at least why I and TC39 think it's not better, so shrug.
- # [03:06] <zewt> i don't know much about TC39, except that every time I see that sequence of letters, it's about something I think is badly designed, heh
- # [03:07] <TabAtkins> Don't take this the wrong way, but most of the time when I see you complaining about it, I think you're on the wrong side. ^_^
- # [03:07] <zewt> oh well
- # [03:10] <Hixie> zewt: if it makes you feel any better, most of the time when i see tab defending TC39, I think _he's_ on the wrong side, so... :-)
- # [03:11] <zewt> <TabAtkins> oh well
- # [03:11] <Hixie> then again, my preferences in languages are basically diametrically opposed to javascript's basic philosophies, so it's not particularly surprising
- # [03:11] <zewt> i wish bugzilla would post to lists in a way gmail threads properly
- # [03:12] <zewt> it's annoying eg. reading the set()/toggle() bug, searching through dom for a minute and seeing "oh, toggle does this", then loading the bug and seeing that was already commented, it just ended up as a separate thread
- # [03:12] <Hixie> don't use gmail?
- # [03:12] <zewt> i think it's the "new:" it adds to new bugs that screws up gmail
- # [03:12] <zewt> yeah "change to a different email client" is pretty much never a useful solution, heh
- # [03:12] <Hixie> oh actually yeah, that particular one breaks even in pine
- # [03:12] <zewt> don't use pine?
- # [03:12] <zewt> :P
- # [03:14] * Joins: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net)
- # [03:22] <zewt> heh, i guess that's a pattern that fundamentally disagrees with the "arguments not passed should act like they're set to undefined" idea
- # [03:22] <zewt> (classList.set("foo", false))
- # [03:23] <zewt> actually I guess not and I'm just tired
- # [03:24] <zewt> maybe I should be watching TV and zoning out instead of reading specs on Sunday night
- # [03:30] * Quits: jdaggett (~jdaggett@103.5.142.32) (Quit: jdaggett)
- # [03:33] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
- # [03:33] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
- # [03:44] * Quits: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com) (Quit: leaving)
- # [03:45] * Joins: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com)
- # [03:46] <zewt> losing hope in humanity at still having to explicitly configure screen to utf-8
- # [03:46] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
- # [03:48] * Joins: newtron_ (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [03:52] * Quits: newtron_ (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [03:54] * heycam|away is now known as heycam
- # [04:08] * heycam is now known as heycam|away
- # [04:16] * heycam|away is now known as heycam
- # [04:29] * heycam is now known as heycam|away
- # [04:32] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [04:38] * Quits: BoyanYordanov (~boyan@77.71.96.54) (Quit: Leaving)
- # [04:43] * Joins: lmclister (~lmclister@210.177.241.2)
- # [04:45] * Joins: Benvie_ (~bbenvie@204.28.118.69)
- # [04:47] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
- # [04:50] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Client Quit)
- # [04:56] * Quits: plutoniix (~plutoniix@node-iff.pool-101-108.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [04:58] * Quits: Guest88386 (~master@198.178.124.69) (Ping timeout: 245 seconds)
- # [05:07] * DaveMethvin is now known as DaveMethvin|away
- # [05:12] * heycam|away is now known as heycam
- # [05:37] * Quits: Benvie_ (~bbenvie@204.28.118.69) (Ping timeout: 246 seconds)
- # [06:10] * Quits: lmclister (~lmclister@210.177.241.2)
- # [06:12] * Quits: papercut (papercut@gateway/shell/elitebnc/x-avusxrrqgofwwxik) (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!)
- # [06:17] * Joins: lmclister (~lmclister@202.82.120.65)
- # [06:21] * Joins: plutoniix (~plutoniix@node-yzh.pool-180-180.dynamic.totbb.net)
- # [06:22] * Joins: [[zz]] (~zz]]@node-yzh.pool-180-180.dynamic.totbb.net)
- # [06:29] * Quits: seventh (seventh@69.80.108.17) (Ping timeout: 245 seconds)
- # [06:33] * Quits: lmclister (~lmclister@202.82.120.65)
- # [06:37] * Joins: tantek (~tantek@107.25.184.185)
- # [06:38] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
- # [06:39] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [06:41] * Quits: plutoniix (~plutoniix@node-yzh.pool-180-180.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [06:43] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [06:50] * heycam is now known as heycam|away
- # [07:20] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
- # [07:30] * Joins: papercut (papercut@gateway/shell/elitebnc/x-gigivjnfkhxacicj)
- # [07:34] * Joins: a-ja (~Instantbi@70.230.164.222)
- # [07:37] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Ping timeout: 245 seconds)
- # [07:39] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [07:43] * Joins: zdobersek (~zdobersek@46.165.210.17)
- # [07:49] * Quits: jernoble (~jernoble@17.212.152.13) (Ping timeout: 240 seconds)
- # [07:50] * Joins: jernoble (~jernoble@17.212.152.13)
- # [07:58] * DaveMethvin|away is now known as DaveMethvin
- # [08:03] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [08:04] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
- # [08:04] <MikeSmith> BOM breaks Crosswalk testing? https://github.com/w3c/web-platform-tests/pull/400
- # [08:06] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
- # [08:06] * Quits: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 240 seconds)
- # [08:07] <MikeSmith> Hixie: about troubleshooting the bugzilla problem if you think it might help, I can ask somebody to look at the server logs
- # [08:08] <MikeSmith> (I'd do it myself but I don't have shell access to the server)
- # [08:10] * DaveMethvin is now known as DaveMethvin|away
- # [08:11] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [08:17] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Read error: Connection reset by peer)
- # [08:20] <MikeSmith> 笑 serious discussion about now adding a usemap-N attribute
- # [08:20] <MikeSmith> good times
- # [08:29] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 260 seconds)
- # [08:32] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
- # [09:00] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [09:01] * Joins: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl)
- # Session Close: Mon Nov 04 09:01:47 2013
- #
- # Session Start: Mon Nov 04 09:01:47 2013
- # Session Ident: #whatwg
- # [09:01] * Disconnected
- # [09:05] * Attempting to rejoin channel #whatwg
- # [09:05] * Rejoined channel #whatwg
- # [09:05] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
- # [09:05] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
- # [09:14] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
- # [09:14] <zcorpan> Hixie: the login thing in the spec is gone?
- # [09:17] * Joins: hasather (~hasather@80.91.33.141)
- # [09:24] * Joins: rego (~rego@231.193.27.77.dynamic.mundo-r.com)
- # [09:26] <MikeSmith> zcorpan: the usemap thing shows another reason why an attribute-based solution is suboptimal here. Along with the specific existing problem of making it work with usemap, it come with the same problem for any new attributes we might want to add to img later (attributes whose values might need to vary based on the properites of the image)
- # [09:29] <zcorpan> MikeSmith: i don't think it shows that it's suboptimal. you either want an existing feature of img to work, and you have to provide it, or you don't and don't, regardless of img vs picture
- # [09:29] <MikeSmith> of course
- # [09:30] <MikeSmith> but with picture it doesn't require anything more than adding a usemap analog to source
- # [09:30] <MikeSmith> or just usemap
- # [09:31] <MikeSmith> whereas with src-N it requires introducing further mess
- # [09:31] <MikeSmith> from an authoring point of view
- # [09:32] <zcorpan> well first we need to consider whether we need to have the usemap feature available at all together with image switching
- # [09:32] * Quits: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net) (Ping timeout: 272 seconds)
- # [09:32] <MikeSmith> true
- # [09:33] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [09:33] * Joins: hasather (~hasather@80.91.33.141)
- # [09:34] <zcorpan> most features of img we actually want to work the same, i think
- # [09:34] <MikeSmith> yeah I would think so
- # [09:36] <zcorpan> so that argues for using <img>, but doesn't argue for attributes for the sources - it *could* do what <input list> does
- # [09:36] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [09:36] * Joins: hasather (~hasather@80.91.33.141)
- # [09:37] <zcorpan> i'm not sure that's an awesome solution either though; it requires the author to mint IDs for all images
- # [09:39] <zcorpan> or it could check the next element sibling, like <img usesourcelist alt ...><sourcelist>...
- # [09:39] <MikeSmith> still seems better than minting yet another attribute
- # [09:41] <zcorpan> what attribute?
- # [09:41] <MikeSmith> I meant yet another attribute like src-N
- # [09:42] <MikeSmith> with some complex microsyntax
- # [09:42] <zcorpan> for usemap you mean?
- # [09:42] <MikeSmith> just for the usemap case
- # [09:42] <MikeSmith> yeah
- # [09:43] <zcorpan> ok. yeah i don't disagree. but i'm not convinced we need usemap
- # [09:44] <MikeSmith> yeah, me neither
- # [09:45] <MikeSmith> but I think others are likely to say it needs to be supported for the src-N case
- # [09:46] <zcorpan> that doesn't make it a good idea to do it
- # [09:47] <Ms2ger> Like src-N? ;)
- # [09:47] <zcorpan> like anything, just people saying "this is needed" by itself doesn't mean much
- # [09:49] <zcorpan> as for usemap, if it needs anything, the first step would be to explore real cases where you'd use it and see what is actually needed. maybe what we really need is an event when there's a breakpoint switch
- # [09:52] * Quits: tantek (~tantek@107.25.184.185) (Quit: tantek)
- # [09:54] * Joins: tantek (~tantek@107.25.184.185)
- # [09:57] * Joins: WesleyMcClane_ (~quassel@host151-145-dynamic.10-87-r.retail.telecomitalia.it)
- # [09:58] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
- # [09:58] * Joins: bholley (~bholley@p5B279731.dip0.t-ipconnect.de)
- # [10:00] * Quits: WesleyMcClane (~quassel@host185-107-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
- # [10:01] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [10:05] * Quits: tantek (~tantek@107.25.184.185) (Quit: tantek)
- # [10:06] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
- # [10:09] <MikeSmith> hsivonen: when I take a document with an HTML4 doctype and feed it to validator.nu, and I manually choose an HTML5 preset, I'd expect to see an "obsolete doctype" warning. But I don't.
- # [10:09] <Ms2ger> Is it an allowed one?
- # [10:09] <MikeSmith> http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F
- # [10:09] <MikeSmith> Ms2ger: yeah
- # [10:10] <MikeSmith> and from code inspection I know why it's not emitting the warning
- # [10:10] <MikeSmith> the reason is it only emits the warning if the parser mode is set to HTML5 parsing
- # [10:11] <MikeSmith> which you can do in the validator.nu UI by manually setting the Parser option to HTML5
- # [10:11] <MikeSmith> http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F&parser=html5
- # [10:12] <MikeSmith> but I don't think users should be expected to do that manually
- # [10:14] * Joins: rniwa (~rniwa@c-98-207-134-149.hsd1.ca.comcast.net)
- # [10:14] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [10:15] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
- # [10:15] <MikeSmith> I guess the best way to deal with it would be to be automatically set the parser mode to HTML5 if a user chooses an HTML5 preset
- # [10:17] * Joins: darobin (~darobin@78.109.80.74)
- # [10:17] <JakeA> Domenic_: annevk-cloud: Was there any discussion for an "always" method on Promises?
- # [10:17] <Domenic_> JakeA: yes, https://github.com/domenic/promises-unwrapping/issues/18
- # [10:18] * Joins: Zauberfisch (~Zauberfis@venus.zauberfisch.at)
- # [10:18] <Domenic_> it may be possible to get it in now that the fate of promises themselves is less up in the air. but we'll see.
- # [10:19] <JakeA> I'm playing around with them, but find myself doing .then(func, func) a lot
- # [10:19] <JakeA> or .catch(function(){})
- # [10:20] <annevk-cloud> Domenic_, ask JakeA the streams thing
- # [10:20] <JakeA> Domenic_: Ended up with this for displaying cached data then attempting a live update https://gist.github.com/jakearchibald/481ae9e5e72d83147585
- # [10:20] <Domenic_> .then(func, func) has pretty bad semantics, not as good as finally.
- # [10:21] <Domenic_> JakeA: what was the service worker use case for piping a stream to multiple destinations?
- # [10:22] <JakeA> Domenic_: What you mentioned in your doc. Getting a network response and sending it to the browser and cache at the same time
- # [10:22] <Domenic_> JakeA: ah excellent, I guessed right! :D
- # [10:24] <JakeA> There's potential for a transformation in between too. Eg, the copy from the network could have state info that you don't want in the cache, eg "Logged in a Jake" which may not be true later
- # [10:24] * Quits: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be) (Quit: bbl)
- # [10:24] <JakeA> So network stream goes to the browser, but also to a transform to strip bits out, then the cache
- # [10:25] <JakeA> That would probably be messy and regexy though, but possibly the best solution for server-constructed sites that want to hack in offline support
- # [10:26] <JakeA> Domenic_: Looking at finally… that doesn't recover from the error right? It passes the error along?
- # [10:26] <JakeA> If so, I don't think it fits my usecase
- # [10:26] <Domenic_> JakeA: right, just like sync try { } finally { }
- # [10:27] <Domenic_> yeah, I think you really want an empty catch block
- # [10:27] <JakeA> What if .catch() desugared to .catch(function(reason) { return reason })?
- # [10:27] <JakeA> That'd work
- # [10:28] <Domenic_> seems weird
- # [10:28] <Domenic_> arrow functions make it nicer .catch(r => r)
- # [10:30] <zcorpan> MikeSmith: why should it warn about the html4 doctype when validating as html5?
- # [10:30] <JakeA> showSpinner().then(fetchStuff).catch().then(hideSpinner)
- # [10:31] <MikeSmith> zcorpan: because the spec says it's an obsolete doctype
- # [10:31] <JakeA> reads well to me as in "catch errors and continue"
- # [10:31] <Domenic_> hmm yeah it kind of does
- # [10:31] <MikeSmith> zcorpan: and authors should change it to just <!doctype html>
- # [10:31] <JakeA> maybe desugaring to .catch(function() {}) would be safer, because you're sure of the value afterwards
- # [10:32] <Domenic_> agreed, seems weird to have an error for a value.
- # [10:32] <zcorpan> MikeSmith: ok i see it in the spec now. i thought it was supposed to be silently permitted
- # [10:32] <JakeA> Domenic_: Shall I make an issue for this, or has the discussion moved elsewhere?
- # [10:32] <JakeA> Or are changes to .catch() with no args set in stone now?
- # [10:32] <Domenic_> JakeA: issue is great. We'll see what people think. I gotta sleep now though :)
- # [10:33] <JakeA> G'night!
- # [10:33] <MikeSmith> zcorpan: well I'm not sure the spec explicitly states what conformance checkers should do
- # [10:33] <MikeSmith> for this case
- # [10:33] <zcorpan> http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#warnings-for-obsolete-but-conforming-features
- # [10:34] <MikeSmith> ah
- # [10:34] <MikeSmith> thanks
- # [10:38] * Joins: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net)
- # [10:39] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [10:41] * Parts: a-ja (~Instantbi@70.230.164.222)
- # [10:41] <MikeSmith> zcorpan: btw I notice that for HTML4 documents, validator.nu also emits a warning if the doctype lacks a system ID. "Warning: The doctype did not contain the system identifier prescribed by the HTML 4.01 specification."
- # [10:42] <zcorpan> MikeSmith: yeah
- # [10:42] <MikeSmith> http://validator.nu/?doc=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/html401-strict.html
- # [10:43] <MikeSmith> zcorpan: does the HTML4 spec actually say the doctype should have a system ID?
- # [10:45] * Joins: bholley_ (~bholley@p5B278D19.dip0.t-ipconnect.de)
- # [10:46] <zcorpan> MikeSmith: " HTML 4.01 specifies three DTDs, so authors must include one of the following document type declarations in their documents."
- # [10:46] * Joins: Yitro (~Yitro@101.164.232.85)
- # [10:47] * Quits: bholley (~bholley@p5B279731.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
- # [10:47] * bholley_ is now known as bholley
- # [10:47] <zcorpan> you could choose to read it as you must use those exact strings, or must use a doctype that refers to those DTDs, or something in between
- # [10:47] * Joins: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk)
- # [10:48] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Ping timeout: 240 seconds)
- # [10:48] <zcorpan> hsivonen read it as FPI+SI, and on a practical matter IE5 Mac uses quirks mode for HTML 4.01 strict without SI
- # [10:49] <zcorpan> but it doesn't really matter either way now
- # [10:49] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [10:50] * Joins: Kolombiken (~Adium@94.137.124.2)
- # [10:50] <MikeSmith> ok
- # [10:51] <MikeSmith> zcorpan: it matters somewhat for me, because I want to replace the legacy W3C validator
- # [10:52] <zcorpan> MikeSmith: ok, so what's the goal there? avoid new warnings? be spec-correct? be useful?
- # [10:53] <MikeSmith> first, be useful
- # [10:53] <MikeSmith> I don't care about avoiding new warnings, as long as they are useful
- # [10:54] <zcorpan> so the usefulness here is whether the author cares about quirks mode in ie5 mac
- # [10:55] <zcorpan> which is to say that warning about it isn't useful
- # [10:56] <MikeSmith> yeah
- # [10:57] <MikeSmith> I think it's not a message that any author would find useful at this point
- # [10:57] <zcorpan> also see the 4.0 doctype
- # [10:58] <MikeSmith> what about it? you mean, no system ID?
- # [10:58] * Quits: rniwa (~rniwa@c-98-207-134-149.hsd1.ca.comcast.net) (Quit: rniwa)
- # [10:58] <zcorpan> v.nu treats it differently to 4.01
- # [10:59] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
- # [11:00] <zcorpan> but i guess that's ok if you validate as html4 -- the html4 spec says you must use 4.01 after all
- # [11:00] <MikeSmith> right
- # [11:01] * DaveMethvin|away is now known as DaveMethvin
- # [11:11] * DaveMethvin is now known as DaveMethvin|away
- # [11:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [11:16] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [11:17] * Joins: Ms2ger (~Ms2ger@b255h096.ugent.be)
- # [11:24] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [11:25] * Joins: hasather (~hasather@80.91.33.141)
- # [11:26] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [11:26] * Joins: hasather (~hasather@80.91.33.141)
- # [11:28] * Quits: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr) (Excess Flood)
- # [11:30] * Joins: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr)
- # [11:32] * Joins: Lachy (~Lachy@213.166.174.2)
- # [11:39] <jgraham> TabAtkins: Having Object.getProperty to do the same as the current behaviour of [], and map behave like you would expect with [] seems like a much better design than what TC39 has. Doing proper introspection in JS already requires the extremely-verbose Object.getOwnPropertyDescriptor to do well so I don't think "introspection should be favoured over API usage" is a good argument
- # [11:45] * Joins: joelcox (~joelcox@unaffiliated/joelcox)
- # [11:45] * Joins: adactio (~adactio@212.42.170.181)
- # [11:49] <matjas> if a parent page has <base name=foo>, is it possible to get the `name` from within an iframe in that page?
- # [11:50] <Ms2ger> window.parent.document.get...?
- # [11:51] <matjas> http://ruxcon.org.au/assets/slides/CSP-kuza55.pptx says <base name=foo> leaks cross-domain
- # [11:51] <matjas> i’m trying to understand what the author meant exactly
- # [11:52] <JakeA> Anyone feel they know their way around Promises? Would be good to get some thoughts on https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448
- # [11:52] <matjas> IIUC `window.parent.document.get...` would fail if the iframe is on a different origin, right?
- # [11:56] * Joins: annevk (~annevk@207.218.72.65)
- # [12:00] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
- # [12:01] * Joins: felipeduardo (~felipedua@189.115.44.34)
- # [12:02] <Ms2ger> I'd hope so
- # [12:02] * matjas asks @kuza55
- # [12:06] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [12:06] * Joins: hasather (~hasather@80.91.33.141)
- # [12:08] <jgraham> What's the name attribute on base?
- # [12:10] <Ms2ger> Gives the base name, clearly
- # [12:11] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 240 seconds)
- # [12:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [12:17] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [12:22] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
- # [12:25] * Joins: WesleyMcClane (~quassel@host92-137-dynamic.7-87-r.retail.telecomitalia.it)
- # [12:26] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
- # [12:28] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
- # [12:28] * Quits: WesleyMcClane_ (~quassel@host151-145-dynamic.10-87-r.retail.telecomitalia.it) (Ping timeout: 272 seconds)
- # [12:33] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
- # [12:35] <annevk> JakeA: for the XHR code you are not catching all errors...
- # [12:35] <annevk> JakeA: e.g. abort
- # [12:36] <JakeA> Good point
- # [12:38] <annevk> JakeA: why don't you do Promise.race on the cached vs live and use the first result to run updateGallery?
- # [12:38] <JakeA> annevk: It's not just first-wins. If cached comes in first, I still want to do a live update. But if live comes in first I don't want to do a cached update
- # [12:39] <annevk> Ah
- # [12:39] <JakeA> Race would work if I could do if (networkWon) { abortCachedUpdate(); }
- # [12:43] * Joins: hasather (~hasather@80.91.33.141)
- # [12:43] <annevk> JakeA: it seems "react to network fetch" doesn't have to be a separate line
- # [12:43] <annevk> JakeA: that could be part of liveFetch's callback
- # [12:43] <annevk> JakeA: where you set liveFetchResolved
- # [12:44] <JakeA> Ah yes, I'd only need it if liveFetch.isResolved were a thing, and updateGallery were async
- # [12:44] <JakeA> I *think* I was separating the two fetches & updates, but yeah, not needed
- # [12:44] <annevk> and the .race could be refactored by just having then and have showNoDataError hide the spinner
- # [12:45] <annevk> not sure what is better
- # [12:45] <annevk> it kinda seems you want to hide the spinner when updateGallery is invoked
- # [12:46] <annevk> so maybe the .race thing isn't really needed
- # [12:46] * Quits: Ms2ger (~Ms2ger@b255h096.ugent.be) (Quit: bbl)
- # [12:47] <JakeA> Nah, I only want to hide the spinner when the gallery is updated as a result of the network fetch, or if it fails, but yeah, it could go there
- # [12:47] <JakeA> But I still need the race to show the error if both updates fail
- # [12:49] <JakeA> I either call hideSpinner where I do now, or at the end of liveUpdate as .then(hideSpinner, hideSpinner)
- # [12:49] <JakeA> Actually, hideSpinner is in the wrong place now
- # [12:50] <JakeA> As it'll hide on cachedUpdate, which is shouldn't
- # [12:52] <JakeA> It feels like promises haven't really helped write this code
- # [12:52] <annevk> JakeA: wait, if you care about both updating failing you should not use .race but .all
- # [12:53] <JakeA> .all rejects if one fails but the other succeeds. I only want to catch both failing, which race does right?
- # [12:53] <JakeA> It's like array's .some?
- # [12:54] <JakeA> (both failing means I have no data to show, which is the only case I want to show an error)
- # [12:54] <annevk> Ah yeah, I still don't get why updateGallery needs to be wrapped in a promise though
- # [12:55] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
- # [12:55] <JakeA> Yeah, it doesn't. Updated.
- # [12:56] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
- # [12:57] <JakeA> annevk: I was returning the result of updateGallery (which is void) so it could be async in future, but I've removed that bit now
- # [12:57] * Quits: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl) (Quit: Gone coding)
- # [12:58] <annevk> So yeah, you want finally
- # [12:58] <annevk> JakeA: even if updateGallery was async you could return it where you have it now
- # [12:59] <JakeA> yeah
- # [13:00] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Ping timeout: 245 seconds)
- # [13:00] * Joins: richt (~richt@124-170-60-133.dyn.iinet.net.au)
- # [13:01] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
- # [13:01] <JakeA> So, my conclusions are: "finally" is great. liveFetchResolved is nasty, getting state from the promise would be better. "race" is an unintuitive method name if you're using it to detect all-reject.
- # [13:01] <jgraham> \/window 28
- # [13:09] <JakeA> annevk: Thanks for reviewing. I thought this use case would play to Promises strengths, but it's not much cleaner & readable than it'd have been without them
- # [13:13] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [13:14] * Quits: richt (~richt@124-170-60-133.dyn.iinet.net.au) (Remote host closed the connection)
- # [13:14] * Joins: richt (~richt@124-170-60-133.dyn.iinet.net.au)
- # [13:17] <annevk> JakeA: it might be that Domenic_ has some insights in how to structure that better
- # [13:17] <JakeA> annevk: Yeah, that's why I posted it here. I've gone through loads of revisions but it feels like I'm missing a trick
- # [13:17] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [13:18] <annevk> JakeA: what you really want I think is to cancel the cached operation if the live succeeds
- # [13:18] <annevk> JakeA: we don't have cancellation yet however
- # [13:19] * Quits: richt (~richt@124-170-60-133.dyn.iinet.net.au) (Ping timeout: 272 seconds)
- # [13:20] <JakeA> Yeah, which I could do with the xhr directly. But I'd only want to call abort if it was in a pending state, so I'd still want to access state from the promise.
- # [13:20] <JakeA> I guess I'd get this state from xhr directly
- # [13:34] * Quits: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
- # [13:35] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
- # [13:35] <matjas> jgraham, Ms2ger, re: <base name> according to this document, you can define an element’s (window) name using <base>: http://help.dottoro.com/lhewchgl.php
- # [13:36] <matjas> so once you can get data into <base name="…">, you can leak it cross-domain. that’s what the author meant apparently
- # [13:39] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
- # [13:40] <zcorpan> matjas: test case showing <base name> doing something, pls :-)
- # [13:42] <annevk> Did he mean window.name?
- # [13:43] <annevk> And <base target=name>?
- # [13:43] <annevk> Because I think that is a long well known leak
- # [13:52] * Joins: baku (~baku@207.218.72.65)
- # [13:57] <zcorpan> so what's the attack scenario with window.name?
- # [13:58] * Joins: WesleyMcClane_ (~quassel@host38-151-dynamic.6-87-r.retail.telecomitalia.it)
- # [14:01] * Quits: WesleyMcClane (~quassel@host92-137-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 272 seconds)
- # [14:02] * Quits: espadrine (~ttyl@acces1121.res.insa-lyon.fr) (Ping timeout: 268 seconds)
- # [14:04] <matjas> annevk, zcorpan: nah, <base name>
- # [14:04] <matjas> zcorpan: i’m wondering the same thing
- # [14:05] <matjas> zcorpan: ah, the window.name thing i can explain
- # [14:05] <matjas> zcorpan: a page without X-Frame-Options can be framed in a document that sets the frame name
- # [14:08] * Joins: Zauberfisch_ (~Zauberfis@venus.zauberfisch.at)
- # [14:09] <MikeSmith> hsivonen: I have a validator patch and a related htmlparser patch I hope you can take a look at this week
- # [14:09] <MikeSmith> https://bitbucket.org/sideshowbarker/validator/commits/43e40934e7573aa44e8d8f0b6364bb4210d394d3/raw/
- # [14:09] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [14:09] <MikeSmith> https://bitbucket.org/sideshowbarker/htmlparser-fork/commits/0c8df2fbb5ed46837954cf1d8ae338ae740848a5/raw/
- # [14:10] <zcorpan> matjas: then navigates to _parent and it gets the name?
- # [14:11] <matjas> well, the rest is basically https://bugzilla.mozilla.org/show_bug.cgi?id=444222
- # [14:11] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Ping timeout: 240 seconds)
- # [14:13] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
- # [14:14] <zcorpan> i think the spec doesn't have that problem. http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name
- # [14:14] <zcorpan> only for top-level
- # [14:16] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [14:16] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
- # [14:18] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [14:19] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [14:19] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
- # [14:20] * Joins: jreading (Adium@nat/novell/x-qirvaskbgqzmhqym)
- # [14:21] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
- # [14:21] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [14:24] <zcorpan> TabAtkins: moved to http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name
- # [14:24] <zcorpan> er
- # [14:24] <zcorpan> http://dev.w3.org/fxtf/geometry/
- # [14:25] <hsivonen> MikeSmith: does the tree builder patch downgrade some errors to warnings?
- # [14:25] * Joins: danjesus (~danjesus@187.11.123.208)
- # [14:26] <hsivonen> MikeSmith: what's the goal of this change?
- # [14:29] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [14:30] * Quits: joelcox (~joelcox@unaffiliated/joelcox) (Quit: joelcox)
- # [14:33] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [14:34] <MikeSmith> hsivonen: the goal of the TreeBuilder patch is to nu
- # [14:34] * DaveMethvin|away is now known as DaveMethvin
- # [14:34] <hsivonen> MikeSmith: parse error :-(
- # [14:35] <hsivonen> anyway, looking at the tree builder patch more closely, it indeed seems to fix a bug, so r+
- # [14:35] <MikeSmith> *not emit an sorry, typing on my mobile
- # [14:35] <hsivonen> MikeSmith: what problem does the validator patch solve?
- # [14:37] * Joins: Benvie_ (~bbenvie@204.28.118.69)
- # [14:37] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
- # [14:38] <MikeSmith> hsivonen: validator patch causes a warning to be emitted if the user has manually chosen html5 checking, but the doctype is a html5 or XHTML1 doctype
- # [14:39] <MikeSmith> currently we do not emit a warning for that case
- # [14:41] <MikeSmith> that is, the case where the user selects an html5 preset without also manually selecting the html5 parser iron
- # [14:41] <MikeSmith> *option
- # [14:43] <MikeSmith> *but the doctype is an html4 or XHTML1 doctype
- # [14:47] <MikeSmith> hsivonen: about the TreeBuilder patch, do I need to open a bugzilla.mozilla bug to have it landed, or you can just land it from that changeset, or...?
- # [14:48] <hsivonen> MikeSmith: I can land it.
- # [14:48] <MikeSmith> ok
- # [14:48] <hsivonen> MikeSmith: r+ on the validator patch, too, I guess
- # [14:49] <MikeSmith> thanks
- # [14:49] * Joins: decotii (~decotii@hq.croscon.com)
- # [14:49] <annevk> zcorpan: ah, I guess today window.name might no longer be reachable
- # [14:53] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
- # [14:54] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
- # [14:56] * Quits: Yitro (~Yitro@101.164.232.85) (Quit: Leaving)
- # [14:57] * Joins: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de)
- # [14:59] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [14:59] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
- # [15:00] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
- # [15:00] * Joins: hasather (~hasather@80.91.33.141)
- # [15:01] <hsivonen> MikeSmith: does the parser patch have a bug number in *some* Bugzilla?
- # [15:03] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Read error: Connection reset by peer)
- # [15:03] * Joins: newtron (~newtron@199.71.174.203)
- # [15:04] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
- # [15:04] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
- # [15:04] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
- # Session Close: Mon Nov 04 15:14:03 2013
- #
- # Session Start: Mon Nov 04 15:14:03 2013
- # Session Ident: #whatwg
- # [15:14] * Disconnected
- # [15:17] * Attempting to rejoin channel #whatwg
- # [15:17] * Rejoined channel #whatwg
- # [15:17] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
- # [15:17] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
- # [15:19] * Joins: alrra (~alrra@unaffiliated/alrra)
- # [15:20] <annevk> jgraham: I recommend setting whatwg/streams to Watch
- # [15:20] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Quit: Leaving.)
- # [15:21] <jgraham> annevk: What does that do?
- # [15:22] <jgraham> (mostly I need to fix my email filters so that not all email from github ends up in the same folder)
- # [15:23] <annevk> jgraham: only gives you notifications when mentioned
- # [15:23] * Joins: hasather (~hasather@80.91.33.141)
- # [15:23] <annevk> jgraham: oh, "Not watching" is what I meant
- # [15:24] <annevk> jgraham: confusingly the label says "Watch" but I guess that's what happens if I press it now
- # [15:24] <jgraham> annevk: That seems pretty useless? What I think I want is "one email per new issue, and the ability to subscribe to the issue if I am interested"
- # [15:25] <jgraham> (Which isn't possible from github afaik)
- # [15:25] <jgraham> Because (insert github rant here)
- # [15:27] * Joins: TallTed (~Thud@63.119.36.36)
- # [15:29] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [15:30] * Joins: reyre (~reyre@142.204.133.18)
- # [15:31] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Read error: Connection reset by peer)
- # [15:34] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
- # [15:36] * Krinkle|detached is now known as Krinkle
- # [15:36] * Joins: krawchyk_ (~krawchyk@65.220.49.251)
- # [15:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [15:39] * Joins: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be)
- # [15:40] * Quits: krawchyk (~krawchyk@65.220.49.251) (Ping timeout: 272 seconds)
- # [15:42] * Quits: brianloveswords (~brianlove@li124-154.members.linode.com) (Excess Flood)
- # [15:43] * Quits: krawchyk_ (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [15:44] * Joins: brianloveswords (~brianlove@li124-154.members.linode.com)
- # [15:45] * Quits: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net) (Ping timeout: 245 seconds)
- # [15:46] <Ms2ger> (Second github rant here)
- # [15:48] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
- # [15:50] * Joins: idbentley (~idbentley@204.91.28.98)
- # [15:51] <annevk> arv: so nextElementSibling on DocumentType is not in stable Chrome yet it seems
- # [15:52] <arv> annevk: It is not? Let me check. This was changed several months ago (but I only have dev channel here)
- # [15:53] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
- # [15:53] <Ms2ger> http://lists.w3.org/Archives/Public/www-style/2013Nov/0016.html
- # [15:56] * Joins: reyre (~reyre@142.204.133.18)
- # [15:56] <annevk> Ms2ger: o_O
- # [15:57] <annevk> There's only one sensible reply there
- # [15:57] <arv> annevk: I just verified that it is in M31 (current stable)
- # [15:57] <annevk> arv: oh!
- # [15:58] <Ms2ger> annevk, and that's not to reply? :)
- # [15:58] <annevk> arv: so <!DOCTYPE html><script>w(document.firstChild.nextElementSibling)</script> in http://software.hixie.ch/utilities/js/live-dom-viewer/ yields <html>?
- # [15:59] <annevk> seems like yes
- # [15:59] <MikeSmith> hsivonen: thanks
- # [15:59] <arv> annevk: yup
- # [16:00] <MikeSmith> hsivonen: and no, I hadn't raised a bug for it anywhere, so there anyway wouldn't have been any bug number to mention in the changeset
- # [16:01] <hsivonen> MikeSmith: ok
- # [16:01] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [16:04] <Domenic_> JakeA: my initial question would be, assume all your functions are sync. How would you write the code then?
- # [16:06] * Joins: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt)
- # [16:10] <JakeA> Domenic_: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943356
- # [16:14] <Domenic_> JakeA: in that case, https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943359
- # [16:15] <annevk> Domenic_: that doesn't allow racing between the cache and network though
- # [16:15] <annevk> Domenic_: which would be an advantage of having this async
- # [16:15] * Joins: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk)
- # [16:15] <Domenic_> annevk: ah, it wasn't clear that was desired, i will revisit in a bit
- # [16:16] <annevk> Domenic_: it seems you want to race between them, cancel cache if network is done, but not cancel network if cache is done
- # [16:16] <annevk> Domenic_: and then keep the spinner and content up to date while you do all that
- # [16:17] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
- # [16:17] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
- # [16:18] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
- # [16:18] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
- # [16:19] * vcarbune is now known as vcarbune|away
- # [16:22] <JakeA> Domenic_: The desired process is https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943260
- # [16:22] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
- # [16:23] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [16:24] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
- # [16:25] * Joins: reyre (~reyre@142.204.133.18)
- # [16:26] * Joins: jreading (Adium@nat/novell/x-jjugknedmuxhksat)
- # [16:26] * Parts: jreading (Adium@nat/novell/x-jjugknedmuxhksat)
- # [16:29] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
- # [16:34] * Joins: erichynds (~erichynds@64.206.121.41)
- # [16:38] * Joins: bzalasky (~bzalasky@67.188.211.46)
- # [16:55] <annevk> Does anyone have opinions on where XMLHttpRequest's restrictions on Request objects go?
- # [16:55] <Domenic_> JakeA: just to confirm, what if: 1) fetch from cache fails, but fresh fetch succeeds; and 2) cache data arrives before fresh data.
- # [16:55] <annevk> In particular XMLHttpRequest restricts methods and headers.
- # [16:56] <annevk> Domenic_: ignore cache
- # [16:56] <Domenic_> JakeA: not "and" as in "what happens if both", I meant more, those are two not-yet-specified cases by your desired process.
- # [16:56] <annevk> only if both fail do you do shownoupdate
- # [16:56] <Domenic_> and if cache arrives before fresh?
- # [16:56] <JakeA> Domenic_: If cache fails, but fresh succeeds, page is updated with fresh data & spinner stops
- # [16:56] <annevk> you first update with cache, then with fetch
- # [16:56] * paul_irish_ is now known as paul_irish
- # [16:57] <Domenic_> ah, that breaks the symmetry, making it annoying. ok.
- # [16:57] <JakeA> Domenic_: If cached data arrives first, page is updated with cached data. Network fetch continues and page will be updated again if/when it succeeds
- # [16:57] <annevk> it seems somewhat common to have this code in the SW
- # [16:58] <annevk> though I don't think it should leak outside the SW as JakeA's code suggests
- # [16:58] <JakeA> Actually, I saw this code living in the page. The service worker would handle serving the data & populating the cache on a fresh update
- # [16:59] * DaveMethvin is now known as DaveMethvin|away
- # [16:59] <annevk> If I had an SW I would want that to handle all the cache complexity for me
- # [16:59] <annevk> And just deal with URLs myself
- # [17:00] <JakeA> The service worker would only be able to handle the initial page serve, not the second request for fresh data & update
- # [17:00] <JakeA> eg, the page would want to do stuff like "Don't update with fresh data if old data has been interacted with", eg like writing a tweet reply
- # [17:01] * Quits: mven (~mven@ip68-224-15-53.lv.lv.cox.net) (Remote host closed the connection)
- # [17:01] <annevk> Ah yeah, fair. Although SW could ping the page but then you would indeed no longer be dealing with just a URL...
- # [17:01] <annevk> Sad.
- # [17:01] * Joins: mven (~mven@ip68-224-15-53.lv.lv.cox.net)
- # [17:02] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 272 seconds)
- # [17:02] <Domenic_> if cache comes back successfully then fresh comes back successfully one second later, at which point do you hide the spinner?
- # [17:02] <JakeA> annevk: I'll get this full "gallery" example into the repo later in the month. It could be that we could make this stuff easier
- # [17:03] <annevk> Domenic_: spinner is for network I'd assume
- # [17:03] <JakeA> Domenic_: Spinner only hides once the fresh data request ends, whether it fails or succeeds
- # [17:03] * Quits: eric_carlson (~eric@17.212.152.104) (Ping timeout: 265 seconds)
- # [17:03] <Domenic_> ah so i should think of this as a non-modal spinner.
- # [17:04] <JakeA> I guess, technically, you'd hide the spinner when both requests have completed (fail or succeed). But linking it to the network request is good enough
- # [17:04] <JakeA> If the network request fails, but the cache fetch is still happening (likely if there's zero connectivity), it might be nice to still show a spinner
- # [17:04] <JakeA> But my code at the top of the gist doesn't do that
- # [17:05] <JakeA> Surprising amount of edge cases to this
- # [17:06] <annevk> Isn't that what UI is?
- # [17:06] * Quits: mven (~mven@ip68-224-15-53.lv.lv.cox.net) (Ping timeout: 272 seconds)
- # [17:07] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
- # [17:07] <Domenic_> Using .finally: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943394
- # [17:08] * Quits: bzalasky (~bzalasky@67.188.211.46) (Remote host closed the connection)
- # [17:09] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
- # [17:09] <JakeA> annevk: Hah!
- # [17:11] * Quits: stalled (~stalled@unaffiliated/stalled) (Ping timeout: 260 seconds)
- # [17:12] <JakeA> Domenic_: annevk suggested Promise.all([cacheUpdate, freshUpdate]).catch(showNoDataError) too, either you're both wrong or I don't understand the API…
- # [17:12] <JakeA> I thought Promise.all(...) would reject if any of the promises rejected
- # [17:12] <JakeA> and only resolve if all of the promises resolved
- # [17:12] <Domenic_> hmm yes, i think i am wrong, why did i do that
- # [17:13] <JakeA> .race only rejects if all the promises reject, yeah?
- # [17:13] <JakeA> I'd have placed bets on me being wrong there
- # [17:13] <Domenic_> no it rejects if any of the promises reject before any of the promises fulfills
- # [17:13] <Domenic_> what we really want is .any
- # [17:13] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
- # [17:14] <JakeA> Ohhhhhhh
- # [17:14] <Domenic_> the problem with speccing .any is figuring out what the aggregate error should look like if all reject
- # [17:15] <JakeA> array of responses, right?
- # [17:15] <annevk> JakeA: you need both response and fulfilled/reject state
- # [17:17] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
- # [17:17] <JakeA> Yeah. I thought race resolved on first to resolve, and rejected on all-rejected. Hah
- # [17:17] <JakeA> My code in the original gist is broken then
- # [17:21] <JakeA> Domenic_: So, need something like finally. & it'd be nice to have freshUpdate.isResolved to remove the need for updatedFromFresh. Is that fair?
- # [17:21] * Joins: stalled (~stalled@unaffiliated/stalled)
- # [17:24] * Joins: tantek (~tantek@107.25.184.185)
- # [17:24] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [17:29] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 265 seconds)
- # [17:30] <Domenic_> JakeA: isResolved isn't really useful, since you could be resolved to a pending promise
- # [17:31] <annevk> freshUpdate.hasThenBeenInvoked
- # [17:31] <JakeA> I guess I'm looking for isComplete
- # [17:31] <Domenic_> .race is pretty useless ... its existence stems from its counterpart being included in DOM promises, and MarkM liking it, and it having very straightforward/easy to spec semantics. If any of those were false it would probably have died along with what we are now calling .any---which is more useful, but harder to spec.
- # [17:31] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
- # [17:31] <JakeA> annevk: Hah, yeah
- # [17:31] <Domenic_> sounds like you are looking for isFulfilled, but that is not determinable without possible side effects, e.g. collapsing any lazy promises
- # [17:33] <Domenic_> well, maybe i am lying, if you can do it in user space, you should be able to do it in spec space.
- # [17:33] * Quits: tantek (~tantek@107.25.184.185) (Ping timeout: 245 seconds)
- # [17:33] <JakeA> Does feel like there should be a more promisey way to handle updatedFromFresh
- # [17:33] <Domenic_> no, i am not lying, the user-space solution explicitly triggers .then.
- # [17:33] <Domenic_> I dunno, seems fine to me.
- # [17:34] <Domenic_> Remembering the sync/async parallel, i.e. you would do the exact same thing for sync-ish code.
- # [17:34] <annevk> JakeA: would it be much better with callbacks?
- # [17:34] <JakeA> Fair enough, I'm probably just trying to cram everything into the model of the new thing. Like when people ask how to do setTimeout in jQuery
- # [17:34] <annevk> JakeA: alternatively, how would you ideally have done it?
- # [17:34] <Domenic_> haha
- # [17:35] <JakeA> annevk: Oh, yeah, I don't have any better solutions. And I'm not being down on promises, just felt like I wasn't doing it as well as it could be done
- # [17:36] <annevk> I'm also just wondering :)
- # [17:36] <JakeA> But yeah, it sounds like there's a finally() and a Promises.any() missing
- # [17:37] <Domenic_> .any is weird because if you reject with an array of reasons you are breaking the rule that rejections should be Errors.
- # [17:38] <JakeA> Didn't realise that was a rule, but makes sense
- # [17:38] <JakeA> I'm glad we had this chat before I finished my html5rocks article on Promises :D
- # [17:38] <Domenic_> e.g. would you write a sync function that does `func(funcs) { var errors = []; funcs.forEach(f => try { f() } catch (e) { errors.push(e); } if (errors.length) { throw errors; } }`? maybe you would, but seems a bit weird.
- # [17:39] <Domenic_> haha awesome i love html5rocks
- # [17:39] <JakeA> Domenic_: I'll send you the draft when it's done, sounds like it'll benefit from a proof read
- # [17:41] * Quits: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt) (Remote host closed the connection)
- # [17:50] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
- # [17:52] * Joins: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt)
- # [17:56] * Joins: reyre (~reyre@142.204.133.18)
- # [17:57] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [17:59] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 240 seconds)
- # [18:00] * Joins: Kolombiken (~Adium@94.137.124.2)
- # [18:00] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
- # [18:02] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [18:03] * Joins: mven (~mven@169.241.49.195)
- # [18:04] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [18:05] * Joins: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de)
- # [18:08] <Ms2ger> "What makes @w3c a leader in global innovation?"
- # [18:09] <Ms2ger> I'd love to hear
- # [18:09] * DaveMethvin|away is now known as DaveMethvin
- # [18:09] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 248 seconds)
- # [18:09] <annevk> Too bad @w3cdrm broke
- # [18:10] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
- # [18:12] <dglazkov> good morning, Whatwg!
- # [18:12] * Krinkle is now known as Krinkle|detached
- # [18:14] * Quits: annevk (~annevk@207.218.72.65) (Remote host closed the connection)
- # [18:14] * Joins: cabanier (~cabanier@192.150.22.55)
- # [18:14] * Joins: annevk (~annevk@207.218.72.65)
- # [18:17] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # [18:17] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
- # [18:21] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
- # [18:26] * Joins: jsbell (jsbell@nat/google/x-wgvchtunniqhudxw)
- # [18:31] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
- # [18:33] * Quits: Osmose1000 (Osmose1000@2600:3c02::f03c:91ff:feae:1aeb) (Ping timeout: 260 seconds)
- # [18:33] * Joins: frozenice (~frozenice@unaffiliated/fr0zenice)
- # [18:34] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Quit: Computer has gone to sleep.)
- # [18:35] * Joins: Osmose1000 (Osmose1000@2600:3c02::f03c:91ff:feae:1aeb)
- # [18:40] * Joins: rxgx (~rxgx@64.38.203.218)
- # [18:43] * Joins: espadrine (~ttyl@acces1121.res.insa-lyon.fr)
- # [18:44] * Joins: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
- # [18:45] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
- # [18:45] * Joins: reyre (~reyre@142.204.133.18)
- # [18:46] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
- # [18:46] * Joins: alrra (~alrra@unaffiliated/alrra)
- # [18:50] * Joins: jwalden (~waldo@nat/mozilla/x-zzfvsylyfqzbapsm)
- # [18:51] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net)
- # [18:53] * Quits: rxgx (~rxgx@64.38.203.218) (Quit: timeout)
- # [18:54] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [18:56] * Quits: baku (~baku@207.218.72.65) (Quit: Leaving)
- # [18:58] * Joins: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net)
- # [19:00] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Quit: Ex-Chat)
- # [19:04] * Joins: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59)
- # [19:04] * Parts: adactio (~adactio@212.42.170.181)
- # [19:05] * Joins: rxgx (~rxgx@64.38.203.218)
- # [19:07] * Quits: rxgx (~rxgx@64.38.203.218) (Client Quit)
- # [19:07] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Quit: tobie)
- # [19:07] * Joins: mven (~mven@169.241.49.195)
- # [19:08] * Joins: jernoble|laptop (~jernoble@17.114.109.200)
- # [19:09] * Quits: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
- # [19:09] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
- # [19:11] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [19:12] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
- # [19:13] * Krinkle|detached is now known as Krinkle
- # [19:13] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
- # [19:16] * Joins: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk)
- # [19:23] * Krinkle is now known as Krinkle|detached
- # [19:26] * Joins: nimbu (~nimbu@192.150.10.205)
- # [19:29] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
- # [19:29] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
- # [19:30] * Joins: mven (~mven@169.241.49.195)
- # [19:35] * Quits: mven (~mven@169.241.49.195) (Ping timeout: 272 seconds)
- # [19:35] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [19:41] * Quits: jwalden (~waldo@nat/mozilla/x-zzfvsylyfqzbapsm) (Quit: brb)
- # [19:44] <TabAtkins> jgraham: Normal people don't need to do full-power property introspection; for most uses, just doing foo.bar or ("bar" in foo) is just fine. So gOPD isn't a valid criticism, as it's something you use only in rare metaprogramming cases.
- # [19:44] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 265 seconds)
- # [19:45] * Joins: jwalden (~waldo@nat/mozilla/x-ahedsdxphzaxelsf)
- # [19:45] <Ms2ger> TabAtkins, right, so why not support foo.bar?
- # [19:46] <TabAtkins> Because of everything I've already said when discussing this with zewt. You have all Maps appearing to have a "toString" key, and have to either swallow that all Maps appear to have "get"/"set"/"clear"/etc keys as well, or push them off onto the Map object in a fashion that isn't done anywhere else (except Object).
- # [19:46] * Quits: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr) (Excess Flood)
- # [19:48] * Joins: alecf_ (~alecf@216.239.45.130)
- # [19:48] * Quits: alecf_ (~alecf@216.239.45.130) (Client Quit)
- # [19:48] * Quits: alecf (alecf@nat/google/x-bglmkvkndejyjwhf) (Remote host closed the connection)
- # [19:48] * Joins: alecf (~alecf@216.239.45.130)
- # [19:49] <jgraham> FWIW it is less clear to me why . and [] have to do the same thing
- # [19:49] <TabAtkins> Because JS has always done that, changing it now would be impossible, and changing it for a *single object* is just silly.
- # [19:49] * Joins: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr)
- # [19:50] <jgraham> It's only silly if you don't introduce a general mechanism for doing it
- # [19:50] <TabAtkins> And having one object act differently, and in a way that'll break lots of naive scripts, directly counters the "consistency" argument used to try and argue for using [] with Maps.
- # [19:50] <TabAtkins> Indeed, and there's a proposal for doing that (which isn't making it into ES6).
- # [19:50] <jgraham> The argument I used isn't "consistency"
- # [19:51] <jgraham> It's "usability"
- # [19:51] <TabAtkins> But it's still something that breaks naive scripts, and so you don't want to turn it on for an object by default.
- # [19:51] * Joins: jdaggett (~jdaggett@ac233076.dynamic.ppp.asahi-net.or.jp)
- # [19:51] <TabAtkins> Yes, I had this same argument with zewt last night.
- # [19:52] <jgraham> It only breaks those scripts if people start throwing sets at them without updating them. Which is possible of course, but not obviously a deal breaker
- # [19:52] <jgraham> The same is true of lots of new features
- # [19:52] <TabAtkins> I acknowledge that [] is slightly more usable, and in line with how you access object-maps. But we can't make Maps do that without accepting a lot of bad things, which hurt the usability as well. So it's definitely not a clear-cut right or wrong decision.
- # [19:52] <jgraham> (for example the generic not-in-ES6 mechanism for doing this that you just alluded to)
- # [19:53] <TabAtkins> (The generic mechanism is just assigning a function to some Symbol-valued get/set properties on the object, which are then used for gets/sets using [] instead of the default behavior.)
- # [19:54] * Joins: weinig (~weinig@17.114.218.152)
- # [19:55] <jgraham> Right, more or less what you would expect. No reason that couldn't work for set. And if it does go in, it will be confusing in the future when user objects overload [] but built-in sets don't
- # [19:55] <TabAtkins> Of course there's no reason why it wouldn't work. I'm saying you don't want it to work that way *by default*, because doing so is inconsistent with the rest of the language and will break lots of things doing simple metaprogramming.
- # [19:56] <TabAtkins> I'm sorry there's no perfect answer. Perhaps JS messed up from the beginning by having .foo and ['foo'] do the same thing. But we can't get away from that.
- # [19:57] <jgraham> I don't think I can blame you *personally* for that
- # [19:57] <gsnedders> BLAME HIM!
- # [19:57] <gsnedders> BURN HIM!
- # [19:57] <jgraham> Unless you go on to invent a time machine and threaten Brendan with death unless he consents to your will
- # [19:57] <TabAtkins> If I had a time machine, there's several people I would be threatening with death unless they consented to my will.
- # [19:58] <jgraham> Hmm, my estimate of the probability of that being the case just went up
- # [19:58] <jgraham> *cause
- # [19:59] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
- # [20:00] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
- # [20:01] * Joins: tantek (~tantek@172.56.30.192)
- # [20:01] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
- # [20:01] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
- # [20:02] * Joins: darobin (~darobin@78.208.93.24)
- # [20:05] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
- # [20:08] * Joins: weinig (~weinig@17.114.218.152)
- # [20:09] * Krinkle|detached is now known as Krinkle
- # [20:11] * Joins: barnabywalters (~barnabywa@89.17.128.127)
- # [20:14] <Domenic_> TabAtkins: I'm confused, is a promise for itself required (since monads don't care what's inside them) or disallowed?
- # [20:14] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [20:14] <TabAtkins> Domenic_: Irrelevant question. The monad contract doesn't care what inside the context. Resolve it however you want.
- # [20:15] <TabAtkins> You need to *allow* a monad to be put inside of itself, but it's fine to make that cause rejection. You just shouldn't, for example, throw.
- # [20:15] <Domenic_> hmm
- # [20:15] <TabAtkins> Just note Mark's comments about remote promises not being able to eagerly reject.
- # [20:15] <Domenic_> right yeah
- # [20:15] <Domenic_> that'll be tricky
- # [20:19] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: Back to real life!)
- # [20:21] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [20:21] * Parts: DylanJ (DylanJ@unaffiliated/dylanj) ("WeeChat 0.4.1")
- # [20:23] * Krinkle is now known as Krinkle|detached
- # [20:25] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [20:26] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net)
- # [20:30] * Quits: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net) (Ping timeout: 246 seconds)
- # [20:31] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
- # [20:35] * Quits: diffalot (~diffalot@76.107.128.104) (Quit: ZNC - http://znc.in)
- # [20:36] * Joins: weinig (~weinig@17.114.2.233)
- # [20:39] * Joins: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net)
- # [20:43] * Quits: tantek (~tantek@172.56.30.192) (Quit: tantek)
- # [20:44] * Quits: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net) (Changing host)
- # [20:44] * Joins: diffalot (~diffalot@unaffiliated/papyromancer)
- # [20:44] * Quits: jdaggett (~jdaggett@ac233076.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [20:51] * Quits: idbentley (~idbentley@204.91.28.98) (Ping timeout: 245 seconds)
- # [20:53] * Quits: erichynds (~erichynds@64.206.121.41)
- # [20:54] * Joins: idbentley (~idbentley@204.91.28.98)
- # [20:58] * Joins: rniwa (~rniwa@17.212.154.114)
- # [20:58] * Joins: Domenic__ (~domenic_@12.173.83.50)
- # [21:01] * Joins: puddy (~abcdasdf@structuredweb.rdns.stellanetworks.com)
- # [21:01] * Quits: nimbu (~nimbu@192.150.10.205) (Ping timeout: 272 seconds)
- # [21:01] * Quits: jwalden (~waldo@nat/mozilla/x-ahedsdxphzaxelsf) (Quit: back shortly)
- # [21:02] * Quits: weinig (~weinig@17.114.2.233) (Quit: weinig)
- # [21:05] * Joins: jpwhiting (~jeremy@kde/developer/whiting)
- # [21:05] <jpwhiting> MikeSmith: ping
- # [21:06] * Joins: jwalden (~waldo@nat/mozilla/x-opidsyhcbbnbvnzt)
- # [21:07] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
- # [21:09] * Joins: weinig (~weinig@17.114.218.152)
- # [21:09] * Quits: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt) (Remote host closed the connection)
- # [21:10] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 272 seconds)
- # [21:11] * Quits: darobin (~darobin@78.208.93.24) (Remote host closed the connection)
- # [21:17] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [21:23] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [21:30] * Joins: shaunbaker (~shaunbake@97e69e6b.skybroadband.com)
- # [21:30] * Quits: shaunbaker (~shaunbake@97e69e6b.skybroadband.com) (Remote host closed the connection)
- # [21:32] * Quits: alecf (~alecf@216.239.45.130) (Quit: alecf)
- # [21:32] * Quits: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59) (Read error: Connection reset by peer)
- # [21:32] * Joins: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59)
- # [21:34] * Joins: WebJonas (~Jonas@166.201.202.84.customer.cdi.no)
- # [21:35] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [21:35] * Quits: idbentley (~idbentley@204.91.28.98) (Ping timeout: 240 seconds)
- # [21:35] * Quits: WebJonas (~Jonas@166.201.202.84.customer.cdi.no) (Read error: Connection reset by peer)
- # [21:36] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
- # [21:38] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 272 seconds)
- # [21:38] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
- # [21:41] * Quits: felipeduardo (~felipedua@189.115.44.34) (Ping timeout: 240 seconds)
- # [21:42] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [21:45] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
- # [21:46] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
- # [21:48] * Joins: idbentley (~idbentley@204.91.28.98)
- # [21:49] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [21:49] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [21:50] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
- # [21:53] * Quits: Domenic__ (~domenic_@12.173.83.50) (Remote host closed the connection)
- # [21:57] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Ping timeout: 245 seconds)
- # [21:57] * Joins: TallTed (~Thud@63.119.36.36)
- # [22:03] * Joins: rxgx (~rxgx@wsip-98-174-192-209.ph.ph.cox.net)
- # [22:05] * Quits: rego (~rego@231.193.27.77.dynamic.mundo-r.com) (Remote host closed the connection)
- # [22:07] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
- # [22:07] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
- # [22:08] * Joins: RogerWS (~rogerws@wsip-70-166-130-57.fv.ks.cox.net)
- # [22:13] * Quits: jkomoros (uid7860@gateway/web/irccloud.com/x-nrxhhemboxoyroxo) (Remote host closed the connection)
- # [22:13] * Quits: slightlyoff (sid1768@gateway/web/irccloud.com/x-htialuviwvmfuheo) (Remote host closed the connection)
- # [22:13] * Quits: hdv (sid2376@gateway/web/irccloud.com/x-tfpuavtpwpkclieo) (Remote host closed the connection)
- # [22:13] * Quits: astearns (sid15080@gateway/web/irccloud.com/x-dhstmqmztwlplsfz) (Remote host closed the connection)
- # [22:13] * Quits: BruNeX_ (uid4730@gateway/web/irccloud.com/x-sxkbqgsdoyvdausc) (Remote host closed the connection)
- # [22:13] * Quits: Domenic_ (uid10976@gateway/web/irccloud.com/x-yrmhrjnnemvilvnq) (Remote host closed the connection)
- # [22:13] * Quits: JakeA (~uid3836@gateway/web/irccloud.com/x-ushkoohejtblgxgx) (Remote host closed the connection)
- # [22:13] * Quits: ryanseddon (uid1832@gateway/web/irccloud.com/x-xzxsvtkodgdujhxu) (Write error: Connection reset by peer)
- # [22:15] * Quits: charl_ (~charl@charl.eu) (Quit: leaving)
- # [22:15] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
- # [22:15] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
- # [22:15] * Joins: topek (~topek@91-119-228-239.dynamic.xdsl-line.inode.at)
- # [22:16] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [22:17] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Client Quit)
- # [22:18] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
- # [22:19] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [22:20] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 268 seconds)
- # [22:21] * Joins: othermaciej (~mjs@17.114.218.106)
- # [22:21] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Ping timeout: 245 seconds)
- # [22:22] * Joins: tantek (~tantek@172.56.30.192)
- # [22:22] * Quits: krit (uid15081@gateway/web/irccloud.com/x-lktnrpqqeuvwhuce) (Remote host closed the connection)
- # [22:22] * Quits: benschwarz (uid2121@gateway/web/irccloud.com/x-ivgaqkqdnozvmkev) (Remote host closed the connection)
- # [22:22] * Quits: romainhuet (uid2533@gateway/web/irccloud.com/x-jlebgevflxffwqvf) (Remote host closed the connection)
- # [22:22] * Quits: remysharp_ (~uid4345@gateway/web/irccloud.com/x-gmzrqunwhwknwcyg) (Remote host closed the connection)
- # [22:22] * Quits: jamesr__ (uid10481@gateway/web/irccloud.com/x-rmzxovxmruijgknv) (Remote host closed the connection)
- # [22:22] * Quits: matijs (uid2278@gateway/web/irccloud.com/x-ggtsedqoxrkqnhtj) (Read error: Connection reset by peer)
- # [22:22] * Quits: rastus_vernon (uid15187@gateway/web/irccloud.com/x-vizpgtnqjnkmonko) (Remote host closed the connection)
- # [22:22] * Quits: mvujovic (uid13458@gateway/web/irccloud.com/x-cbjpwlurucjajera) (Remote host closed the connection)
- # [22:22] * Quits: agcolom__ (uid6233@gateway/web/irccloud.com/x-cvegdqueyqaigcyn) (Remote host closed the connection)
- # [22:22] * Quits: esprehn (uid10445@gateway/web/irccloud.com/x-abkvoghhudpihero) (Remote host closed the connection)
- # [22:22] * Quits: pdr (uid7901@pdpc/supporter/active/pdr) (Remote host closed the connection)
- # [22:22] * Quits: bkardell__ (uid10373@gateway/web/irccloud.com/x-rmfrryysuqqcmlcm) (Remote host closed the connection)
- # [22:22] * Quits: arv (uid4269@gateway/web/irccloud.com/x-gtzqadujelluzgya) (Remote host closed the connection)
- # [22:22] * Quits: krawchyk (~krawchyk@65.220.49.251)
- # [22:25] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [22:25] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [22:26] * Quits: matjas (uid2247@gateway/web/irccloud.com/x-wxhopnhubriuqchi) (Remote host closed the connection)
- # [22:26] * Quits: TabAtkins (uid11559@gateway/web/irccloud.com/x-emwmjlezlpucufwx) (Remote host closed the connection)
- # [22:26] * Quits: timeless (uid4015@gateway/web/irccloud.com/x-lvwpgevapdglpdit) (Remote host closed the connection)
- # [22:26] * Quits: dglazkov (uid4270@gateway/web/irccloud.com/x-vwzmrvuecxufweuv) (Remote host closed the connection)
- # [22:26] * Quits: aklein (uid4454@gateway/web/irccloud.com/x-lzsciaoqodbnwmto) (Remote host closed the connection)
- # [22:26] * Quits: anssik_ (uid10742@gateway/web/irccloud.com/x-xbmtehqhxvgsucaa) (Remote host closed the connection)
- # [22:26] * Quits: abarth (uid5294@gateway/web/irccloud.com/x-zihrmtpgtpczizqf) (Remote host closed the connection)
- # [22:26] * Quits: Ancil_ (uid12206@gateway/web/irccloud.com/x-osrepdbnhobhplcl) (Remote host closed the connection)
- # [22:26] * Quits: Phae (uid455@gateway/web/irccloud.com/x-ddnkqvabfuatbros) (Remote host closed the connection)
- # [22:26] * Quits: rafaelw (uid4459@gateway/web/irccloud.com/x-wazxhuzunincixik) (Remote host closed the connection)
- # [22:26] * Quits: annevk-cloud (uid2483@gateway/web/irccloud.com/x-jsedrnkqjmdootdj) (Remote host closed the connection)
- # [22:26] * Quits: scottjehl__ (uid3055@gateway/web/irccloud.com/x-ryxplwadlkjfssak) (Remote host closed the connection)
- # [22:26] * Quits: krijn (uid2319@gateway/web/irccloud.com/x-wtrjqcbuttlxyjom) (Remote host closed the connection)
- # [22:26] * Quits: wycats (uid79@gateway/web/irccloud.com/x-yotiocukndmjadgn) (Write error: Connection reset by peer)
- # [22:26] * Quits: ojan (uid5519@gateway/web/irccloud.com/x-rdzwubfdtfoebcyd) (Remote host closed the connection)
- # [22:26] * Quits: dfreedm (uid7859@gateway/web/irccloud.com/x-vdoahiwajyoofzoi) (Remote host closed the connection)
- # [22:26] * Quits: scheib (uid4467@gateway/web/irccloud.com/x-jkggkqpvcidagmqd) (Remote host closed the connection)
- # [22:26] * Quits: twisted` (uid6794@gateway/web/irccloud.com/x-yjlabckvuenmavca) (Write error: Connection reset by peer)
- # [22:26] * Quits: sangwhan__ (uid12645@gateway/web/irccloud.com/x-cqlorxklltdxlrhy) (Remote host closed the connection)
- # [22:28] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
- # [22:35] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
- # [22:35] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
- # [22:36] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
- # [22:37] * Joins: roven_ (~roven@78-20-24-80.access.telenet.be)
- # [22:37] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
- # [22:37] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [22:39] * Joins: esprehn (~esprehn@216.239.45.72)
- # [22:39] * Quits: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be) (Quit: nn)
- # [22:47] * Quits: topek (~topek@91-119-228-239.dynamic.xdsl-line.inode.at) (Remote host closed the connection)
- # [22:47] * Quits: jsbell (jsbell@nat/google/x-wgvchtunniqhudxw) (Quit: There's no place like home...)
- # [22:50] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [22:53] * Joins: nimbu (~nimbu@192.150.10.205)
- # [22:54] * heycam|away is now known as heycam
- # [22:59] * Joins: weinig (~weinig@17.114.107.18)
- # [23:02] * Joins: mven (~mven@169.241.49.195)
- # [23:03] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
- # [23:06] * Joins: eric_carlson (~eric@17.212.152.104)
- # [23:07] * Quits: othermaciej (~mjs@17.114.218.106) (Quit: othermaciej)
- # [23:08] <Hixie> anyone got an idea of what the event we fire on <details> should be called? fired when it opens or closes
- # [23:08] <Hixie> best current suggestion is "ontoggle"
- # [23:09] * Joins: jacobolus (~jacobolus@74-93-7-234-SFBA.hfc.comcastbusiness.net)
- # [23:10] <Hixie> where's a good bikeshed when you need one
- # [23:10] * Joins: slightlyoff (sid1768@gateway/web/irccloud.com/x-mrrinlwpjnepbyan)
- # [23:10] * Joins: ryanseddon (uid1832@gateway/web/irccloud.com/x-mseflgirldyrasnr)
- # [23:10] * Joins: hdv (sid2376@gateway/web/irccloud.com/x-orvytyhpwmfecyfd)
- # [23:10] * Joins: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com)
- # [23:11] * Quits: yoav (~yoav@sdo26-1-78-245-148-181.fbx.proxad.net) (Quit: Ex-Chat)
- # [23:11] * Joins: JakeA (uid3836@gateway/web/irccloud.com/x-opuswtgayogfouae)
- # [23:11] * Joins: BruNeX_ (uid4730@gateway/web/irccloud.com/x-rmwxiralatafhwzc)
- # [23:13] <jgraham> That seems like a perfectly good name
- # [23:13] * GPHemsley concurs
- # [23:15] * Joins: jkomoros (uid7860@gateway/web/irccloud.com/x-lydsauxrcntuzfqk)
- # [23:17] * Joins: Domenic_ (sid10976@gateway/web/irccloud.com/x-xnhynpyrjzfiegrb)
- # [23:18] <hober> yeah, +1
- # [23:20] <jgraham> Hixie: Quick, ship an implementation before anyone disagrees
- # [23:21] <miketaylr> i dunno onopenorclosestatechange seems pretty good too
- # [23:21] * miketaylr hides
- # [23:23] <Hixie> ontoggle it is
- # [23:23] * nimbu kills miketaylr
- # [23:24] * Joins: astearns (sid15080@gateway/web/irccloud.com/x-tpilmsaywgpkighd)
- # [23:29] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
- # [23:30] * Joins: mven (~mven@169.241.49.195)
- # [23:32] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Quit: Nettalk6 - www.ntalk.de)
- # [23:34] * Joins: othermaciej (~mjs@17.114.106.194)
- # [23:34] * Quits: mven (~mven@169.241.49.195) (Ping timeout: 245 seconds)
- # [23:37] * Parts: puddy (~abcdasdf@structuredweb.rdns.stellanetworks.com)
- # [23:38] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [23:39] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [23:43] * Quits: frozenice (~frozenice@unaffiliated/fr0zenice) (Quit: quit.)
- # [23:43] * Quits: espadrine (~ttyl@acces1121.res.insa-lyon.fr) (Ping timeout: 240 seconds)
- # [23:43] * Joins: benschwarz (uid2121@gateway/web/irccloud.com/x-owykdvjepepfnfem)
- # [23:43] * Joins: matijs (uid2278@gateway/web/irccloud.com/x-dncddjvyeshhvdyw)
- # [23:43] * Joins: romainhuet (uid2533@gateway/web/irccloud.com/x-lxynumszibpcjzcq)
- # [23:43] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 264 seconds)
- # [23:46] * Joins: arv (uid4269@gateway/web/irccloud.com/x-ntvqioxbmsisizua)
- # [23:46] * Quits: tantek (~tantek@172.56.30.192) (Ping timeout: 245 seconds)
- # [23:46] * Joins: remysharp_ (sid4345@gateway/web/irccloud.com/x-oemijmzqsdovgvib)
- # [23:48] * Joins: vcarbune (~vcarbune@84-75-248-2.dclient.hispeed.ch)
- # [23:48] * Joins: agcolom__ (uid6233@gateway/web/irccloud.com/x-iiszmaqorljhrlnb)
- # [23:48] * Joins: birtles (~chatzilla@61-121-216-2.bitcat.net)
- # [23:50] * Joins: pdr (sid7901@gateway/web/irccloud.com/x-gzmifyswyiwqoejy)
- # [23:51] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
- # [23:52] * Joins: bkardell__ (uid10373@gateway/web/irccloud.com/x-ciuaclukpvvimnyt)
- # [23:52] * Joins: esprehn_ (uid10445@gateway/web/irccloud.com/x-algmhhobtojpadjs)
- # [23:52] * Joins: jamesr__ (uid10481@gateway/web/irccloud.com/x-rzcozwuggvkhpdmr)
- # [23:54] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Quit: Leaving.)
- # [23:54] * Joins: TabAtkins (~tabatkins@216.239.45.72)
- # [23:54] * Joins: jamesr (jamesr@nat/google/x-itqdrggsxmwrxheo)
- # [23:57] * Joins: lmclister (~lmclister@192.150.10.204)
- # [23:57] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # Session Close: Tue Nov 05 00:00:00 2013
The end :)