| 04:43 | <Hixie> | zcorpan: have them mail me |
| 06:41 | <Joser> | hello |
| 06:43 | <Ms2ger> | Bye |
| 08:24 | <MikeSmith> | zcorpan: sorry if I seemed overly dismissive in my response to that validator bug report |
| 08:25 | <zcorpan> | MikeSmith: no problem |
| 08:25 | <MikeSmith> | the context is that I was going through validator bugs this weekend and trying to resolve some of the stale onece |
| 08:25 | <MikeSmith> | *ones |
| 08:25 | <MikeSmith> | that is, ones that I think have little chance of ever getting implemented |
| 08:25 | <MikeSmith> | and that bug seems like one of those |
| 08:26 | <MikeSmith> | what I really want to do is just move the legacy validator to validator.w3.org/classic or something |
| 08:27 | <MikeSmith> | and completely remove the HTML5-checking from it |
| 08:27 | <MikeSmith> | and instead just move the validator.nu-based validator to validator.w3.org |
| 08:28 | <MikeSmith> | then the kinds of problems like in that bug report disappear |
| 08:28 | <jgraham> | "classic" does rather strongly suggest "classic car", which might not give quite the right impression. |
| 08:28 | <MikeSmith> | and I could focus just on making the vnu validator as good as it should be |
| 08:29 | <jgraham> | I would make all sorts of serious suggestions |
| 08:29 | <MikeSmith> | jgraham: it's better than "old" or "legacy" |
| 08:29 | <jgraham> | But really I just want it to be /steampunk |
| 08:29 | <MikeSmith> | heh |
| 08:30 | <MikeSmith> | antique |
| 08:30 | <MikeSmith> | emeritus |
| 08:31 | <Ms2ger> | "brocante" is apparently translated as "junk" |
| 08:57 | <zcorpan> | MikeSmith: makes sense |
| 11:27 | <jgraham> | zcorpan: Thanks for finishing that review |
| 11:27 | <zcorpan> | np |
| 11:29 | <jgraham> | Should register arewereviewedyet.com and plot number of open pull requests against time |
| 11:30 | <jgraham> | Actually it would be a pretty nice idea to make a web-platform-tests status dashboard |
| 11:31 | <jgraham> | With # open pull requests |
| 11:31 | <jgraham> | Some measurements of test coverage |
| 11:31 | <jgraham> | Probably some other stuff |
| 11:33 | jgraham | wonders what a "branded future" is |
| 11:34 | <jgraham> | Apart from social commentary |
| 11:40 | <Ms2ger> | zcorpan, jgraham, any of you want to merge? :) |
| 11:41 | <zcorpan> | "Server reply: Merging pull request failed (you are not allowed to merge this pull request)" |
| 11:41 | <Ms2ger> | Boo. |
| 11:41 | <zcorpan> | merging in github worked |
| 11:41 | <Ms2ger> | Ah |
| 11:41 | <jgraham> | That button doesn't work :) |
| 11:42 | <Ms2ger> | Merging in critic is known-broken |
| 11:42 | <jgraham> | I don't know why |
| 11:42 | <Ms2ger> | I don't know why the button is still there ;) |
| 11:43 | <jgraham> | Ms2ger: BEcause I haven't dared revert to the version I put in critic-critic yet :) |
| 11:43 | <jgraham> | s/revert/switch/ |
| 11:43 | <Ms2ger> | So you're asking the critics to review your critic which you aren't using to critic? |
| 11:44 | <jgraham> | Exactly |
| 11:44 | <Ms2ger> | Aha |
| 11:44 | Ms2ger | goes back to Featherweight Java |
| 12:05 | <asmodai> | Mmm, if I see Opera and Firefox send out a GET request for a favicon.ico and Chrome does not do it, can I assume Chrome's behaviour is buggy? (Empty caches and all that, so it ought to fetch a clean copy.) Or could a 302 redirect cause it to be missing out on sending this GET out? Not sure what the expected behaviour is in that case. |
| 12:06 | <asmodai> | I would still expect it to send out a GET for the icon, even if it gets redirected though. |
| 12:52 | <annevk> | jgraham: branding is the way "if /x/ is an Element" type of checks work |
| 12:52 | <annevk> | jgraham: it's not very explicit in current specifications |
| 12:52 | <annevk> | jgraham: here's a gist explaining it https://gist.github.com/wycats/89b2a49a3431b04e88c7 |
| 13:03 | <zcorpan> | so CaretPosition#getClientRect would return a zero-width "rectangle"? |
| 13:06 | <jgraham> | annevk: I rather suspect "work" in that sentence has nothing to do with actual implementations |
| 13:06 | <annevk> | jgraham: sorry, will work |
| 13:06 | <jgraham> | Or rather, I doubt the contents of that gist are like what implkementations will do |
| 13:07 | <jgraham> | And I don't really understand what point it's trying to make |
| 13:11 | <annevk> | But you understand what I meant now? |
| 13:13 | <jgraham> | Not really, but I mgith be missing the context |
| 13:13 | <jgraham> | Although certainly using something that appears to be a recently-coined term doesn't make things clearer |
| 13:14 | <annevk> | It's a ES6 concept which I think es-discuss is quite familiar with and I was not until recently, but it helps explaining part of how host objects currently work. |
| 13:15 | <annevk> | It was also a big part of the discussion leading up to futures so you might find it worth your time going through that. |
| 13:41 | <hsivonen> | huh. nothing on w3cmemes about the recent public-html-media thread |
| 13:42 | <Ms2ger> | People still read that? |
| 13:43 | hsivonen | reads both public-html-media and w3cmemes |
| 13:50 | <odinho> | hsivonen: So you seem to be the man to make it then :] |
| 13:50 | <Ms2ger> | zcorpan++ |
| 13:51 | <zcorpan> | Ms2ger: hmm? |
| 13:51 | <Ms2ger> | Having an editor for cssom again is nice |
| 13:51 | <zcorpan> | ah |
| 13:52 | <MikeSmith> | Ms2ger: who's editing CSSOM? |
| 13:52 | <odinho> | Guessing zcorpan based on the increment. |
| 13:53 | <zcorpan> | yes |
| 13:55 | <MikeSmith> | great |
| 13:57 | <annevk> | zcorpan: is there a version history link available? |
| 13:57 | <Ms2ger> | https://dvcs.w3.org/hg/csswg? |
| 13:58 | <annevk> | :/ |
| 14:18 | <zcorpan> | i'm not really getting along with glenn's build system |
| 14:18 | <annevk> | zcorpan: why don't you start from before he messed up my system? |
| 14:21 | <zcorpan> | i guess that would involve kicking glenn out as editor and he said he wanted to continue to edit |
| 14:25 | <reyre__> | anyone know what the purpose of keeping track of a 'language stack' in the webvtt cue text parsing rules is? http://dev.w3.org/html5/webvtt/#webvtt-cue-text-parsing-rules |
| 14:32 | <zcorpan> | reyre__: all webvtt nodes get an "applicable language" assigned from the top of the stack |
| 14:32 | <annevk> | zcorpan: :/ |
| 14:33 | <zcorpan> | reyre__: so that :lang() works |
| 14:34 | <reyre__> | ah okay, i see that now. missed that point |
| 14:34 | <reyre__> | thanks zcorpan :) |
| 14:35 | <reyre__> | zcorpan: does the applicable language apply for text node objects ? or just internal node objects ? |
| 14:35 | <reyre__> | looks like only internal node objects |
| 14:36 | <zcorpan> | reyre__: http://dev.w3.org/html5/webvtt/#dfn-attach-a-webvtt-internal-node-object |
| 14:37 | <reyre__> | zcorpan: okay sounds good, thanks :) |
| 14:43 | <zcorpan> | <lang> is not tested in opera's testsuite |
| 14:59 | <Ms2ger> | Yay, PR 100 |
| 15:51 | <hsivonen> | MikeSmith: whoa. the Html4Assertions class ended up being pretty short |
| 16:05 | <TabAtkins> | jgraham: I think "branding" is a spec concept right now, but as soon as we have Symbols in JS, it'll be a real thing. Basically just means something that has been blessed by the runtime as a real thing, rather than having to use duck-typing to tell whether it's a Future or not. |
| 16:06 | <TabAtkins> | zcorpan: I wouldn't worry about glenn's assertions that he wants to continue to edit. He hasn't done any non-trivial editing in a year, so it's on him to prove that he's actually worth something to the spec. |
| 16:16 | <jgraham> | TabAtkins: Yeah, I get the idea. It's bolt-on typing. |
| 16:16 | <TabAtkins> | Yes. |
| 16:17 | <TabAtkins> | A form of nominative typing in a language without any explicit way to handle it. |
| 16:26 | <wycats__> | I should have a lot more on JSIDL soon |
| 16:26 | <TabAtkins> | wycats__: Ooh, intrigued. Got any pointers? |
| 16:26 | <wycats__> | It's important to think of JSIDL's types as coercion rules not typed |
| 16:26 | <wycats__> | Types |
| 16:27 | <wycats__> | http://wycats.github.io/jsidl/jsidl.html |
| 16:27 | <dglazkov> | good morning, Whatwg! |
| 16:27 | <wycats__> | Please don't bikeshed yet. This is super early and missing a ton of stuff |
| 16:27 | <wycats__> | Working with annevk and others |
| 16:30 | <dglazkov> | wycats__: I don't like the fonts |
| 16:30 | <dglazkov> | oh you said _don't_ bikeshed |
| 16:31 | <dglazkov> | :P |
| 16:38 | <annevk> | Java in JavaScript: http://int3.github.io/doppio/about.html Should've seen that coming I suppose. |
| 16:39 | <TabAtkins> | Hey, if crazies are still gonna write Java applets, might as well run them without Java. |
| 16:40 | <Hixie> | MikeSmith: there's a Version field in Bugzilla, you could create a "legacy" version and move the old bugs to that |
| 16:45 | <annevk> | So http://wikileaks.org/Transcript-Meeting-Assange-Schmidt was a pretty good read |
| 16:46 | <manu-db> | TabAtkins, annevk: When you get a sec, could you sanity check that we're defining the Futures stuff correctly via the WebIDL in the JSON-LD API (ignore the big red issue marker, it no longer applies): http://www.markus-lanthaler.com/tmp-futures/json-ld-api/#the-jsonldprocessor-interface |
| 16:49 | <TabAtkins> | manu-db: Will do. |
| 16:50 | <TabAtkins> | manu-db: I think you need to specify that the returned future is initially pending. |
| 16:51 | <manu-db> | TabAtkins: yup, ok, thanks. |
| 16:51 | <TabAtkins> | Otherwise, I'll defer to annevk to tell you whether your use of terminology is correct and sufficient. (I hope it is, because that's a nice easy way to talk about futures.) |
| 16:52 | <annevk> | manu-db: you need to create a new future, return it, and say that the remaining steps have to be run asynchronously |
| 16:52 | <annevk> | manu-db: and then at some point you invoked the future's associated resolver's reject and resolve algorithms |
| 16:52 | <annevk> | manu-db: in those asynchronous steps |
| 16:53 | <annevk> | TabAtkins: pending is the default state of a new future, so that's not needed |
| 16:53 | <manu-db> | annevk: You're saying that we should document that in the spec, right? That is, you're not telling me how futures work, you're saying that we need to make it clear to the developer that those are the steps that are going to occur when they make the call? |
| 16:54 | <annevk> | manu-db: yes you need to write that in the specification so implementors know what to do |
| 16:55 | <manu-db> | annevk: ok, we'll do that, then. Seems a bit strange though, as the Futures spec should probably say that? |
| 16:55 | <TabAtkins> | annevk: It would be great if we could abstract that away and just say "reject the future with [value]" or whatever. Is there a reason we need to be specific about "the future's associated resolver's reject algorithm"? |
| 16:55 | <annevk> | manu-db: say what? |
| 16:55 | <TabAtkins> | Each future has only one resolver, after all. |
| 16:55 | <manu-db> | annevk: what TabAtkins is saying. |
| 16:56 | <annevk> | I suppose we could provide a shortcut for specifications, but the idea is that when you create a future you get hold of a resolver object you control and that is not exposed to the outside world |
| 16:56 | <annevk> | and that resolver object is what you use to influence the state of the future |
| 16:56 | <manu-db> | annevk: Unless I don't understand how the resolver works (which could very well be true), it seems like what you suggested that we put into the JSON-LD API spec is boilerplate text that should probably exist in the WHATWG DOM spec. |
| 16:56 | <TabAtkins> | Yes, but that can all be implicit, since we're in spec land. |
| 16:56 | manu-db | nods. |
| 16:57 | <annevk> | I'm not entirely convinced that hiding the conceptual model is a net positive |
| 16:57 | <manu-db> | if we don't make it implicit, then the implication is that all the specs that use Futures will just repeat that same line, no? |
| 16:57 | <TabAtkins> | It's just understood that, when a spec creates a future, it has access to its resolver. Then we can just operate on the future's state directly. |
| 16:58 | <manu-db> | annevk: It's not really hiding the conceptual model, it's that people should probably understand how a Future works and if they don't, they should read the spec that defines futures (or a tutorial) |
| 16:58 | <manu-db> | annevk: Most APIs layered on top of the DOM don't get into the gory details of the conceptual model of the DOM, afaik. |
| 16:59 | <manu-db> | TabAtkins, annevk: In this particular case, I'm fine with being a little more explicit about how the API works in the JSON-LD API since Futures are kinda new-ish to developers. |
| 16:59 | <annevk> | manu-db: gory? hah |
| 16:59 | <annevk> | manu-db: but yeah, I suppose we'll add some boilerplate shortcuts |
| 16:59 | <TabAtkins> | annevk: The kind of text you're saying we need to use to invoke a future is indeed gory. ^_^ |
| 17:00 | <annevk> | The futures spec itself uses it consistently too |
| 17:00 | <annevk> | It's not that bad really |
| 17:00 | <manu-db> | annevk, TabAtkins: We'll try to write some text explaining the design of the API and I'll run it by both of you once we're done. |
| 17:01 | <TabAtkins> | It... really is. From your history with writing specs, it seems you're just bad at seeing stuff as gory. ^_^ |
| 17:01 | manu-db | thanks annevk, TabAtkins... disappears. |
| 17:01 | <annevk> | manu-db: the most important bits however are saying that you return a new future and that the remaining steps are to be run asynchronously |
| 17:01 | manu-db | nods. |
| 17:01 | <SteveF> | Hixie: would appreciate an answer to this: http://krijnhoetmer.nl/irc-logs/whatwg/20130418#l-611 |
| 17:01 | <TabAtkins> | Yeah, that part seems reasonable and necessary. |
| 17:02 | <annevk> | reasonable? come on TabAtkins |
| 17:02 | <TabAtkins> | ? |
| 17:03 | <annevk> | and the ad-hominem seems out-of-place too |
| 17:04 | <TabAtkins> | Uh, dude, back up a bit. |
| 17:05 | <TabAtkins> | I'm saying that I think you have a problem with seeing complexity in your own specs. This is not an ad hominem attack. Please take it as a gentle criticism, and a request that you keep boilerplate minimization as a goal for specs calling into your own in the future. |
| 17:08 | <TabAtkins> | As a simple example, "invoke the future's associated resolver's reject algorithm with [value]" is unacceptable boilerplate for a feature this simple. "Reject the future with [value]." is acceptable - both easy to write, and easy for people (implementors and authors) to read. |
| 17:11 | <annevk> | You probably want. Let f be future and r its associated resolver. Run r's reject with [value [and the synchronous flag set]] |
| 17:11 | <annevk> | This reminds me of a bug I need to comment on though... |
| 17:13 | <jgraham> | TabAtkins: I guess annevk already said this, but the second form seems suboptimal to me because it isn't totally clear which algorithm you are invoking |
| 17:13 | <TabAtkins> | I don't want any of that. That's still far more complexity than I should need to specify for a spec, where it's assumed that I have access to the resolver for a future I've created in an earlier step. |
| 17:13 | <TabAtkins> | jgraham: There's only three algorithms: accept, resolve, and reject. I'm unsure how it could be unclear which is being invoked when you say "reject the future". |
| 17:14 | <jgraham> | "reject the future" doesn't obviously invoke *any* of the algorithms |
| 17:14 | <TabAtkins> | annevk: I'd like a paragraph in the spec that says something like, "To <dfn>reject a future</dfn>, let f be future and r its assocated resolver...". |
| 17:14 | <Hixie> | SteveF: do you mean, how should changes that the w3c has made in its fork of HTML be documented? |
| 17:15 | <TabAtkins> | Then I can just say "Reject the future with [value]", and link to your anchor. |
| 17:15 | <Hixie> | SteveF: or do you mean, how should problems in the HTML standard be reported? |
| 17:15 | <jgraham> | Righ, if DOM defines the meaning of "reject the future" then things are different |
| 17:15 | <TabAtkins> | jgraham: You'll have to explain to me what confusion you're seeing. |
| 17:15 | <TabAtkins> | jgraham: Well, obviously. ^_^ |
| 17:16 | <jgraham> | TabAtkins: I'm seeing the confusion that you are trying to invoke a definition that doesn't yet exist :p |
| 17:16 | <TabAtkins> | Pedant. ^_^ |
| 17:16 | <TabAtkins> | This is spec land, I can just assume that an appropriate definition exists for me to invoke. |
| 17:18 | <jgraham> | Not if you want to write good specs :) |
| 17:18 | <SteveF> | hixie: I mean the former |
| 17:18 | <Hixie> | SteveF: the way that i used to do it in the whatwg spec seems like the simplest solution |
| 17:19 | <Hixie> | SteveF: just have a section in the intro that lists every intentional difference |
| 17:19 | <Hixie> | and the rationale |
| 17:19 | <Hixie> | SteveF: that way people could tell which were intentional and which were not |
| 17:19 | <Hixie> | SteveF: and what the rationales were |
| 17:20 | <annevk> | TabAtkins: I'd still like to see how you generalized so quickly from one example which I haven't even thought much about yet since there's no external consumers yet to me having a general habbit of doing the wrong thing. |
| 17:20 | <SteveF> | hixie: OK will discuss with the editor team - thanks |
| 17:23 | <TabAtkins> | annevk: I'm generalizing from my experiences with CORS, which I still find impenetrable despite my best efforts. :/ |
| 17:23 | <annevk> | TabAtkins: the problem with CORS is that CSS doesn't have "fetch". And without "fetch" trying to understand CORS is like going way beyond where you are today. |
| 17:24 | <TabAtkins> | I can accept that, sure. |
| 17:24 | <annevk> | TabAtkins: http://fetch.spec.whatwg.org/ should address that, though beware, it has no convenient hooks yet either |
| 17:24 | <Hixie> | anyone got IE around? what does it alert in http://damowmow.com/playground/demos/cross-iframe-scripting/001.html ? |
| 17:24 | <Hixie> | annevk: doesn't it have the old HTML "fetch" still? |
| 17:24 | <annevk> | Hixie: CSS could use the HTML definitions, sure |
| 17:25 | <Hixie> | annevk: problem solved :-) |
| 17:25 | <annevk> | Hixie: oh you mean that specification? Yeah I have the mapping defined somewhere under "Legacy". I still haven't really figured out the right abstractions. |
| 17:25 | <TabAtkins> | Tell me where to define it, and I'll get it done |
| 17:26 | <Hixie> | annevk: you should just make that the actual hook. There's no way I'm updating HTML to use another hook, that's way too risky, and way too much work, for way too little benefit. |
| 17:26 | <Hixie> | annevk: and it's a nice simple API. |
| 17:26 | <annevk> | Hixie: but the API doesn't handle CORS |
| 17:26 | <Hixie> | annevk: right, there's the separate hook if you want CORS. |
| 17:27 | <annevk> | Hixie: and the API cannot be used by XHR, and the new navigation controller stuff that's coming |
| 17:27 | <Hixie> | annevk: you either do a "fetch", or a "potentially CORS-enabled fetch". |
| 17:27 | <Hixie> | annevk: why not? |
| 17:27 | <Hixie> | (what is a "navigation controller"?) |
| 17:28 | <annevk> | Hixie: https://github.com/slightlyoff/NavigationController/ |
| 17:29 | <annevk> | Hixie: and your current hooks have overlaps with e.g. the same-origin flag that's the same as "No CORS", fail |
| 17:29 | <annevk> | Hixie: and don't sufficiently distinguish between credentials and CORS |
| 17:30 | <Hixie> | annevk: i wouldn't describe that as "stuff that's coming" until it's, you know, actually discussed on a public list... |
| 17:30 | <annevk> | Hixie: what's the difference between a public list and a public repo? |
| 17:30 | <annevk> | Hixie: it's been announced on a public list |
| 17:30 | <Hixie> | same thing that's wrong with creating a new mailing list |
| 17:30 | <Hixie> | people aren't on it |
| 17:32 | <TabAtkins> | annevk: Unrelated discussion - I'm finding it hard to follow exactly, but do Futures recursively resolve? That is, in the following code: |
| 17:32 | <annevk> | Well, there's some set of people that prefer working on it this way. And if that's the way they prefer to getting it done, that's the way it'll happen. |
| 17:32 | <jgraham> | (actually NavigationController was a private repo for a long time which is extremely distastful) |
| 17:33 | <TabAtkins> | getFuture().then(function(){ return new Future(function(r) { r.accept(new Future(...)); })}); |
| 17:33 | <annevk> | Hixie: also, your current hooks are extremely hard to reason about with respect to the Origin header and the implications on security. And actually have several bugs. E.g. a cross-origin redirect to a javascript: URL will be CORS-same-origin... |
| 17:33 | <Hixie> | annevk: or not happen, as the case may be :-) |
| 17:34 | <TabAtkins> | (In other words, .then() returns a future for a future.) |
| 17:34 | <slightlyoff> | Hixie: that's the next step |
| 17:34 | <TabAtkins> | Does it resolve to just a future, or to the future-of-a-future's resolved value? |
| 17:34 | <slightlyoff> | Hixie: getting the design to a point where it's not a total shit-show is Step 1 |
| 17:34 | <annevk> | TabAtkins: you need to use resolve for that, not accept |
| 17:35 | <Hixie> | slightlyoff: just make sure you don't present a fait accompli... people always feel they need to change proposals before they're willing to adopt them. that's why i encourage people to put their shit shows in public first. :-) |
| 17:35 | <slightlyoff> | Hixie: designs need to hang together |
| 17:35 | <TabAtkins> | annevk: I used accept for a reason, specifically so I could ask the question that I did. |
| 17:35 | <Hixie> | slightlyoff: designs are not what should be presented first |
| 17:35 | <slightlyoff> | Hixie: I'm more interested in "good" than "inclusive". The standards process has plenty of room for the later |
| 17:35 | <annevk> | TabAtkins: but you also said "resolve" :-) |
| 17:36 | <Hixie> | slightlyoff: if you're interested in "adopted", then "inclusive" is more important than "good" |
| 17:36 | <slightlyoff> | Hixie: here's the new outline of the current design: https://github.com/slightlyoff/NavigationController/blob/master/explainer.md |
| 17:36 | <TabAtkins> | Man, whatever the generic term is for "has a value that isn't an error". ^_^ |
| 17:36 | <TabAtkins> | "fulfilled"? |
| 17:36 | <Hixie> | slightlyoff: before we discuss design proposals, we should discuss the problem. on a public list. |
| 17:37 | <annevk> | TabAtkins: "accepted" |
| 17:37 | <TabAtkins> | So, "accepted" just means that it's done, regardless of whether it was accepted with r.accept() or r.resolve()? |
| 17:38 | <annevk> | TabAtkins: yeah, at some point resolve runs through accept |
| 17:38 | <TabAtkins> | Kk. |
| 17:38 | <annevk> | TabAtkins: if it wasn't a future |
| 17:38 | <annevk> | well thenable |
| 17:38 | <TabAtkins> | So returning a future of a future from a .then() callback just unwraps one level of future, not both. |
| 17:38 | <Hixie> | jgraham: i don't know what to do with https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 |
| 17:39 | <annevk> | Hixie: the problems with the current offline solution have been discussed to death though and have been used as input to this design. |
| 17:40 | <annevk> | TabAtkins: if you use .accept, yes, if you use, .resolve, no |
| 17:40 | <Hixie> | annevk: every discussion i've seen about the problems with the many current offline solutions have (a) not agreed about what those problems are, and (b) not actually been about offline, typically. |
| 17:41 | <jgraham> | Hixie: Nor do I really :) I don't have any testcases to hand other than the one in the first comment |
| 17:42 | <TabAtkins> | annevk: That response is confusing, so to be absolutely clear, let me rephrase in a simpler way. Assume that "Future.of(a)" is equivalent to "new Future(function(r) { r.accept(a); })". |
| 17:42 | <Hixie> | jgraham: k |
| 17:42 | <TabAtkins> | Then, in this scenario: "getFuture().then(function() { return Future.of(Future.of(5)); }).then(function(v) { console.log(v); });" |
| 17:43 | <TabAtkins> | The log will show a Future containing 5, not 5 itself, yes? |
| 17:43 | <slightlyoff> | Future.of() is a terrible API name, BTW |
| 17:43 | <slightlyoff> | I hope we haven't accepted that (har har) |
| 17:43 | <TabAtkins> | slightlyoff: Disagree, but neither here nor there. ^_^ |
| 17:43 | <annevk> | TabAtkins: yes |
| 17:43 | <TabAtkins> | annevk: Okay, cool. |
| 17:45 | <TabAtkins> | annevk: That's my preferred answer, but it's also different from Promises/A+ at the moment, which I think recursively unwraps in its resolve algorithm until it hits a non-thenable. |
| 17:45 | <Hixie> | jgraham: i guess part of my confusion is that as far as i can tell, the spec already says this is sync |
| 17:45 | <annevk> | Hixie: I think the main problem is that there are many different problems and developers need lower-level primitives to tackle them. |
| 17:45 | <TabAtkins> | (And .then() invokes the resolve algorithm on its callback's return value.) |
| 17:45 | <jgraham> | Recursive unwrapping is weird magic |
| 17:45 | <TabAtkins> | jgraham: Agreed, but some people don't. :/ |
| 17:45 | <annevk> | Hixie: they cannot all be tackled within the constraints of "appcache". |
| 17:45 | <TabAtkins> | I just want a damned monad. Is that so much to ask? |
| 17:45 | <Hixie> | annevk: sure, but then we should document those problems. where was that done? how are we going to evaluate the proposals? |
| 17:45 | <Hixie> | annevk: i didn't mention appcache |
| 17:46 | <annevk> | TabAtkins: again, Promises/A+ would use r.resolve() |
| 17:46 | <annevk> | Hixie: have you not read public-webapps in a while? |
| 17:47 | <TabAtkins> | annevk: That's not what I asked. |
| 17:47 | <Hixie> | annevk: unless something happened since friday, i think i'm up to date |
| 17:48 | <Hixie> | jgraham: oh, nm, i see where it says it's async... |
| 17:49 | <annevk> | Hixie: documentation is in http://lists.w3.org/Archives/Public/public-webapps/2013JanMar/0977.html and such |
| 17:50 | <TabAtkins> | annevk: The only relevance of .accept() vs .resolve() in my question was to construct the nested future. That's not important here, just assume that a nested future can be created somehow. |
| 17:50 | <annevk> | TabAtkins: so Promises/A+ does not have a concept of accept() so it will of course always do resolve() and unwrap endlessly... What am I missing? |
| 17:50 | <TabAtkins> | annevk: My point was about returning a nested future from the .then callback. |
| 17:50 | <TabAtkins> | Since .then(), even in DOM Futures, *does* use resolve semantics for its callback's return value. |
| 17:50 | <Hixie> | annevk: yeah, that discussion was great, but then it just stopped |
| 17:51 | <annevk> | Hixie: right, people moved to working on proposals |
| 17:51 | <annevk> | TabAtkins: right |
| 17:52 | <Hixie> | annevk: there was a proposal in that e-mail, that's where it should be... |
| 17:52 | <TabAtkins> | annevk: Are you just saying that it's impossible to even construct a nested future using only Promises/A+ stuff, so that's why they go ahead and unwrap nested futures when they receive one? |
| 17:52 | <annevk> | TabAtkins: yes |
| 17:52 | <TabAtkins> | Okay, makes sense. |
| 17:53 | <Hixie> | annevk: (and i'm not convinced that this problem description really is the right starting point. it seems very focused on appcache, rather than on what the actual problem is.) |
| 17:53 | <TabAtkins> | I was just checking that my preferred interpretation was what was happening, and if so, that it was a willful break from A+, not an unintentional one. |
| 17:53 | <TabAtkins> | So I'm satisfied now. ^_^ |
| 17:53 | <annevk> | Hixie: I think the actual problem is lack of primitives so people can build their "own appcache". |
| 17:54 | <annevk> | TabAtkins: it's not breaking Promises/A+. It's just a feature they don't have. |
| 17:54 | <Hixie> | annevk: that's not a problem, that's the start of a solution. |
| 17:54 | <TabAtkins> | annevk: Well, it does mean that if you receive a promises/a+ promise, chain off of it with .then(), and return a nested future, it'll have a different result than doing the same thing starting from a dom future. |
| 17:54 | <annevk> | Hixie: fair enough. The problem is too much constraints. |
| 17:55 | <annevk> | TabAtkins: it all depends on how you create the nested future really |
| 17:55 | <TabAtkins> | annevk: Hm, explain? |
| 17:56 | <Hixie> | annevk: problems i've seen are things like "we have a one-page web app and we'd like it to load instantly if the user comes back to it" |
| 17:57 | <Hixie> | annevk: (that particular one is handled fine by the appcache, and to a lesser extent, the http cache) |
| 17:57 | <Hixie> | annevk: (i've seen other ones that aren't handled by either appcache or http) |
| 17:57 | <Hixie> | annevk: that's what i mean by problem |
| 17:58 | <Hixie> | jgraham: k well i had a go at fixing 17155, dunno how good it is |
| 17:58 | <Hixie> | mounir: ping https://www.w3.org/Bugs/Public/show_bug.cgi?id=11937 |
| 18:01 | <annevk> | TabAtkins: actually, now I'm not sure anymore |
| 18:01 | <jgraham> | Hixie: Cool, thanks |
| 18:01 | <annevk> | TabAtkins: too late for this :/ |
| 18:04 | <annevk> | TabAtkins: okay, so the unwrapping works by invoking .then() on the future returned. What that future returns however is up to the implementation of that future. |
| 18:06 | <annevk> | TabAtkins: I don't see what part of http://promises-aplus.github.io/promises-spec/ is violated though |
| 18:07 | <annevk> | TabAtkins: it does not forbid fulfilling (in terms of A+) a promise with a promise |
| 18:07 | <SteveF> | Hixie: since there is a commit feed that lists every change https://github.com/w3c/html/commits/master would it not make sense to ensure that adequate exaplanation pointers are provided in the commit info rather than having to rewrite stuff? |
| 18:08 | <Hixie> | SteveF: simpler for what purpose? |
| 18:08 | <slightlyoff> | TabAtkins: if you feel that's a real issue, I'd like to see code that shows why |
| 18:08 | <slightlyoff> | (other than instanceof users) |
| 18:08 | <Hixie> | SteveF: i can't tell from that feed what's going on. For example, it credits me for a bunch of stuff but I've never checked anything into that repo. |
| 18:08 | <slightlyoff> | TabAtkins: |
| 18:09 | <slightlyoff> | ugg, typing faaaaail. |
| 18:09 | <TabAtkins> | slightlyoff: If I feel *what* is a real issue? Recursive assimilation, or lack of such? |
| 18:09 | <annevk> | Hixie: with respect to fetch; basically the current abstractions from HTML make it extremely hard to reason about what is going to happen. That's my main beef with them |
| 18:10 | <slightlyoff> | Recursive assimilation (if I understand you correctly) happens when you use .resolve() |
| 18:10 | <Hixie> | annevk: why? |
| 18:10 | <SteveF> | Hixie: for purpose of listing differences : a filtered feed could be made that lists only differences (for example) |
| 18:10 | <slightlyoff> | TabAtkins: or did I miss the case? |
| 18:10 | <slightlyoff> | TabAtkins: anyhow, send me mail. Need to eat. |
| 18:10 | <TabAtkins> | slightlyoff: I'm worrying about the value returned by .then()'s callback. That's processed with resolve semantics. |
| 18:11 | <Hixie> | SteveF: i can't tell what is different from that feed. |
| 18:11 | <Hixie> | SteveF: sometimes the diffs it credits to me are not what i did. |
| 18:11 | <annevk> | Hixie: e.g. with potential CORS fetch it's pretty hard to figure out which requests will include an Origin header and which won't |
| 18:11 | <Hixie> | SteveF: sometimes the differences are that something i did doesn't get applied at all. |
| 18:11 | <slightlyoff> | TabAtkins: yes, today it is. |
| 18:11 | <TabAtkins> | slightlyoff: With one level of unwrapping, it works properly as a monad. With recursive unwrapping, it violates the monad contracts. |
| 18:11 | <annevk> | Hixie: it's hard to figure out if same-origin flag is the same as NO CORS, fail |
| 18:11 | <TabAtkins> | Which one you choose isn't a resolve-vs-accept choice, but rather an implementation detail of your resolve algorithm. |
| 18:12 | <annevk> | Hixie: it's hard to figure out if there are security bugs with data URLs when it comes to redirects (there are) |
| 18:12 | <Hixie> | annevk: not sure how changing the API would affect any of that. |
| 18:12 | <slightlyoff> | TabAtkins: I'm having a hard time caring about that. You and MarkM can fight it out. He believes the current design to be correct for reasons that require reading his thesis |
| 18:12 | <slightlyoff> | (which I have done and cant' actually summarize tersely for you here) |
| 18:12 | <SteveF> | Hixie: so if it was stated in the commit THIS IS DIFFERENT from WHATWG would that make it suffice? |
| 18:12 | <annevk> | Hixie: by not having the weird interwoven mix of sometimes invoking potential CORS and sometimes fetch but instead have one call site you can remove all that ambiguity |
| 18:12 | <Hixie> | SteveF: no, because that still wouldn't cover the cases of commits that just aren't applied. or things that are done differently, then later changed to match. |
| 18:12 | <slightlyoff> | TabAtkins: but do cc me on the discussion |
| 18:13 | <slightlyoff> | and annevk |
| 18:13 | <annevk> | Hixie: and actually reason about what kind of fetches are made |
| 18:13 | <slightlyoff> | ok, really going |
| 18:13 | <Hixie> | SteveF: the commit feed isn't useful for the purposes of someone just coming along and wanting to know in what ways the w3c changed the spec. |
| 18:13 | <TabAtkins> | slightlyoff: Once I figure out what both DOM Futures and Promises/A+ actually say, I'll do so. ^_^ |
| 18:13 | <Hixie> | annevk: well i don't mind if you just have "fetch" and "potentially cors-enabled fetch" just immediately invoke the same underlying algorithm, that'd be fine |
| 18:15 | <SteveF> | Hixie: OK will have to think upon it |
| 18:16 | <Hixie> | SteveF: (not does it give rationales) |
| 18:16 | <annevk> | Hixie: yes, there's something like that now, but I think long term the HTML specification ought to be fixed to make this far less hard to read |
| 18:17 | <annevk> | Hixie: that's the whole point of going through rationalising the platform's fetching algorithm |
| 18:17 | <Hixie> | SteveF: another way of putting it is, if someone looks at the two specs and finds a difference, where should they go to determine (a) if change was intentional and (b) why it was made, and then, (c) what other changes are made so they can determine (d) if any were not made that one would expect to have been made. |
| 18:18 | <Hixie> | annevk: i don't think the call sites are problematic. i agree the implementation of fetch was a disaster and crossed multiple specs back and forth and we should fix that (thanks for doing that), but i don't understand what you want to do to the call sites. |
| 18:19 | <Hixie> | annevk: maybe if you showed examples of call sites today and what you'd like them to look like instead that would help make your case. |
| 18:19 | <annevk> | Hixie: I suppose at some point I'll get to that |
| 18:20 | <annevk> | was hard enough figuring out what they were doing in the first place |
| 18:20 | <SteveF> | Hixie: OK I have endeavored to include pointers in my changes to bugs/wg discussions, what I would like to do is provide useful info but not do makework |
| 18:22 | <Hixie> | SteveF: i don't think it's reasonable to expect people to even know the bugs exist, and the mailing lists are extremely high-volume, so it doesn't help people work out what's different and why. |
| 18:23 | <Hixie> | SteveF: it's not make work, imho. |
| 18:23 | <Hixie> | SteveF: it would have helped catch some of the more serious mistakes that have been made so far. |
| 18:24 | <SteveF> | Hixie: that is why I add links to bugs and discussions in commits so people can read the history of the change |
| 18:25 | <Hixie> | again, people aren't going to know to look there |
| 18:25 | <SteveF> | Hixie: don't understand |
| 18:25 | <annevk> | SteveF: it's fairly common for downstream software projects to maintain a list of differences from upstream |
| 18:26 | <annevk> | SteveF: and kind of expected |
| 18:27 | <SteveF> | annevk: as i asked previously ted, silvia, robin et al were all editors before i started why are we having this discussion now? |
| 18:27 | <annevk> | SteveF: presumably because until now tracking has been not been considered too much work |
| 18:27 | <Hixie> | if some guy comes along and reads the specs, and wants to know why the w3c suggests that people who can see images shouldn't be told there's an audio captcha alternative, where should they go to find out? |
| 18:28 | <Hixie> | SteveF: i'm having this discussion now because you asked me a question |
| 18:28 | <Hixie> | SteveF: i'm happy to not have the discussion if you don't want to have it |
| 18:28 | <SteveF> | annevk: hixie: do you have any pointers to examples that could act as a guide to whats expected |
| 18:28 | <SteveF> | Hixie: I am perplexed as to why the question was never asked by others |
| 18:29 | <Hixie> | SteveF: well you'd have to ask them, not me |
| 18:29 | <SteveF> | i will |
| 18:29 | <Hixie> | SteveF: the way the whatwg spec listed differences back when i was doing this is an example of a low-maintenance way of doing it |
| 18:29 | <Hixie> | SteveF: (at the time, the w3c refused to publish the list in their copy for reasons i still don't understand) |
| 18:30 | <Hixie> | SteveF: i stopped maintaining the list when i lost track of what the differences were |
| 18:30 | <Hixie> | SteveF: which is why the whatwg doesn't have it anymore |
| 18:30 | <SteveF> | do you have apointer to a diff that shows what it was like, had a look but couldn't find when they were removed |
| 18:30 | <SteveF> | or a rough date? |
| 18:30 | <Hixie> | SteveF: (it's hard to maintain the list when you aren't the one making the changes) |
| 18:30 | <Hixie> | yeah hold on |
| 18:31 | <annevk> | SteveF: http://code.google.com/p/chromium-source-browsing/source/browse/README.chromium?repo=third-party--icu |
| 18:31 | <SteveF> | I have set up a wiki page and will record diffs there |
| 18:32 | <annevk> | (was fairly useful when figuring out what Chrome did with encodings) |
| 18:32 | <Hixie> | SteveF: we still have it here, for example: http://developers.whatwg.org/introduction.html |
| 18:32 | <Hixie> | under "How do the WHATWG and W3C specifications differ" |
| 18:32 | <SteveF> | hixie:annevk: thanks both useful |
| 18:32 | <Hixie> | SteveF: more detail would be great, but when i tried adding more detail i was told off for being "political" or some bs |
| 18:33 | <Hixie> | which is why the differences mentioned are sometimes a bit vague |
| 18:33 | <SteveF> | Hixie: i will try to provide detail |
| 18:33 | <Hixie> | the list anne mentioned is a good example of doing it in open source, yeah |
| 18:49 | <Hixie> | didn't we have a bug somewhere about making form submission a little more async? |
| 19:13 | annevk | doesn't remember that |
| 19:24 | <Hixie> | getComputedValue() returns the used values, right? |
| 19:24 | <Hixie> | or is there some value type between computed and used that i'm forgetting about |
| 19:25 | <Hixie> | specified is in the sheet, computed is inherited, used is what's used in layout, right? |
| 19:27 | <zcorpan> | Hixie: you mean getComputedStyle()? |
| 19:27 | <Hixie> | uh yeah |
| 19:27 | <webben> | Hixie: There are some edge cases where it's not really the used value |
| 19:27 | <zcorpan> | Hixie: it returns computed value for most properties, used value for a handful, iirc |
| 19:28 | <Hixie> | for 'top'? |
| 19:28 | <Hixie> | is this documented anywhere? |
| 19:28 | <zcorpan> | i thought it was in the spec at some point but the current spec just says "..." |
| 19:28 | <Hixie> | heh |
| 19:28 | <webben> | e.g. for example some browsers will tell you background-image is a url, even if they're not showing images |
| 19:29 | <webben> | I think Chrome does that |
| 19:29 | <annevk> | zcorpan: fuck that was removed???? |
| 19:29 | <zcorpan> | top is used value (unless the element is display:none) |
| 19:29 | <zcorpan> | https://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html#widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property |
| 19:29 | <Hixie> | webben: is the used value of 'background-image' set to none if the image isn't used? huh |
| 19:30 | <zcorpan> | i'll look into this |
| 19:30 | <webben> | Hixie: Chrome sets it to the unused image URL. |
| 19:30 | <Hixie> | zcorpan: https://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html#resolved-value |
| 19:30 | <webben> | this is if you turn off images in chrome |
| 19:30 | <Hixie> | webben: that seems to match the spec |
| 19:31 | <zcorpan> | Hixie: ah |
| 19:32 | <annevk> | zcorpan: https://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html#widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt seems defined still |
| 19:32 | annevk | spent a bunch of time on that; I would have been interested in reading why someone would have removed that |
| 19:33 | <webben> | Hixie: I guess that depends on how not using images is implemented |
| 19:33 | <webben> | but yeah if this happens outside the cascade entirely I guess that's true |
| 19:35 | <webben> | getActual would be kinda nice to have |
| 19:35 | <zcorpan> | i was looking at https://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html#widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property |
| 19:35 | <webben> | though i guess there would be security concerns with it leaking information about the user's system |
| 19:36 | <Hixie> | webben: hard to say what "actual" means sometimes |
| 19:37 | <Hixie> | e.g. if the image is being converted to black and white, the url wouldn't be the "actual value"... |
| 19:37 | <webben> | data uri? |
| 19:44 | <Hixie> | heh |
| 19:49 | <annevk> | https://chromiumcodereview.appspot.com/14273007/ ouch |
| 19:52 | <Hixie> | ouch because ew, more accept headers? |
| 19:55 | <jgraham> | Not just "ough Rietveld"? :p |
| 19:55 | <jgraham> | *ouch |
| 19:55 | <jgraham> | In related news, is today international "push more changes to closed pull requests" day or something? |
| 19:56 | <SteveF> | Hixie: "if some guy comes along and reads the specs, and wants to know why the w3c suggests that people who can see images shouldn't be told there's an audio captcha alternative, where should they go to find out?" don't understand this, the spec does not say don't tell people |
| 20:00 | <annevk> | Hixie: uhuh |
| 20:23 | <Hixie> | SteveF: the example of a captcha in the w3c version only mentions the audio version if you don't see the image, whereas the example in the whatwg spec tells everyone about it. |
| 20:23 | <Hixie> | SteveF: this is exactly the kind of difference where documentation would help determine if the difference is just a mistake or intentional |
| 20:24 | <SteveF> | Hixie: OK |
| 23:02 | <jsbell> | Any Moz IDB folks around? |
| 23:04 | <jsbell> | Ah, sicking: IDB question for you: s = db.createObjectStore('s'); db.deleteObjectStore('s'); s.get(0); --> should throw InvalidStateError, per spec blather about operation on deleted object? FF20 appears not to. Bug or am I missing something? |
| 23:12 | <sicking> | jsbell: hey |
| 23:21 | <sicking> | jsbell: i think you broke the spec :) |
| 23:23 | <jsbell> | sicking: hrm... left something out in my removal of exception tables, or something more fundamental? |
| 23:23 | <sicking> | jsbell: Throwing a InvalidStateError sounds correct. I don't know what you mean by "spec blather"? :) |
| 23:23 | <sicking> | jsbell: the TOC is completely busted |
| 23:23 | <jsbell> | Huh.... |
| 23:23 | <sicking> | jsbell: i see a lot of 0's everywhere |
| 23:23 | <jsbell> | Odd. Looks fine to me... |
| 23:24 | <sicking> | ble of Contents |
| 23:24 | <sicking> | 0 |
| 23:24 | <sicking> | 1. 00Introduction000 |
| 23:24 | <sicking> | 0 |
| 23:24 | <sicking> | 2. 00Conformance000 |
| 23:24 | <sicking> | 2.1 00Dependencies000 |
| 23:24 | <sicking> | 00 |
| 23:24 | <jsbell> | trying ff.... |
| 23:24 | <jsbell> | looks fine to me in FF20 as well. |
| 23:24 | <jsbell> | https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html ? |
| 23:24 | <sicking> | woha, looks fine in chrome |
| 23:25 | <sicking> | ooh, and fine in FF20 too |
| 23:25 | <jsbell> | perhaps you broke firefox? :) |
| 23:25 | <sicking> | i think i did :) |
| 23:25 | <jsbell> | ignore "blather". I just meant the boilerplate on each method about throwing when the object is deleted |
| 23:26 | <sicking> | crazy, i rarely see such bad bustage on nightlies |
| 23:26 | <sicking> | dbaron: hey |
| 23:26 | <dbaron> | sicking, hi |
| 23:26 | <sicking> | dbaron: i going to blame your team for this :) |
| 23:26 | <dbaron> | sicking, what? |
| 23:27 | <sicking> | oh, man, it's in the DOM, i can't blame you |
| 23:27 | <sicking> | dbaron: spec bustage in nightlies |
| 23:27 | <dbaron> | sicking, I think there was some js stuff backed out, and nightlies respun |
| 23:27 | <dbaron> | sicking, but yes, builds were pretty busted earlier |
| 23:28 | <jsbell> | sicking: If you file a FF bug about throwing InvalidStateError, also consider the transitive cases (index of deleted store, cursors of deleted index/store). I just noticed we get those cases wrong in Chrome. |
| 23:28 | <sicking> | jsbell: will do |
| 23:29 | <sicking> | jsbell: are you working on defining exception ordering? |
| 23:30 | <jsbell> | sicking: no, per the spec bug I just got rid of the exception tables, didn't impose an ordering. but while doing so, had a nagging feeling about those edge cases |
| 23:30 | <sicking> | jsbell: ah, i see |
| 23:31 | <sicking> | jsbell: are you coming on wednesday morning btw? With EricU? |
| 23:31 | <jsbell> | sicking: yes! |
| 23:32 | <sicking> | jsbell: sweet! I want to talk about temporary vs. permanent databases |
| 23:32 | <jsbell> | sgtm |
| 23:39 | <Hixie> | MikeSmith: do you know if the bugzilla w3c uses supports the "needsinfo" fields? |
| 23:40 | <sicking> | jsbell: do you know if you guys have any additions to the current spec that you'd like to see sooner rather than later? |
| 23:43 | <jsbell> | sicking: the low hanging fruit are continuePrimaryKey() and objectStore.openKeyCursor(); beyond that are things we need to experiment with first like indexeddb:// URLs, database observers, binary data keys, DOM Futures-based API, expression-based indexing... |
| 23:44 | <jsbell> | Apparently the TC39/I18n crew is proposing a text segmentation API which would help with full-text search if combined with expression indexing. |
| 23:45 | <sicking> | jsbell: nice. I'd add index.openCursor which allows specifying a primary key too |
| 23:45 | <sicking> | i am very curious how we'd do indexeddb: URLs. Seems tricky unless you restrict what types of things you could access through it |
| 23:46 | <jsbell> | Given that Chrome doesn't support blobs-in-idb yet it's too early for us to even experiment. |
| 23:46 | <sicking> | ah, true |
| 23:46 | <sicking> | oh, i was curious if that's easier for you guys to implement now that you've forked webkit |
| 23:46 | <jsbell> | The canonical example is album art for your IDB of music metadata. |
| 23:47 | <sicking> | sounded like one of the bug advantages was that you can simplify the process separation stuff |
| 23:47 | <sicking> | s/bug/big/ |
| 23:47 | <jsbell> | sicking: yes; we're refactoring to pull code out of blink into chromium now to remove a couple of layers of indirection |
| 23:47 | <jsbell> | and blob support is something that'll get much easier |
| 23:48 | <sicking> | nice! |
| 23:50 | <sicking> | hmm.. i wonder if something as simple as indexeddb:http://foo.com/dbname/objectstore/key would be enough |
| 23:50 | <sicking> | it wouldn't let you address blobs inside of structured clones |
| 23:51 | <sicking> | and it's tricky if the key is something other than a string |
| 23:51 | <sicking> | but if you're willing to live with those limitations, it'd work |
| 23:52 | <sicking> | you could even allow "indexeddb:http://foo.com/dbname/objectstore/foo/bar/baz.html" if "foo/bar/baz.html" was the key |
| 23:53 | <jsbell> | index gets would be nice |
| 23:54 | <jsbell> | as would #key.path to pull out fragments of an object |
| 23:54 | <sicking> | hmm.. good point |
| 23:54 | <jsbell> | but yeah, we need to ponder a bit |
| 23:54 | <sicking> | i think the keypath would have to be part of the url, not part of the fragment |
| 23:54 | <jsbell> | and it should use the current version, but not trigger an upgrade to v1, etc etc. |
| 23:54 | <sicking> | so that you can use fragments to identify things within a blob |
| 23:54 | <jsbell> | Ah, good point |
| 23:56 | <sicking> | yeah.. this stuff gets messy :( |
| 23:56 | <sicking> | it would be very cool though |