2017-08-01 [18:38:46.0000] Domenic: https://html.spec.whatwg.org/#dom-messageport-postmessage step 2 throws and aborts. [18:39:38.0000] Domenic: Infra clarified throw terminates the algorithm.. Does abort the steps there intentional or can be removed? [18:40:05.0000] jungkees: can be removed. We are converting sections of HTML as we touch them, but lots left to do. [18:40:46.0000] Domenic: Okay. Have the same in SW spec. I'll remove them [18:44:29.0000] jungkees: great. I will file an issue on HTML to track updating ourselves too. [18:44:49.0000] Sounds good. Thanks [18:50:18.0000] Domenic: related but something different in https://html.spec.whatwg.org/#dom-messageport-postmessage step 5 [18:50:44.0000] Domenic: It says it rethrows any exception from StructuredSerializeWithTransfer [18:51:13.0000] Domenic: and Infra says: "Throw" will make the caller automatically rethrow the given value, if any, and thereby terminate the caller’s algorithm. [18:51:55.0000] Domenic: according to Infra definition, it seems we may not need the rethrow step here [18:53:08.0000] Domenic: but then the visibility of the behavior won't be apparent to the caller.. so we may need this rethrow step to clearly say we throw here anyway? [18:54:04.0000] jungkees: yeah, this one is a bit trickier, especially because we are mixing "ES-style" abstract operations (StructuredSerializeWithTransfer) with the normal prose style. ES-style abstract operations, in theory, return completion values. So I see "rethrow any exception" as a way of clarifying the boundary. [18:55:06.0000] Okay. Explicitly rethrowing in this prose makes more sense to me too. [19:51:56.0000] annevk: so I guess we are staying with flags and then converting all at once to booleans one day? I'm sorry I keep needing to be reminded... [21:04:05.0000] Hmm, unfortunate Rust's new http create uses URI instead of URL... maybe SimonSapin is interested in setting them straight? https://carllerche.github.io/http/http/uri/struct.Uri.html [21:06:34.0000] Looks like it is being discussed in https://github.com/carllerche/http/issues/73 ... this looks not so fun to get in to. [21:10:28.0000] (But I did anyway...) [21:22:21.0000] I admire you for putting in the effort on cases like that [21:22:47.0000] that one seems like a more real chance of success in enlightening others than some cases [21:23:14.0000] I would have gone with “unfortunate” rather than “tragic” there though :) [21:25:41.0000] Easy enough of an edit :) [21:26:35.0000] Domenic: related, I dunno if you been following https://github.com/httpwg/http11bis/issues/26 but that is one of cases I had in mind that seem less hopeful [21:27:36.0000] Oh boy that looks fun [21:28:57.0000] Good guy mnot giving it a try [21:29:19.0000] yup [21:29:29.0000] Going to need to be patched in Fetch I guess? Or "HTTP/1 for interoperable clients" [21:29:56.0000] seems unresolved [21:30:36.0000] other than the suggestion to annevk that the discussion be taken offline [21:31:00.0000] which kind of seems like not the right way to deal with it, but not my business [21:34:18.0000] Oh, there are some other fun issues there... e.g. https://github.com/httpwg/http11bis/issues/34 [21:34:29.0000] Subscribing, although I'm sure it'll just raise my blood pressure [21:34:40.0000] haha [21:34:48.0000] yeah I know the feeling [21:35:13.0000] Joseph Conrad called this “the fascination with the abomination” [21:36:35.0000] Re https://github.com/httpwg/http11bis/issues/33, annevk (or anyone) do you know if MIME Sniffing is a good reference? [21:36:49.0000] It needs a bit of love to get rid of all the red XXX boxes, but I'd imagine it's pretty solid... [21:37:28.0000] (It also uses old spec-writing styles, as we discovered in e.g. https://github.com/whatwg/mimesniff/pull/26 ) [21:42:18.0000] I guess most of the XXXs are around the question of whether values should be capped at 127 bytes [21:46:47.0000] which I’m kvetching I’d just like to say, I hope Google content-dev people are learning the right lesson from https://bugs.chromium.org/p/chromium/issues/detail?id=489954 [21:48:21.0000] I mean as far as why the should not speculatively lock themselves into immature spec features before they have a clear trajectory to genuine cross-browser support [21:48:49.0000] or worse, I think in this case they did that even after Apple had made it very clear they weren’t going to be implementing it [21:49:43.0000] *should not speculatively lock themselves into building production services on top immature spec features [21:52:58.0000] Yes... if these were cross-browser sites (e.g. using the polyfill), they could just work with no effort. [21:53:08.0000] You create a Chrome-only site, you should expect some potential pain. [23:07:57.0000] Domenic: for terminology I agree but don’t really want to get into that arguement. For the library idk, the URL Standard makes it pretty much a non-goal to support anything that’s not in a browser [00:54:06.0000] Domenic: also happy to start using booleans, maybe that's better [00:54:16.0000] Domenic: we usually just migrate [00:56:10.0000] SimonSapin: browsers are HTTP clients though (and some have servers) [00:58:44.0000] annevk: my point was that the parsing algorithm in the URL standard only helps with one case of [00:58:45.0000] request-target = origin-form [00:58:47.0000] / absolute-form [00:58:49.0000] / authority-form [00:58:51.0000] / asterisk-form [00:58:58.0000] (things that can go in an HTTP request) [00:59:00.0000] for example [01:00:15.0000] SimonSapin: yeah I saw that at some point but it was never raised against whatwg/url to my knowledge [01:00:28.0000] SimonSapin: we should probably look into how to handle that [01:04:02.0000] SimonSapin: surprised Node.js hasn't reported that case yet, would hit them too I'd imagine [01:43:07.0000] Domenic: Do we have some examples of upgrading a function returning undefined into returning something useful? [01:43:22.0000] I know that was claimed as a safe upgrade path for cb-using functions, to turn them into promise-returning functions. [01:43:33.0000] Wondering if it actually happened in practice that you're aware of. [02:17:02.0000] annevk, happy birthday! [02:18:14.0000] A wild Ms2ger appears! [02:18:23.0000] (also, +1) [02:19:04.0000] \o [02:19:07.0000] How's Paris? [02:20:17.0000] Overcast and warm. How's Belgium? [02:21:29.0000] Overcastish and warmish :) [02:23:23.0000] Is that -ish hiding where you live? ;P [02:25:26.0000] Surely knowing that it's not entirely overcast here gives about as much information as knowing that it is? [02:25:41.0000] :) [03:21:16.0000] /me concludes that Ms2ger actually lives in Paris, but is more temperature sensitive than gsnedders [03:28:55.0000] jgraham: tbf, you did see how tanned I was last week [03:58:44.0000] gsnedders tanned? I'm skeptical [04:02:23.0000] annevk: https://fetch.spec.whatwg.org/#http-fetch 3.3.1 – transmitting the body after getting the response… isn't that the wrong way around? [04:47:09.0000] oh yay Ms2ger [04:47:25.0000] /me also tries to imagine a tanned gsnedders .. and fails [04:48:55.0000] Ms2ger, MikeSmith: I'm still just about the most person in the CSS WG F2F :) [04:49:07.0000] I'm just less of a total ghost than normal :) [04:49:16.0000] (Also: got tanned with SPF 50 suncream on, obviously) [04:49:32.0000] the “most person” in the CSS WG [04:49:41.0000] now that I believee [04:50:52.0000] s/most person/most white person/ [04:50:57.0000] MikeSmith: I AM VERY PERSON [04:57:43.0000] true [04:57:59.0000] anyway I do like that song those guys wrote about you some years back [04:58:10.0000] Whiter Shade of Pale [04:58:14.0000] I think was the name [04:58:38.0000] hahaha [04:59:16.0000] Alabaster [04:59:26.0000] I’ll stop teasing you there [04:59:41.0000] and return to being very glad to see Ms2ger [05:02:07.0000] You're very sweet [05:07:50.0000] : ) [05:08:33.0000] How is the kid? [05:09:29.0000] Ms2ger: which one? :) I just had a new one born on Friday [05:09:35.0000] little girl [05:09:38.0000] name Mui [05:09:47.0000] Well, you're not holding back :) [05:09:54.0000] haha [05:10:02.0000] gotta keep the world alive [05:10:09.0000] my boy Zen will be 2 soon [05:10:32.0000] and then there’s my daughter Satori who is 19 years old now [05:10:42.0000] gotta spread out the bets [05:10:53.0000] anyway there are all doing great [05:11:03.0000] hope you are doing great too [05:11:16.0000] or somewhere near great [05:11:22.0000] Great enough :) [05:11:35.0000] good to hear [05:12:02.0000] well we have been carefully saving up all the work you would have been doing in the mean time [05:12:03.0000] /me would have guessed Zen was a year, max [05:12:07.0000] Time flies [05:12:15.0000] yeah he grows fast that one [05:12:32.0000] he eats everything [05:12:50.0000] and he needs extra oxygen more than this planet provides by default [05:13:05.0000] but he has adjusted to that [05:13:09.0000] Satori is that young? For some reason I thought she was close to my age. [05:13:16.0000] well [05:13:26.0000] you are close to 19 [05:13:30.0000] :) [05:13:37.0000] you pretty much will always be close to 19 [05:13:44.0000] Can you drink in the US yet? [05:13:46.0000] closer in age to Ms2ger, I'm pretty sure [05:14:01.0000] I'm close to 19, or so I'd like to think [05:14:02.0000] I think it depends on which state, the drinking [05:14:02.0000] well, assuming Ms2ger does actually have an age ;P [05:14:27.0000] gsnedders: It's a complex number. [05:14:29.0000] What's seven years in a lifetime anyway [05:14:56.0000] Ms2ger: wait are we actually the same age? [05:15:09.0000] gsnedders: We are all the same age if you wrap the universe enough. [05:15:21.0000] Hi nox, how are the cats? [05:15:32.0000] Ms2ger: Always good, happy to see you around again. [05:15:49.0000] gsnedders, well I dunno, how old are you? [05:17:37.0000] Ms2ger: 25; born April '92 [05:17:56.0000] gsnedders is 14. Ms2ger can have his age reset arbitarily by his sysadmin [05:18:11.0000] Then we were until last week :) [05:18:23.0000] /me wonders how old he was when he first met jgraham [05:18:28.0000] …16? [05:18:37.0000] jgraham, I don't like the implication I'm not my own sysadmin [05:18:40.0000] Ms2ger: so you are around a year older? [05:19:03.0000] -ish :) [05:20:49.0000] gsnedders, I suppose we should just figure out how old jgraham was when you met him... About 45? [05:24:29.0000] It's a little known fact that jgraham is an anagram of Benjamin Button [05:25:05.0000] Ms2ger: so harsh [06:10:12.0000] Thanks Ms2ger, wb [06:12:12.0000] JakeA: while technically possible in that order, that does seem a little wrong; I suspect the layering between Fetch and Service Workers is wrong somehow [06:13:41.0000] annevk: yeah, it feels like the service worker is responsible for transmitting the request at that point, since it may never need transmitted [06:13:50.0000] I'll file an issue [06:16:14.0000] https://github.com/whatwg/fetch/issues/572 [06:16:16.0000] JakeA: well, it needs to be transmitted to the service worker from the main thread [06:16:41.0000] JakeA: although maybe if the service worker never reads it... hmm [06:17:04.0000] annevk: maybe a stream needs to be constructed that the sw can pull from [06:17:06.0000] JakeA: I guess upload streams have a lot more bugs than I thought [06:17:51.0000] JakeA: btw, it's a holiday here so I'll get back to GitHub tomorrow [06:18:21.0000] annevk: you definitely shouldn't be on IRC. Go enjoy the day! [06:19:45.0000] JakeA: heh, taking a break between putting together stuff from Ikea [06:21:29.0000] Pretty sure that's the opposite of "enjoy the day" [06:22:49.0000] uhuh [06:23:34.0000] I'll finish with some TV and a cocktail, it'll be okay [06:24:02.0000] annevk: I've been watching Legion, which I very much recommend [06:25:19.0000] Is it weird that I don't mind putting together IKEA stuff? [06:25:54.0000] I think it's the whole experiencec [06:26:05.0000] Liek having to buy stuff from Ikea in the first place [06:26:40.0000] Okay, actually being inside a store is pretty terrible [06:27:02.0000] Agreed [06:27:29.0000] Although putting the stuff together is often like Lego and makes me feel like I'm good at something manual [06:29:43.0000] Ms2ger: my gf is scary good at putting together IKEA stuff [06:33:08.0000] Will keep that in mind for the next time I get back from IKEA :) [06:45:41.0000] tobie: you can own WebIDL tests, right? [06:46:15.0000] oh, you do [06:46:18.0000] my list is out of date :) [06:51:31.0000] https://github.com/w3c/web-platform-tests/issues/5915 has a list of every unowned spec in wpt. Plz add yourself as an owner if you care about any of them. [07:00:23.0000] I think annevk gets http/ [07:58:40.0000] annevk: happy birthday! [08:02:51.0000] annevk is spending his birthday assembling Ikea furniture? And people still believe in God? [08:19:00.0000] He doesn't [08:19:02.0000] (I think?) [08:24:59.0000] JakeA: oh, I didn't see you made a new doodle... I'm an idiot [08:25:07.0000] /me tries to delete email... [08:25:18.0000] wanderview: To be fair, I'm the idiot who fucked up the first doodle [08:30:18.0000] JakeA: well, I guess my confused email convinced some pacific folks to sign up! [08:30:35.0000] JakeA: and really, who hasn't been screwed over by timezones... [08:56:41.0000] unfortunately I won't be able to make it for any of the dates in the new doodle [08:56:42.0000] wanderview: Indeed, the meeting ends at 23:59 because Doodle couldn't handle the day change [08:56:51.0000] but then I don't believe my presence is vital anyway [08:58:01.0000] Mek: We can have a catchup or something afterwards 2017-08-02 [00:02:16.0000] JakeA: oh thanks, I'll add that to our backlog [00:03:06.0000] JakeA: best thing we recently finished is Sense8, but unfortunately it got canceled (though there'll be a long wrap up somewhere next year) [00:05:56.0000] I enjoyed the first series of that but haven't watched the extra episode they did [00:25:56.0000] Anyone know whether or not it is spec'd somewhere that browsers should not block rendering on link tags whose media attributes do not apply to the current UA environment when loading a page? [00:27:37.0000] https://html.spec.whatwg.org/multipage/semantics.html#processing-the-media-attribute doesn't get specific about it..idk whether or not the idea of renderblocking media is implementation-dependent or something is spec'd [00:40:19.0000] JakeA: there's two seasons, and then there's some kind of upcoming long episode [00:40:35.0000] JakeA: ah, and the first episode of season two was also a long one [00:41:11.0000] domfarolino: all of that is super hand-wavy [00:41:45.0000] domfarolino: right tradeoffs are still an area of research I suppose [00:44:39.0000] annevk: ok makes sense. yeah, reason I asked is bc nightly seems to block rendering on stylesheets loaded from link whose media attr doesn't reflect current environ, where as canary + safari don't block (render screen much quicker) gotcha tho [00:50:24.0000] domfarolino: we should probably fix nightly [00:51:05.0000] domfarolino: though how exactly it is to be fixed is much less clear of course [00:51:28.0000] domfarolino: like do canary + safari even end up populating document.styleSheets in the end with these stylesheets? [00:51:46.0000] domfarolino: CSSOM was so poorly done [00:59:13.0000] annevk: yeah, think I'm gonna make a small repro example...any recommendations on where to ask around about it? [00:59:20.0000] annevk: canary + safari do populate document.styleSheets after they are loaded btw [01:00:17.0000] domfarolino: the only person I can think of for Fx is bz [01:01:04.0000] annevk: ok perhaps asking around in the slack will be beneficial too or something...you're saying CSSOM was don poorly in FF? [01:01:20.0000] domfarolino: no, just done poorly as a thing [01:01:20.0000] annevk: yeah, seems like something we shouldn't be doing (all this blocking for no reason when other implementations aren't) [01:01:25.0000] ahhhh [01:01:43.0000] domfarolino: the slack? [01:02:45.0000] annevk: ah, yeah mozilla.slack.com the firefox channel is fairly active though I feel more engineers actually use IRC so it might be the best route yeah [01:03:10.0000] oh, maybe I should finally gave and sign up for that, hmm [01:03:47.0000] domfarolino: I'd expect #content and maybe #layout to have answers, but not this time of day [01:03:55.0000] domfarolino: on Mozilla IRC, not Freenode [01:04:05.0000] annevk: it's unfortunately fairly spammy IMO butttttt I've gotten some decent information on bugs ive been interested in so yeah pros and cons [01:04:19.0000] s/gave/cave/ [01:04:26.0000] annevk: Gotcha, yeah I'll ask around tomorrow haha [02:23:30.0000] domfarolino: There's no particularly good reason to block rendering in that case, but I don't think the blocking behavior is defined anywhere. [02:23:53.0000] One does have to be careful, because even if it doesn't apply, scripts might expect the StyleSheet object to exist. [02:24:06.0000] But that doesn't have anything to do with the rendering, I wouldn't think. [02:26:49.0000] TabAtkins: that's another thing that's poorly defined, whether StyleSheet existing implies the entire stylesheet is present or whether that can be incremental [02:27:07.0000] TabAtkins: it's clear the DOM is incremental, but for CSSOM it's all rather vague and undefined? [02:27:09.0000] yup [02:27:32.0000] I'm sure Glenn Adams will fix it any day now [02:28:02.0000] it's zcorpan's responsibility now ^_^ [04:58:30.0000] annevk: I could try to reduce the amount of wrapping in cancellation, but it will leave some points not-cancellable, some which are potentially observable. Eg https://fetch.spec.whatwg.org/branch-snapshots/cancelation/#main-fetch 2.4 is observable through CSP reporting [05:03:51.0000] JakeA: hmm, I wonder if it's bad if you can race with mixed content blocking and such, though obviously you already can the moment you hit redirects [05:05:36.0000] JakeA: also, maybe we need to rephrase "Run these steps until" somehow to not make it seem like a while loop [05:06:02.0000] annevk: I'll make a branch that only deals with streams and network stuff. I went the other way because it seems weird to call out to CSP for a potentially already terminated fetch [05:06:44.0000] JakeA: yeah, I think you're right that that's weird [05:06:54.0000] JakeA: so I'm okay with your setup [05:07:19.0000] annevk: Yeah, I'll figure out some working for the |reason| stuff too. I started with "If the fetch terminates with reason |reason|", but it sounds like the |reason| is part of the conditional [05:08:38.0000] "Run these steps once and stop if fetch is terminated"? [05:15:37.0000] Yeah, that works [05:18:08.0000] annevk: I don't mind the git blame issue. I'll use it to get a promotion. "I wrote 50% of the fetch spec" [05:18:50.0000] (a colleague was refused promotion because some idiot did a git blame on a project they worked on and decided they hadn't done much on it) [05:19:08.0000] JakeA: pretty decent machine learning you got going on there [05:19:45.0000] JakeA: Next time you show managements the exact same figures, [05:19:52.0000] JakeA: but as the output of git praise instead. [05:20:09.0000] :D [05:20:13.0000] JakeA: At Google? That's pretty funny. (and also tragic) [05:20:21.0000] git: 'praise' is not a git command. See 'git --help'. [05:20:29.0000] /me is disappointed [05:20:39.0000] annevk: You are thinking of svn [05:20:47.0000] git-annotate is a command [05:21:49.0000] jgraham: yeah, pretty shitty. We did some complaining about it. Hopefully it won't happen again. [05:21:52.0000] There should be promotions for leaving behind little technical debt (or just owning up to it for a long time) [05:21:53.0000] Yeah it's from svn. [05:22:01.0000] blame|annotate|praise [05:24:49.0000] annevk: And yet Hyatt got a huge payrise/promotion for abandoning us yet leaving XUL and XBL. [05:26:45.0000] jgraham: yeah, creation gets rewarded much more than maintaining a pile of hacks, which is why there's also so many new APIs of dubious value and rather little architectural work (some of this is overly simplified and I'm biased) [05:27:42.0000] no I think you're right [05:28:59.0000] also creating stuff in solitude makes it easier when it comes to attribution [06:22:36.0000] annevk: what's the deal with the manual-wrapping in specs? I much prefer allowing the editor to wrap. Makes it easier when searching across the file too [06:22:56.0000] Makes diffs easier too, as you don't end up with loads of lines changing because of a one-word change [06:24:11.0000] JakeA: This was ambiguous. [06:24:18.0000] JakeA: The editor, or the editor? :) [06:24:25.0000] haha [06:24:27.0000] yeah [06:24:36.0000] um, I mean the text editor's wrapping feature [06:24:44.0000] JakeA: so I don't wrap terms myself (though whatwg/html does) so searching should not be impacted generally [06:24:53.0000] I could see someone replying to you "well, that's exactly what we do?" passive-aggressively. :P [06:25:31.0000] JakeA: and I think the wrapping is for more readable diffs, though it's somewhat terminal-orientated [06:26:05.0000] annevk: ah, so I've been following the whatwg/html rules. I guess I should fix that [06:26:35.0000] annevk: I don't agree that it makes diffs better, unless the diff viewer doesn't support wrapping (which unfortunately includes vscode) [06:26:46.0000] JakeA: seems like something we could discuss for a bit in https://github.com/whatwg/meta/issues to see if the tooling is maybe good enough these days that we should just drop it and go with something else [06:27:10.0000] annevk: I guess the main bit of tooling that would need to support it is github [06:27:21.0000] which doesn't right now, although a small CSS change fixes it [06:27:38.0000] JakeA: well this is from the days where we mostly used "diff -u p10" or some such (I forgot the exact syntax) [06:28:57.0000] JakeA: I find GitHub's split view mostly good enough for this. [06:29:30.0000] JakeA: I think the argument about diffing is that if you insert a long word on a line, [06:29:37.0000] you may need to rewrap everything that follows, [06:29:41.0000] Yeah, GitHub's diff viewing + tobie's tool might be enough to start giving up on the 100col thing [06:29:42.0000] and then 10 lines changed instead of 1. [06:29:47.0000] JakeA: That said, I favor semantic line breaks of 100 character wrap, tbh [06:30:01.0000] Anyway, I recommend someone file an issue if they want to see this changed generally [06:30:01.0000] s/of/over/ [06:30:08.0000] Against whatwg/meta [06:30:14.0000] Ah that's the opposite direction, disregard me. [06:30:43.0000] nox: semantic line breaks prevent that [06:31:11.0000] tobie: Yeah that's what I meant. [06:32:34.0000] tobie: huh, I didn't realise the split view now supported wrapping in github. I thought I tried this recently and it didn't. [06:33:25.0000] JakeA: I think it mostly works? There might be cases where there's too much change for it to kind of fall apart, though. [06:33:42.0000] seems pretty good [06:34:07.0000] good [06:34:53.0000] What's really nice about GH is how it highlights the word changes [06:35:10.0000] Though unfortunately those don't account for wrapping :/ [06:35:37.0000] JakeA: have the useCache WPT tests landed? [06:36:35.0000] wanderview: https://github.com/w3c/web-platform-tests/pull/5515 - no one seems to want to review it :( [06:36:42.0000] JakeA: Semantic linefeeds, yo . All the benefits of short lines, *plus* you don't have to rewrap a bunch when you change one word. [06:37:28.0000] JakeA: aren't there lots of review comments on there? [06:37:40.0000] I'll look again [06:39:20.0000] wanderview: there were reviews, and I've addressed the comments. Just needs someone to say it's now good to go :D [06:39:55.0000] JakeA: done [06:40:03.0000] \o/ thanks! [06:40:50.0000] JakeA: sorry about that... I could complain about GH UX again I suppose [06:41:16.0000] I guess I'm really used to bugzilla flag system [06:41:24.0000] wanderview: it's my bad, there's a few prs I need to chase [06:43:40.0000] wanderview: Is that the needinfo thing? [06:44:12.0000] wanderview: There is https://github.com/pulls/review-requested [06:44:14.0000] nox: needinfo, explicit review flags, a place I can see all flags requested of me [06:45:31.0000] TabAtkins: I've never done that before, but I guess it makes sense. Have you written specs this way before? [06:45:40.0000] I write every single spec that way. [06:45:47.0000] Check any of the CSS specs I edit. [06:47:30.0000] https://github.com/w3c/csswg-drafts/blob/master/css-align/Overview.bs [06:47:35.0000] ^^^ for example [06:47:55.0000] wanderview: GH kind of has explicit review flags now [06:48:15.0000] jgraham: yes... but targeted at specific people or just "i want someone to review"? [06:48:17.0000] Yep it's the link I pasted, [06:48:21.0000] wanderview: Yes [06:48:33.0000] but there is no unified view for review requests and things assigned to you, for example. [06:48:50.0000] wanderview: (although really targeted at specific people is a pretty bad system for contributors) [06:49:15.0000] (although I guess it has CODEOWNERS now, so that could help) [06:49:35.0000] https://github.com/whatwg/meta/issues/31 issue for removing the 100 column limit [06:52:35.0000] TabAtkins: When are you going to write typeshed so I can write specs in TypeScript and it'll convert them to prose? [06:53:16.0000] jgraham: all I know is that I still don't have a good way to know what PRs people are waiting on me to review... [06:55:32.0000] wanderview: I mean I agree that the GH sisten is not that great [06:55:51.0000] But in-principle looking at https://github.com/pulls/review-requested answers that question [06:56:09.0000] It's just hard to find, and you don't get reminder emails, and it's not integrated with any other data [07:15:38.0000] (it's also broken on whatwg/html PRs likely due to the size of the source resource) [07:15:54.0000] (reported but no fix) [07:26:55.0000] TabAtkins, JakeA: I <3 semantic line feeds. Helps me think. But it seems pretty much everyone else hates them. [07:31:17.0000] anyone have safari handy and could run this test? https://timeout-clamp.glitch.me/ [07:34:58.0000] wanderview: first result is inconistent (1 to 6 I've observed), second is always 6 [07:35:09.0000] gsnedders: thanks [07:35:10.0000] I find that semantic line feeds make the text harder to read due to the extreme raggedy right edge. It's like someone was trying to write particularly dull freeform poetry [07:35:24.0000] wanderview: s/first/setTimeout/ [07:35:39.0000] wanderview: (this is on a laptop on AC power, given throttling might differ) [07:35:57.0000] wanderview: and Safari TP 36 [07:36:23.0000] gsnedders: thanks, its bound to be noisy... I think 6 is a reasonable answer [07:36:53.0000] jgraham: "particularly dull freeform poetry" is an pretty adequate description of spec prose. [07:37:01.0000] *accurate [07:38:36.0000] jgraham: I find it much easier to read, precisely because the "poetic" nature of it splits up thoughts better. [07:49:38.0000] JakeA: when you are able to land the useCache tests, can you let me know? I want to ask jgraham to do a gecko sync to pull the tests in [07:49:55.0000] or maybe let jgraham know directly since you're in the same timezone [07:50:50.0000] wanderview: Just started a sync this morning, so the timing would be unfortunate if they land this afternoon [07:50:52.0000] we're just waiting to get the tests before landing our implementation of the enumeration [07:51:00.0000] Can probably try to make it work somehow though [07:51:21.0000] jgraham: in theory not much would have changed between this morning and the afternoon if you ran another sync? [07:52:01.0000] I guess someone with the appropriate rights just needs to hit the merge button on https://github.com/w3c/web-platform-tests/pull/5515 [07:52:14.0000] wanderview: Right, might just be possible to mush it in [07:57:18.0000] if anyone has latest Edge with new-grid enabled in about:flags, what do you get for https://codepen.io/gsnedders/pen/ZJpYBY? [08:03:51.0000] JakeA: Merged, although I didn't notice I should squash rather than rebase, sorry [08:04:12.0000] wanderview: ^ [08:04:31.0000] jgraham: Cheers! Don't worry about the squash thing [08:05:24.0000] JakeA: wasn't there a "failed check" or something from travis? what was that about? [08:06:06.0000] wanderview: it looked like a failure to connect to webdriver, so I assumed (perhaps wrongly?) that it was just a glitch [08:06:27.0000] Yeah I'm not worried about that [08:06:29.0000] ok... I was just curious [08:06:48.0000] On master this PR wouldn't even run those tests [08:06:55.0000] Because it doesn't modify tools [08:07:47.0000] wanderview: Will try to pull those changes in to the sync [08:07:53.0000] jgraham: thanks! [08:13:11.0000] and thanks to JakeA for writing the test! [08:13:41.0000] no problem! [08:41:28.0000] annevk: to handle the service worker parts, I'm thinking of adding an in parallel section in step 17 of https://w3c.github.io/ServiceWorker/#handle-fetch which waits for the fetch to terminate, then queues a task to signal abort on fetchEvent.request.signal – does this sound reasonable? [08:42:39.0000] It means we don't need the message port stuff for the signal, although I'd still like signals to be cloneable for other uses. [09:16:55.0000] JakeA: yeah that's probably reasonable [09:17:28.0000] JakeA: I vaguely remember wanting to refactor more around streams since Fetch and SW have some duplicate parts, but that's probably separate [09:30:54.0000] JakeA: I'll rereview first thing tomorrow [09:31:37.0000] JakeA: btw, there's still quite a bit of interest on our side to do multiple boxes at some point with good enough heuristics to avoid the need for persistent storage [09:32:21.0000] JakeA: I guess I should sketch something at some point [09:33:28.0000] annevk: interesting! The biggest problem is "tripit" which is low engagement but high importance [09:34:01.0000] But then everything is potentially high importance when you about to get on a flight or a train [09:35:03.0000] JakeA: we're thinking about replacing LRU with some kind of score that takes into account recency and first visit [09:35:46.0000] annevk: doesn't that fail the tripit case? [09:36:38.0000] JakeA: don't think so, recent visit and long ago first visit would be a high score [09:37:11.0000] JakeA: problematic would be long ago first visit and no visit in the last x months/years [09:38:02.0000] JakeA: or single recent visit [09:38:12.0000] (both recent and first) [09:38:44.0000] annevk: that can happen. Log in January. "Tripit added your December flight" notification in June, user dismisses it. But you still want that "flight changed" notification in November [09:39:04.0000] Or be able to get flight into from the app offline in October etc etc [09:41:40.0000] Hmm I guess tripit might be one of the cases that actually needs persistent then [09:42:11.0000] Hopefully they'll use it when we ship it [09:43:05.0000] I'd expect Netflix and such to also want persistent; it seems they have enough brand to ask the user such a thing and that way they get to control when stuff breaks offline [09:43:40.0000] But there's a lot of cases that could be helped by better heuristics and being able to say what it's important relative to other things (if the browser needs to prune) [09:44:09.0000] Maybe prune isn't the correct term here, but... [09:47:16.0000] annevk: having both works. We don't show a permission for persistent, we grant it if there's a bookmark added or add-to-homescreen [09:47:26.0000] Which I guess counts as a heuristic [09:47:37.0000] But you can query whether you have it [10:06:22.0000] JakeA: yeah I saw, we have a prompt but we might do something like that at some point [10:07:00.0000] JakeA: but that still requires the site explaining to the user that they have to do something and keep it that way [10:07:44.0000] JakeA: boxes + better LRU might enable sites that don't want any of that (we've mostly heard that from game developers) [10:24:57.0000] annevk, JakeA: Any reason https://github.com/w3c/web-platform-tests/pull/6484 isn't merged? [10:43:10.0000] jgraham: there's no spec yet, but I believe annevk was happy for it to merge anyway [10:43:17.0000] Just needs someone to hit the button [10:47:08.0000] JakeA: Invited you into the org so you can merge your own PRs now :) [10:47:37.0000] (in particular it looks like you want to edit the commit message for that one when you squash, so I'll let you do it) [10:53:28.0000] Ooooo thanks! 2017-08-03 [00:19:06.0000] https://bugs.webkit.org/show_bug.cgi?id=175115 [00:19:41.0000] https://lists.webkit.org/pipermail/webkit-dev/2017-August/029386.html [00:25:06.0000] Keen eye [00:40:09.0000] if you don’t know where you’re going, any road will take you there [02:56:47.0000] annevk: how do I terminate an "in parallel" series of steps? I'm within "Run these steps until fetch is terminated" so "abort these steps" is kinda ambiguous. "Abort these in-parallel steps"? [03:14:08.0000] JakeA: not sure, might be good to raise against Infra, I think your proposal is reasonable though as a first go [03:14:38.0000] ta! [04:03:44.0000] annevk: "Run these steps, breaking if fetch is terminated" – does this sound less loopy? [04:04:13.0000] I think it was the "until" that made it sound like it might loop [04:05:18.0000] JakeA: unfortunately, break is reserved for loops atm, https://infra.spec.whatwg.org/#algorithm-iteration [04:05:30.0000] hah [04:10:33.0000] annevk: I know you don't like substeps, but "Run these substeps, but abort the substeps at any point if fetch is terminated:" [04:15:55.0000] JakeA: s/at any point// and an issue against Infra to figure out if this is one time we need them? [04:16:19.0000] wfm [04:20:09.0000] https://github.com/whatwg/infra/issues/143 [04:26:43.0000] JakeA: fwiw, the issue is missing your "in parallel" fetch use case described here. Think it's worth adding it for context (I understood the issue all wrong until I came back to read about it here). [05:05:46.0000] tobie: I think that's a different issue, and infra doesn't seem to want anything to do with in parallel https://github.com/whatwg/infra/issues/120 [05:41:59.0000] JakeA: oh. Because without that it just sounds like "if x or y or z, then..." would do. [05:43:20.0000] so what specs outside of the WHATWG require tests alongside all normative changes now? [05:44:07.0000] gsnedders: foolip_ would know, if around [05:44:19.0000] gsnedders: I think there was one example at least [05:45:01.0000] Payment Requests does, and I'm sure there was something else that rbyers had pushed it on ages ago [05:46:10.0000] gsnedders: Web Performance (as a WG?) https://github.com/w3c/web-performance/blob/gh-pages/CONTRIBUTING.md#test-driven [05:46:21.0000] gsnedders: via foolip_'s Twitter [05:46:24.0000] I'm sort of informally moving towards that with Web IDL [05:46:55.0000] It's a bit of a more complex problem, though. [05:47:17.0000] ah, Web Perf. [05:47:38.0000] annevk: do we have any examples of very early-stage specs that are changing massively that have done it? [05:48:28.0000] gsnedders: ^ that was a response to your question [05:48:47.0000] that wasn't meant to be really at annevk [05:48:51.0000] I don't know why I did that :) [05:50:17.0000] it's more of an idea if it still changes a lot [05:51:00.0000] because at least here there seems to be some concern about time spent writing tests that nobody ever runs [05:52:40.0000] gsnedders: I generally see it as two phases where phase one can be anything from a PR or separate document; phase one is the idea that you flush out, get commitments on, etc. then it's time for phase 2 where it lands in a proper spec inc tests [05:52:58.0000] gsnedders: sometimes tests come first, as with cancelable fetch [05:53:37.0000] annevk: so, e.g., one question is when you move to a proper spec with tests for something like CSS Grid [05:54:24.0000] gsnedders: when two UAs are in principle happy to impl and ship it [05:55:22.0000] gsnedders: in principle CSS grid is just a very large change, so https://whatwg.org/working-mode#changes applies [05:57:03.0000] annevk: tbf for years simply applying that literally would be "you fail this new test because you still don't support grid at all" :) [05:58:09.0000] gsnedders: that sounds like the implementer commitments were not as serious as assumed? [05:58:43.0000] gsnedders: also note that writing decent tests will improve the change/addition tremendously as well due to lots of bugs being uncovered [05:59:17.0000] annevk: I mean I guess there's also the question of what an implementer commitment is; whether it's "we want to implement some similar Grid system in CSS" or "we want to implement this exact spec" [05:59:32.0000] which the former makes sense in the incubation case more than the latter [05:59:35.0000] gsnedders: it's the latter [05:59:46.0000] gsnedders: the former is whether you start working on phase 1 at all [06:00:56.0000] so one question is when you start writing tests for every change, because you probably want to do that once you have any implementation, rather than waiting until you have two underway [06:01:48.0000] annevk: see also https://www.w3.org/2017/08/03-css-minutes.html#item06 [06:01:58.0000] annevk: though a lot of that boils down to "nobody reviews tests" [06:02:22.0000] and to a lesser degree "editors don't have time", but mostly "we'd never get any spec changes landed because nobody reviews tests" [06:02:38.0000] In other words, "we don't care" [06:03:04.0000] So then you don't change specs for a while and work on interop first [06:03:14.0000] I don't think many web developers would be displeased [06:03:36.0000] gsnedders: service worker [06:04:08.0000] gsnedders: You bake reviewing tests into how you write specs [06:04:29.0000] jgraham: and how do you get anyone to review is the problem? [06:04:33.0000] Like you do for code. Pretty sure that "we don't write tests because no one reviews them" wouldn't wash in a software project [06:04:35.0000] tobie: It's more of a shortcut between putting "if then break" before every step of a set of steps [06:04:43.0000] gsnedders: You tell them they can't land spec changes without review [06:04:56.0000] of accompanying tests [06:04:56.0000] tobie: "shortcut for putting" I mean [06:05:09.0000] Like like software changes [06:05:20.0000] jgraham: and how do you convince the WG of this? [06:05:27.0000] gsnedders: if you don't take testing seriously you basically end up revisiting a whole bunch of things down the line [06:05:42.0000] gsnedders: Ask them if they're allowed to make changes to their code projects without tests [06:05:43.0000] will do [06:05:52.0000] See if they can justify the difference [06:06:18.0000] jgraham: you've seen how many changes TabAtkins makes to BS without tests, right? ; [06:06:21.0000] * ;P [06:06:47.0000] Sure, but I bet he wouldn't be allowed to ship chromium changes without tests [06:07:03.0000] You say, as I'm currently reviewing the delta a new change would make to tests to make sure rebasing them is safe. ^_^ [06:07:14.0000] (I definitely don't test *enough*, tho.) [06:07:27.0000] TabAtkins: were you here during the earlier discussion, BTW [06:07:40.0000] So the question is whether the spec is more like Chromium where bugs get shipped to millions of people, or bs where they get shipped to a few close collaborators [06:07:40.0000] Earlier CSS discussion, or earlier #whatwg discussion? [06:07:51.0000] (the answer is the former) [06:07:56.0000] TabAtkins: earlier CSS [06:08:20.0000] jgraham: the alternative answer is the latter because the spec gets shipped to vendors who are in the WG [06:08:44.0000] that argument is that the spec doesn't affect users, impls do [06:08:53.0000] gsnedders: And how well has that approach worked for not shipping bugs to millions of users? [06:09:17.0000] TabAtkins: mostly given you were mentioned at several points during it per the minutes [06:09:27.0000] The current state of the web suggests that interop approaches we have taken to date are not good enough [06:09:29.0000] TabAtkins: oh you did say a few things [06:09:35.0000] Yes, I was there. ^_^ [06:09:38.0000] There's other reasons too, but I'm not sure how much I want to rehash everything [06:09:49.0000] E.g., if a spec changes and there's no test changes, no implementer might notice [06:09:56.0000] This happens a lot [06:10:07.0000] And then we ship bugs to millions of people… [06:10:08.0000] Changing tests and filing bugs gets everyone in line [06:10:16.0000] But yeah, "stop working on new features and just improve quality" always sounds good, but is very rarely actually possible. [06:10:25.0000] Which sucks, but hey. [06:10:35.0000] It's a little bit more work, but due to the due diligence it'll also last much longer since it's actually cemented [06:10:46.0000] FWIW I haven't said "stop working on new stuff" [06:11:04.0000] jgraham: annevk did on the basis of being unable to land new spec changes given no test review [06:11:32.0000] Yeah, I was assuming that if the new thing was important enough the review would come [06:11:47.0000] Which it will, since the tests would save implementers time [06:11:49.0000] gsnedders: Right, but that's hyperbole, really. In practice the WG has to find a way to ship new stuff [06:11:55.0000] Otherwise it stops existing [06:11:58.0000] But with CSS Grid it might not, if implementers are happy to wait years [06:12:23.0000] annevk: is that really the case, though, given we have hundreds of open PRs on wpt? [06:12:40.0000] or maybe that just implies they're all tests for unimportant things, but I'm unconvinced that's true [06:12:42.0000] gsnedders: in my experience, yes [06:13:14.0000] gsnedders: I went through those old PRs and they're not really in a great state [06:13:23.0000] gsnedders: and if you compare the backlog to what gets merged it's tiny [06:13:42.0000] gsnedders, importance relative to the amount of work to get the PR in a landable state? [06:14:12.0000] gsnedders: backlog will always grow a bit, since maintenance is not valued as much, but that doesn't mean there's not a lot that gets done [06:15:08.0000] gsnedders: Per GH we are landing 40-150 commits a week, every week at the moment [06:19:44.0000] 2300 commits so far this year compared to 2600 all last year. The idea that nothing gets reviewed is frankly bollocks. [06:20:22.0000] annevk, gsnedders: search for "Existing policies at beginning of Q3" in https://docs.google.com/document/d/1aRpnNQ7Zz_-N9ngdcjQXNjlE1NblppN7lCQwGdxRLlc/edit?usp=sharing for the non-WHATWG testing policies [06:21:00.0000] jgraham: nothing gets reviewed for CSS tests, that's not bollocks. [06:21:02.0000] gsnedders: is the Payment Requests policy documented? [06:21:17.0000] foolip_: https://github.com/w3c/payment-request/blob/gh-pages/test-plan.md [06:22:01.0000] gsnedders: sweet! thanks MikeSmith! [06:23:01.0000] jgraham: is there any way to search for only merged PRs? [06:23:24.0000] gsnedders: 30 open PRs with label wg-css and 448 closed. [06:23:38.0000] jgraham: tbf, many haven't been reviewed in wpt [06:24:01.0000] jgraham: 153 merged excluding those labelled with chromium-export or authored by you [06:24:02.0000] gsnedders: Anyway this is a silly conversation [06:24:57.0000] The CSS WG is observing that they aren't doing their job, and instead of working out how to fix that are trying to work out how to keep not doing it without any consequence [06:25:06.0000] Except making the web worse [06:25:29.0000] that's not an argument that will change the WG's view, however [06:25:55.0000] I am saddened that the working gorup doesn't consider interop to be a compelling argument [06:26:05.0000] gsnedders: if nobody in the CSS WG takes responsibility to review, you won't get reviews, no... [06:26:16.0000] Maybe they should consider going and working on something proprietary instead [06:26:26.0000] gsnedders: it's not somebody else's problem though, it's the CSS WG's problem [06:26:40.0000] gsnedders: it's the quality of their work [06:27:21.0000] Maybe Google could use some people on Flutter, for example [06:27:23.0000] gsnedders: and it won't be solved by trying to find QA folks, editors actually do need to step up [06:28:07.0000] gsnedders: and if there's not enough editors, they should figure out how to empower more folks to do that kind of thing [06:29:59.0000] annevk: it's not clear to me they are any less empowered than in other groups that have more editors, though [06:30:22.0000] there definitely seem to be cultural differences within the vendors between dom teams and layout/style teams. [06:31:02.0000] jgraham: how much of a credibility problem do you think it is with all of these open PRs? if it's plausible that it reduces vendors' commitment to wpt, then including some kind of maintainance in the ecosystem infra rotation would be an option, or setting up a shared think like was discussed in MTV, idea by patket I think? [06:31:45.0000] foolip_: Do those open PRs have assigned reviewers? [06:32:09.0000] foolip_: I think it's a credibility problem if there are people looking for excuses [06:32:31.0000] foolip_: I have no confidence that an infra rotation system would actually work [06:32:37.0000] jgraham: true, but if it's easy to fix, it might make finding excuses more difficult [06:33:00.0000] tobie: I assume it's a mixed bag, but most of them could presumbably be mapped to a group of people via OWNERS files [06:34:17.0000] So some PRs are legitimate tests but need considerable work to land. Lots of that is old stuff. Some are tests with feedback where the PR author never did the work. Some the spec is unclear. Some could probably land if someone reviewed them [06:34:37.0000] But getting people to review random stuff in wpt when it isn't part of their job is really hard [06:34:47.0000] foolip_: combine that with a bot that closes the PR after a certain amount of non-activity from the reviewers, unless the reviewers tag them with a special tag and the problem should be largely solved. [06:35:08.0000] That's why out most effective strategies for getting contributions have all been of the form "make it part of people's job" [06:35:12.0000] gsnedders: as far as I could tell dbaron supported tests there, but maybe other UAs have more differing ideas [06:35:15.0000] If someone has budget they'd like to throw at it... [06:35:32.0000] e.g. upstreaming from vendor repos where review is management enforced [06:35:42.0000] or making it part of the process to land spec changes [06:36:01.0000] ? [06:36:15.0000] dbaron: sorry, didn't mean to actually drag you into this [06:36:37.0000] tobie: Certainly we could just close all the old PRs. That seems like a pretty pyrrhic victory. [06:36:49.0000] dbaron: we're discussing reasons to do tests and how to convince the CSS WG and https://www.w3.org/2017/08/03-css-minutes.html#item06 came up [06:37:22.0000] jgraham: I agree with you that the real problem is people looking for excuses [06:37:42.0000] jgraham: it might be a rational thing to do, if 100 poor old PRs prevent you from getting 10 good new ones a week… [06:37:46.0000] jgraham: it's like saying w3c/html is higher quality than whatwg/html because it has less reported issues [06:37:48.0000] If we have a mostly complete spec->wpt directory mapping, via links like at the top of https://dom.spec.whatwg.org/, and OWNERS files, then I think at least all old PRs could be put in a bucket. But it's only if the spec+test people care about maintaining the test suite well that the bucket will get tended of course. [06:37:53.0000] jgraham: complete nonsense [06:37:56.0000] jgraham: (or more realistically a month) [06:38:00.0000] I think the average Gecko developer working on a feature probably knows to check web-platform-tests for tests, but probably doesn't know to search through the PRs for more unlanded tests... [06:38:03.0000] tobie, it's not clear that that's something that happens, though [06:38:11.0000] Like jgraham, I don't think a rotation to look at *all* PRs would make sense. [06:38:21.0000] I don't think that's "looking for excuses". Maybe it's an education problem or maybe it's a process problem. [06:38:40.0000] dbaron: so maybe you don't know this, but each WHATWG specs links to tests and open test issues using the WPT labeling system [06:38:54.0000] I didn't [06:38:56.0000] dbaron: e.g., https://github.com/w3c/web-platform-tests/labels/fetch captures all ongoing work for fetch [06:39:02.0000] but there are more specs than whatwg specs [06:39:06.0000] dbaron: and is linked from the top of the Fetch Standard [06:39:24.0000] dbaron: the hope is that folks copy our example since it seems pretty good (though open to better ideas) [06:39:30.0000] is it clear that "open test issues" might include pull requests with 75% of the tests? [06:40:32.0000] dbaron: about as clear as open spec issues potentially including security bugs and such [06:40:34.0000] dbaron: I don't really expect people to review random open PRs, although they can certainly sign up to be notified using the OWNERS file mechanism [06:40:56.0000] I epxect people working on implementations to write tests that get upstreamed, and for those to get internal review [06:41:09.0000] does wpt have labels for indiviual css specs? [06:41:15.0000] And I expect WGs to have a process that ensures relevant tests are written and reviewed as specs are written [06:41:15.0000] dbaron: yes [06:41:53.0000] CSSWG seems to be lacking the latter, because any such process would of course involve ensuring the tests have a credible means of landing [06:42:03.0000] dbaron: e.g.: https://github.com/w3c/web-platform-tests/labels/css-position-3 [06:42:14.0000] "hoping that a random person on the internet does it" is not very credible [06:42:24.0000] ok, but then there's https://github.com/w3c/web-platform-tests/labels/css-fonts which is unleveled [06:43:55.0000] dbaron: labels are given depending on which directories the tests go in. [06:44:18.0000] dbaron: if you want this to be labelled differently, just rename the directory. [06:44:37.0000] dbaron, there's a bunch of css tests outside the top-level css/ directory that are unversioned [06:45:47.0000] Ms2ger, dbaron: wasn't aware of this. These also don't get tagged with the csswg label it seems [06:46:07.0000] They predate the merge [06:46:16.0000] dbaron: for ref all css-wg related stuff should be here: https://github.com/w3c/web-platform-tests/labels/wg-css [06:46:44.0000] Well some of them do [06:46:47.0000] It's probably worth merging them into the relevant css/css-foo-N dirs [06:46:57.0000] Or going the other way around [06:46:57.0000] Ms2ger: agreed. [06:48:07.0000] css-fonts seems to be rather new, and based on moving css-fonts-4 stuff out of the css-fonts directory [06:48:22.0000] *out of the css/css-fonts-3 directory [06:49:58.0000] well, if these want an wg-css label, we'll need to fix the bot [06:51:39.0000] dbaron: presumably you don't want the tests to be leveled? You'd end up maintaining many more tests than if you just tracked whatever everyone is implementing [06:51:59.0000] yeah, dunno, but lots of the css dirs are leveled [06:55:32.0000] dbaron: [06:56:53.0000] annevk: all the UAs agree, but nobody's willing to do any work [06:57:56.0000] gsnedders: film at 11? [06:58:59.0000] I mean I might not discourage people who are removing the leveling by re-moving tests back to a levelled directory [07:01:00.0000] dbaron: so the mix of levelled and unlevelled is essentially just down to what we had agreement to do in the WG [07:01:47.0000] dbaron: all tests for existing specs remained in their levelled dirs; all tests for new tests are unlevelled per standard wpt policy [07:02:50.0000] I would like to move it so everything is unlevelled (but that gets a bit messy given the modularisation of CSS 2), but I'd expect massive pushback from the WG if I tried [07:03:07.0000] and I don't currently think it's worth spending the political capital on [07:03:26.0000] *for new specs [07:04:04.0000] + cssom [07:04:46.0000] Anyway, as long as there's a unique directory for each spec... *shrug* [07:04:56.0000] yeah, I think there's a few level 1 specs [07:05:19.0000] Ms2ger: the current pain point is the mixture across css/CSS2 and various css/*-3 directories [07:05:29.0000] and there's no clear way to come up with the complete testsuite for the level 3 spec [07:05:39.0000] Yeah [07:05:53.0000] Ceterum censeo css2 delenda est [07:06:14.0000] :) [07:06:25.0000] Ms2ger: well, s/C/c/ [07:06:35.0000] (why am I correcting Latin now?) [07:07:06.0000] s/est/esse/, apparently [07:07:19.0000] /me merged two versions [07:09:14.0000] uh, yeah, that would also make more sense [08:25:10.0000] Reading the above was depressing. [08:25:50.0000] Which part? [08:25:50.0000] i think Which part is old in this case? [08:26:58.0000] Just the fact that there are still people pushing back against tests with every spec change. Especially if those people are editors. [08:27:43.0000] How surprising. [09:10:34.0000] In a theoretical world where I wasn't already 200% committed on specs, *plus* another big chunk of commitment on Bikeshed, I'd love to do tests-with-every-commit. [09:11:28.0000] We theoretically are doing this now with the specs Shane and I edit in Houdini, tho I did a large rewrite of Typed OM over several weeks and didn't slowly change tests along with it; I need to catch myself back up with the now-final state. [09:23:53.0000] TabAtkins: I think you'll find that you might write less, but what you end up writing ends up getting shipped and ends up being higher quality [09:24:25.0000] TabAtkins: and you should probably look into trying to scale the editing somehow if you're 200% committed since that's not ok [09:24:41.0000] I agree, but, uh, doesn't seem likely to be fixed any time soon. [09:24:52.0000] TabAtkins: for instance, delegate by getting implementers to write PRs for new features (and the tests) that you then review [09:25:17.0000] Implementors aren't particularly good at, or enjoy, writing spec features. [09:25:24.0000] TabAtkins: I think if you're willing to change your priorities it should be possible [09:26:10.0000] +1 [09:26:28.0000] TabAtkins: if they want to ship something you can at least tell them they have to write tests because you can't merge the spec PR otherwise [09:26:46.0000] TabAtkins: but I also think that if you ask you'll find that some people might want to try their hand at writing stuff [09:27:06.0000] I'm doing that for several Houdini features. [09:27:21.0000] Bringing impls up for simpler issues does indeed work. [10:04:45.0000] jugglinmike: ping [10:18:41.0000] jugglinmike: I just made a PR: https://github.com/w3c/web-platform-tests/pull/6745 [10:40:04.0000] there was some way to run wpt on any browser [10:40:08.0000] what would be the url? [10:40:23.0000] /me would like to run workers/data-url.html [10:52:42.0000] smaug: http://w3c-test.org/workers/data-url.html perhaps [10:53:06.0000] Or you can run it from m-c with ./mcah wpt --product chrome|edge workers/data-url.html [10:53:33.0000] ah, that too [12:36:08.0000] Is there any way to unsubscribe from a Mozilla bug that I reported? [12:36:14.0000] I really don't need to see all the code review comments and patches [12:42:23.0000] Domenic: yes [12:42:35.0000] Domenic: there is a "never email me about this bug again" somewhere on the page [12:43:49.0000] Domenic: at the bottom of the page immediately above the submit button [12:44:34.0000] Hmm all I see there is "Add me to CC list (follow this bug)" (which is unchecked) [12:45:08.0000] Oh I needed to hit "edit bug" first O_o [12:45:33.0000] Thanks! [12:45:50.0000] Domenic: sorry... bugzilla is a twisty mazy of corridors and you are likely to be eaten by a grue [12:46:25.0000] s/likely/certain/ [14:14:33.0000] Any historians may enjoy helping with https://github.com/whatwg/html/issues/2891 [14:14:38.0000] Especially media folks, it seems [14:27:27.0000] /me looks 2017-08-04 [22:48:35.0000] /me put in his linguistic two cents [00:45:20.0000] annevk: The CSSWG approved me advancing the Shadow Parts spec to ED. Part of this belongs in DOM, with the other shadow dom stuff. How do you want to handle this, especially as we'll probably be iterating on it? [00:45:49.0000] (This has good approval from Chrome, and other browsers don't have objections yet.) [00:47:21.0000] TabAtkins: the part attribute is a superglobal? [00:47:28.0000] yeah [00:47:35.0000] name subject to change [00:47:49.0000] TabAtkins: I guess the best would be to have a PR against DOM that we iterate on [00:47:55.0000] kk [00:47:58.0000] TabAtkins: PRs automatically generate snapshot specs and HTML diffs [00:48:05.0000] excellent [00:53:42.0000] TabAtkins: FWIW, pseudo-elements had a lot of interest from Apple and also various Mozillians at times [00:54:10.0000] yup [00:54:47.0000] Current feeling from Apple (per last comment from Ryosuke) is disapproval of ::theme(), but that won't affect the DOM part. [00:55:40.0000] I guess I should read through it though I suspect we might lag behind a little bit due to not having implemented shadow trees just yet [00:56:03.0000] yeah. dbaron +1'd in the meeting [01:20:24.0000] JakeA: you haven't run into https://twitter.com/philpennock/status/891734286864453632 yet [01:23:03.0000] I hadn't seen that [01:23:07.0000] annevk: haha brilliant [01:23:34.0000] Sure IRC cloud, deliver those messages in any order you want [04:41:01.0000] /me feels zcorpan-OOO-14Au is somewhat failing at the OOO thing [05:56:58.0000] mounir: didn't you look into deviceorientation at some point? [06:55:58.0000] rbyers: is jugglinmike still doing WPT stuff for you all? [07:27:11.0000] wanderview: jugglinmike is around on #testing and #webdriver on irc.w3.org [07:27:31.0000] wanderview: (yes) [07:27:58.0000] ok, thanks [08:05:07.0000] MikeSmith: somehow I didn't even know that #testing channel existed! [10:22:40.0000] wanderview: yeah we should note it more prominently in the docs [10:40:09.0000] wanderview: Most of our Bocoup WPT work at the moment is going to the tooling infrastructure bobholt is With Apple's ServiceWorker announcement I'm very glad we had jugglinmike do the SW testing working (likelihood of Apple implementation was my #1 factor in choosing that as our top priority for Mike). I expect to get back to investing more in WPT suite improvements like that in 2018. [10:43:06.0000] like what? [10:44:20.0000] Like serviceworker? [10:44:30.0000] /me just checking he understands [11:32:48.0000] rbyers: welcome back! [11:36:30.0000] jgraham: Sorry missed your response. I'm not sure exactly what yet, but I'm convinced that there's likely to be an ongoing stream of high-value test suite improvements to be done (in parallel with our primary strategy of scalability via sustainable culture shift) [11:40:09.0000] ... On my list of areas to look into (below SW and WebRTC where we've already invested heavily) are Fetch, SVG, Grid, webdriver, web payments, WebVR? foolip likely has others. Let us know if you have other areas you'd like to see on our list... We'll have to evaluate more carefully closer to 2018.... [11:40:13.0000] jugglinmike: Thanks! [16:00:24.0000] did Apple actually make an announcement of Service Worker? [16:01:13.0000] (I’m of the related WebKit implementation bugs that have been raised, but can’t recall seeing an announcement) [16:01:46.0000] *Apple actually make an announcement about plans for Service Worker support [16:05:45.0000] JakeA: if you think we need a new mailing list for Service WG administrivia, lemme know. But by default I am reluctant to create any new mailing lists. Everybody repeatedly tells me we have too much already and they are tired of it [16:05:59.0000] MikeSmith: they changed the status page to under development and landed the IDL into the repo [16:06:45.0000] gsnedders: OK yeah I knew about the IDL landing but did not know about the status-page change [16:07:25.0000] anyway the fact that they are actually implementing is the best news about about the web runtime that’s come along for quite a while [16:26:04.0000] annevk: https://stackoverflow.com/questions/45516070/urlsearchparams-does-not-return-the-same-string-as-found-in-a-urls-parameters [16:26:24.0000] > last I checked the API doesn't support parameter arrays like foo[]=1&foo[]=2 [16:35:01.0000] That's some kind of PHP convention [16:40:54.0000] Domenic: yeah people assume it should be supported natively everywhere I guess [16:41:26.0000] but anyway that comment was incidental the original question there [16:41:53.0000] regardless, nice to see somebody posting about URLSearchParams at SO [16:43:38.0000] I think few people know quite what the URL level actually defines about query strings [16:43:41.0000] esp. how little it does 2017-08-05 [22:01:16.0000] MikeSmith: agreed. Github is working well for us, we don't need a list [22:23:39.0000] JakeA: I figured you would say so :) thanks for confirming [15:21:05.0000] Domenic: thank you for answering my question. I'm very interested in helping make node as standard compliant as possible... [15:50:17.0000] :) 2017-08-06 [02:30:21.0000] /me finds https://wiki.php.net/rfc/replace_parse_url and emails author [16:49:20.0000] hmm... w3c-test.org is down [16:51:20.0000] yup [16:51:25.0000] will ping Ian 2017-08-07 [17:07:59.0000] grazie [17:12:37.0000] Hey all *.spec.whatwg.org seems to be down, is this a known issue? [17:12:59.0000] curl: (7) Failed to connect to html.spec.whatwg.org port 443: Connection refused [18:22:15.0000] TimothyGu: I'm going to say yes, assuming it's the same issue as w3c-test.org [18:22:34.0000] (though the symptoms are different) [18:22:48.0000] hmm w3c-test.org was down for me yesterday, while whatwg.org starts not working today [18:24:19.0000] well then... MikeSmith? [19:08:08.0000] if w3c-test.org is down it’s my fault, if whatwg.org is down it’s Hixie’s fault [19:08:23.0000] oh both are down [19:09:26.0000] I pinged Hixie about whatwg.org [19:09:33.0000] did not hear back from him yet [19:11:05.0000] ah about w3c-test.org we changed the commands for starting it [19:11:27.0000] *the commands for starting wptserve [19:11:36.0000] so I need to update my init script [23:32:55.0000] GPHemsley: I run w3c-test.org, Hixie runs whatwg.org [00:05:19.0000] Domenic: ah OK I see now [02:42:52.0000] whatwg.org is down? [02:45:03.0000] Ms2ger: yeah known [02:45:25.0000] I'd look at the logs, but they're down too [02:46:02.0000] I don't think it was reported here yet, but I might have missed something [03:33:02.0000] If a video stops because it reaches the end of the video, does it also get a 'pause' event? [03:57:09.0000] Wow, even Live DOM Viewer is down [03:57:19.0000] It's serious now [05:14:28.0000] Everything seems back up [05:15:07.0000] Wow that just happened then since I pushed something a minute or two ago and it failed [05:46:37.0000] hello, i have a problem with my implementation of microdata and google's image search service, is this the right place to ask things about it? [06:24:02.0000] Domenic: if the UA is consuming a ReadableStream with a js internal source... is the UA allowed to "steal" or transfer the Uint8Array buffer to avoid copying? I assume its not since in theory the js internal source could still be holding on to it? [06:24:50.0000] I guess maybe the UA could do some kind of copy-on-write sort of thing [06:24:55.0000] wanderview: I think Domenic was thinking of a special stream type or option to enable transferring [06:25:16.0000] there is byob streams... but I think this is different, maybe? [06:25:25.0000] Yeah they're different [06:25:50.0000] JakeA: we're not really in a position to do the no-copying optimization stealing the buffer would allow... but if it wasn't permitted by the spec then I would feel better about not implementing it :-) [06:25:54.0000] I think it's complicated if you have an object stream and you want to specify which parts are transferrable [06:26:45.0000] wanderview: It'd be great if it was supported if all parts of the stream were behind the scenes [06:27:09.0000] JakeA: we definitely support it for native sourced streams [06:27:11.0000] eg, piping three items of the cache to a single transform stream that doesn't have a chunk handler [06:27:21.0000] or will [06:27:49.0000] hmm [06:28:10.0000] I guess we would not support the appending without copying, though [06:28:54.0000] wanderview: I may be wrong https://streams.spec.whatwg.org/#dfnReturnLink-1 [06:28:57.0000] JakeA: I guess you mean if the Uint8Array chunk was marked as "originally came from native code" and we never dirtied that bit by going through a js handler... then we could steal it [06:29:10.0000] oh, that link wasn't charable [06:29:13.0000] shareable [06:29:21.0000] wanderview: https://streams.spec.whatwg.org/#transfer-array-buffer [06:29:43.0000] looks like transferring happens by default with bytestreams [06:29:47.0000] did not know [06:30:02.0000] oh, ok [06:30:06.0000] rnd123: probably not, I'd look at the URLs over at http://schema.org/docs/about.html [06:30:20.0000] JakeA: ok, I should feel bad we will be copying then [06:32:01.0000] wanderview: do we at least invoke detach on the input buffer? [06:32:18.0000] annevk: I assume so... I would have to check with till [06:32:36.0000] wanderview: this is only with {type: 'bytes'} [06:32:54.0000] annevk: the bit I am talking about is specific to the fetch body stream being consumed by respondWith() or Cache.put() [06:33:26.0000] JakeA: yea, but these native APIs will fail for non-byte streams anyway [06:33:38.0000] wanderview: would it not still be observable? I might be missing something though [06:34:06.0000] wanderview: is that per spec? I thought fetch would allow a non-byte stream as long as it returned bytes [06:34:13.0000] annevk: yea, it should detach... but that is handled in the js engine part of streams and not in the DOM integration code I'm looking at [06:34:47.0000] thanks annevk [06:34:59.0000] JakeA: its likely I am confused and you are correct [06:35:11.0000] that's not the way it usually goes [06:35:12.0000] I meant UA consumption requires Uint8Array [06:35:48.0000] wanderview: yeah, but the transfer only happens if it was created like new ReadableStream({ start, pull, type: 'bytes' }) [06:35:49.0000] at this time of day you are better caffeinated than I am... [06:35:53.0000] ok [06:36:12.0000] JakeA: so it would have to be a selective optimization... I wonder if the "type" option was added later... [06:36:13.0000] otherwise I assume it copies [06:37:00.0000] wanderview: Chrome currently throws if you set "type" to "bytes" [06:37:07.0000] Not implemented [06:37:40.0000] oh, I see... its a property on the source... not an option passed to the ReadableStream construcotr [06:37:55.0000] I was getting confused by "type" not being in this line: https://streams.spec.whatwg.org/#rs-constructor [06:38:25.0000] I agree it feels more like an option [06:38:35.0000] but then I guess it also describes the unerlyingSource [06:38:46.0000] I think it fits with the underlying source [06:38:58.0000] "native" sources in theory always have it set [06:39:08.0000] so its exposing that part of their optimizations to js sources [06:40:41.0000] JakeA: we don't throw on type bytes [06:41:37.0000] wanderview: I guess in that case the buffer must appear transferred [06:42:18.0000] JakeA: yea, we try to do it: http://searchfox.org/mozilla-central/source/js/src/builtin/Stream.cpp#801 [06:42:43.0000] maybe there is a test... [06:46:29.0000] JakeA: maybe this tests it? http://searchfox.org/mozilla-central/source/testing/web-platform/tests/streams/readable-byte-streams/general.js#816 [06:47:30.0000] its confusing because it also uses a byob stream [06:48:21.0000] we seem to pass that test, though [06:53:10.0000] JakeA: filed a bug to track this optimization in the future: https://bugzilla.mozilla.org/show_bug.cgi?id=1388050 [06:53:37.0000] cheers! [09:17:06.0000] Domenic: thoughts on how to capture https://github.com/w3c/requestidlecallback/issues/61 in the API guidelines? [09:18:34.0000] Domenic: make your prose closely resemble an implementation in an imperative programming language and stay away from stack inspection and such? [09:44:33.0000] I've been searching for 5 minutes to try to find the license / copyright notice for HTML (so I can link to it as a GOOD example of a spec that allows forking). Am I just blind? I'm surprised it's so hard to find. [09:45:11.0000] There's one line at the very bottom of the spec (at the end of acknowledgements), is that it? [09:45:50.0000] For some reason I thought html was CC0? [09:45:59.0000] annevk/foolip: ^ [09:46:37.0000] rbyers: HTML isn't for historical reasons iiuc [09:46:41.0000] rbyers: HTML is complicated [09:46:42.0000] rbyers: DOM is though [09:46:56.0000] Ah, figures. I'll use DOM as a better example. Thanks :-) [09:46:58.0000] rbyers: everything else under WHATWG would be a good example [10:42:55.0000] annevk: Sorry about the failure on DOM - I spotted the issue on Friday and fixed it, but it looks like I didn't push my code. :( Fixing it again now on my desktop, but I have a quick question. [10:43:54.0000] Any opinion on using unicode characters for doing the deduping? I'm trying to make it much less likely that things will collide with intended URLs; in particular, that some of the multiple refs for a "foo" term collide with the refs for a "foo-0" term. [10:44:16.0000] I'm thinking about appending circled-digits for the dedup process. [11:57:57.0000] hmm, should windows opened by clients.openWindow be considered script-created (and thus be able to close themselves) or not? [11:58:31.0000] From a quick test it seems neither chrome nor firefox considers them script created currently (although chrome allows self.close() if no navigation occured after opening, while firefox doesn't seem to allow self.close() even in that case) [14:12:46.0000] JakeA: would you expect to get DOMContentLoaded much sooner with your blog when streams+sw are enabled? [14:14:00.0000] wanderview: maybe due to the script and styles being cached. But in terms of html delivery it shouldn't be that much faster [14:14:55.0000] JakeA: with streams enabled I see DOMContentLoaded dropping from ~150ms to ~35ms... [14:17:10.0000] wanderview: that's really cool… but I can't explain how streams cause that. If the CSS and JS is removed from the cache, is it still as fast? [14:18:12.0000] JakeA: yea, I more suspect something is broken... but let me check... (I'm really annoyed our network monitor pretends things coming from cache/SW are zero time) [14:19:46.0000] JakeA: hmm... deleting the css and js files made DOMContentLoaded go up to 320ms... so maybe this is legit [14:20:07.0000] JakeA: chrome on my machine gives DOMContentLoaded ~30ms as well... but I don't know how to test without streams there [14:21:02.0000] JakeA: looks like most of the added time was the "include" call [14:23:31.0000] anyway, I guess the good news is it works [14:32:14.0000] \o/ is this in nightly? [14:33:42.0000] JakeA: not in nightly yet... a preliminary build [14:34:19.0000] JakeA/wanderview: either of you have opinions on wether clients.openWindow opened windows should be considered "created by script", and thus be able to self.close() themselves? [14:34:36.0000] JakeA: also there is probably a bug somewhere... the image on your blog and the bg image on surma's site did not load a couple times [14:34:42.0000] but it was pretty intermittent [14:35:36.0000] Mek: I wasn't aware of that restriction or feature... so don't really have an opinion... at first glance it seems "created by script", though [14:35:46.0000] I have to run to dinner... [14:35:50.0000] /me waves [14:36:13.0000] wanderview: okay, thanks [14:38:27.0000] actually, the browsing context wouldn't be an auxiliary browsing context so the html "script-closable" defintion wouldn't care if it was created by script or not... [16:06:17.0000] annevk: just a heads up will be about a week before I can revisit https://github.com/whatwg/html/issues/2886 2017-08-08 [23:34:07.0000] domfarolino: that's cool, enjoy whatever else meanwhile [23:34:42.0000] TabAtkins: Unicode and fragments is a bit of a hassle still [23:35:01.0000] TabAtkins: probably best avoided, though it'll probably work [00:32:14.0000] TabAtkins: so FYI Watti seems to have a global table of IDs that it uses for deduping; then it can just use numeric suffixes. That seems less error-prone than your strategy? [00:32:49.0000] wanderview: JakeA: it sounds like you did figure out the idea. Which is that byte streams allow more transferring optimizations. (Even with non-BYOB readers.) [00:33:44.0000] annevk: that guidance seems good, although an example (perhaps the RIC one genericized) would help drive it home. People do seem to really like stack inspection sometimes, instead of explicit parameter passing. [00:34:19.0000] Domenic: together we got there! [00:35:17.0000] I should spend more time on streams stuff..... [06:26:58.0000] Domenic: no, no... let us catch up first [06:52:14.0000] What are examples of interfaces that declare a named property getter but not an indexed property getter? [06:54:03.0000] tobie: Storage [06:54:21.0000] tobie: DOMStringMap [06:54:39.0000] annevk: ta [07:29:09.0000] wanderview: I wasn't aware Firefox had double keying [07:29:15.0000] Similar to the Safari thing? [07:29:41.0000] JakeA: its behind a pref and called something else I think... I believe we imported it from tor project [07:29:56.0000] exciting though! [07:30:11.0000] JakeA: but our containers work in a similar way... add some private data to the origin and its extra unique, etc [07:31:49.0000] JakeA: looks like privacy.firstparty.isolate [07:32:08.0000] JakeA: we may not have things like "visiting a site as first party exempts it from double-keying" like safari, though [07:33:09.0000] I haven't tried it [07:37:39.0000] We are looking into something similar to that ("origin attributes" is what it's called I believe) especially to underlie things like suborigins [07:38:37.0000] Domenic: that's what Firefox has and some folks at Chrome want to copy [07:38:39.0000] Domenic: we also call it OriginAttributes :-) [07:38:54.0000] Yeah it's based on a paper some FF folks wrote I believe [07:39:03.0000] ah, cool [07:39:08.0000] is a "paper" like a blog? [07:39:28.0000] annevk: in https://github.com/heycam/webidl/pull/402#discussion_r131709808 you mention enum order is defined by underlying infra list. Are all APIs with named props specified with an underlying infra list? [07:40:36.0000] tobie: pretty sure that's a no [07:41:03.0000] tobie: I do think order is defined though typically [07:41:09.0000] tobie: and when it's not that's a bug [07:41:22.0000] tobie: and not using Infra list a minor bug that'd be nice to fix [07:42:26.0000] annevk: shouldn't WebIDL call that out somehow, though? Or maybe infra's for each should? [07:43:14.0000] tobie: it's called out by requiring it to be a list, which are ordered by definition [07:47:43.0000] annevk: Oh! It had somehow never really clicked that while "while" was defined in 3.3 Iteration "for each" was just a reference to list/for each. [07:49:13.0000] annevk: I guess that makes sense and will even more obvious as infra becomes ubiquitous. [07:54:56.0000] Anyone else have opinions on https://lists.w3.org/Archives/Public/public-whatwg-archive/2017Aug/0001.html ? [10:15:01.0000] @annevk What's troublesome about unicode in fragments? They seem to work just fine. (I had to implement my own fragment-escaper, as Python2's urllib escaper doesn't understand unicode, but I did so by consulting HTML, so it should be correct.) [10:15:40.0000] Hello all, has there been any work (or interest) in standardizing `'assert'`? It's been bugging me, and I see it is used in the platform tests [10:16:15.0000] @Domenic Yeah, I have the same, it isn't a matter of a *practical* trouble in deduping, just that it can make the refs a little ambiguous to read when you have terms with a numeric suffix. Purely aesthetic. [10:21:15.0000] TabAtkins: URL parser may or may not escape it if you put it in raw [10:21:40.0000] refack: in JavaScript you mean? [10:21:47.0000] I'm exactly following what HTML says is the valid charset for fragments, and %-escaping the rest. [10:22:01.0000] If URL and HTML differ, obviously one of them should be fixed. ^_^ [10:22:05.0000] I've no idea what HTML says :-) [10:22:32.0000] annevk: yes, specifically node's (or CommonJS) [10:22:33.0000] refack: I don't think that's the same assert. ;) [10:23:00.0000] annevk: Ah, I didn't even realize the HTML links sent me over to URL anyway ^_^ https://url.spec.whatwg.org/#url-fragment-string [10:23:01.0000] Not the "Assert" in the docs, the `require('assert') in the tests [10:23:03.0000] refack: anyway, I know of no such efforts [10:23:08.0000] (I *was* wondering when HTML got syntax highlighting...) [10:23:16.0000] heh [10:24:01.0000] this throws in FF: (function() { "use strict"; document.createElement("div").attributes["3"] = 123 })(); [10:24:18.0000] TabAtkins: anyway, if it works it's fine, since we can't break that, I just know there's a couple of minor issues and browser differences left, but they might not get exposed when simply navigating [10:24:28.0000] But not this: document.createElement("div").attributes["3"] = 123; [10:24:28.0000] kk [10:25:38.0000] Is this a known issue? [10:26:39.0000] tobie: haven't seen that discussed before [10:26:45.0000] tobie: typically IDL doesn't care about strict mode [10:26:53.0000] If I volunteer, is there interest? I know only `node` has an implementation, but it is used by the test e.g. https://github.com/whatwg/console/blob/master/test/tests/timing.js#L3 [10:27:16.0000] It is sort of arbitrary, and definatly not rigorous [10:27:31.0000] annevk: what do you mean by "typically IDL doesn't care about strict mode" [10:27:53.0000] tobie: no different code path gets taken [10:28:29.0000] refack: since it's a JavaScript extension I suspect #tc39 or es-discuss is a better place to ask [10:28:37.0000] annevk: right, so these two things code snippets should not behave differently. [10:29:07.0000] s/things // [10:29:16.0000] refack: if there's some interest and someone is willing to present your proposal to the committee thingie they got going on you can write a proposal along the lines of the others: https://github.com/tc39/proposals [10:29:33.0000] hmmm [10:29:55.0000] tobie: yeah, but maybe this is a weird case where the two worlds intersect? bit out of my depth [10:30:34.0000] tobie: hmm, there is some stuff that behaves differently based on strict mode: https://heycam.github.io/webidl/#LenientSetter [10:30:39.0000] tobie: this might just be one of those [10:30:40.0000] thanks, my intuition was that WHATWG would be easier, but I get what you are saying [10:31:13.0000] refack: if you want it as an extension of the Console API you could do it through WHATWG [10:31:26.0000] refack: not really sure we have a home for a generic assert library [10:32:15.0000] refack: (and I'm also not entirely sure we need one, but that's a different discussion) [10:32:30.0000] annevk: right, it didn't seem like NamedNodeMap was one of those, though. [10:32:54.0000] That was my lead, but I see how tc39 should be my first attempt. I agree it not an eco-system interop issue (yet) [10:35:59.0000] tobie: I suspect it is looking at the algorithms [10:37:41.0000] tobie: if there's no setter for a property you end up throwing in strict mode [10:38:01.0000] tobie: that's what I think is happening [10:38:17.0000] tobie: and there's no setter since NamedNodeMap only defines a getter [10:42:32.0000] annevk: where is that defined, though? I thought this was only for readonly attributes not all properties? [10:46:05.0000] tobie: it's no different from a readonly attribute afaict [10:46:28.0000] tobie: a readonly attribute is a property with a getter and an undefined setter [10:46:32.0000] tobie: this is no different [10:46:39.0000] tobie: back tomorrow [10:46:50.0000] annevk: night [11:09:53.0000] annevk: OK, I got it now. You're right. And this has been fixed in chrome canary too. [11:49:11.0000] tobie: annevk: in general returning "false "from various meta-object protocol operations will throw in strict and no-op in sloppy. So this is pretty widespread even if it's not obviously so. [11:49:49.0000] refack: those console tests are kind of old and maybe should be removed; the canonical ones are at https://github.com/w3c/web-platform-tests/tree/master/console [11:50:25.0000] Note how they are nicely written in .any.js format so you can run them easily in Node :) [11:52:12.0000] Domenic: where's the harness? I'd like to take inspiration from it. [11:52:48.0000] refack: well Node has an implementation at https://github.com/nodejs/node/blob/master/test/common/wpt.js [11:54:18.0000] boo 😜 that uses require('assert')... I want to make 'assert' better [11:55:42.0000] Oh well I kind of doubt Node will want to change its assert module much [11:55:59.0000] But there's https://github.com/w3c/web-platform-tests/blob/master/resources/testharness.js [11:56:10.0000] I'm not sure it's super-great code tbh [11:56:11.0000] Domenic: right. [11:56:20.0000] Domenic: looking at https://github.com/TimothyGu/webidl-keys-test/blob/master/test-named-node-map.js#L23 [11:57:22.0000] Domenic: shouldn't that be a no-op by virtue of NamedNodeMap not having a named prop setter? [11:58:50.0000] tobie: doesn't it fall through to https://heycam.github.io/webidl/#legacy-platform-object-set step 3? [11:59:13.0000] then it goes to https://heycam.github.io/webidl/#legacy-platform-object-defineownproperty step 2... [12:00:05.0000] It falls through to step 2, first [12:00:09.0000] no> [12:00:13.0000] no? [12:00:37.0000] step 2 is just LegacyPlatformObjectGetOwnProperty right? [12:00:56.0000] I think it is a no-op because we end up in https://heycam.github.io/webidl/#legacy-platform-object-defineownproperty step 2.2 [12:01:14.0000] wait no [12:01:30.0000] Right, so it comes back with a desc object that has writable as false, no? [12:01:31.0000] it is not a no-op because we reach 2.2, but the condition is not met, so we go on to stop 3 + 4 [12:02:03.0000] correct, writable = false [12:02:06.0000] ok [12:02:08.0000] so it will *throw* [12:02:12.0000] in strict [12:02:21.0000] yep [12:02:23.0000] and no-op elsewhere [12:02:23.0000] which is what this test is [12:02:25.0000] yep [12:02:46.0000] So going back to the test [12:03:35.0000] ownProp should not show up in Reflect.ownKeys [12:03:43.0000] I agree [12:03:54.0000] Although the fact I stumbled through several different outcomes implies my judgment might be suspect [12:04:03.0000] heh [12:04:50.0000] well, fwiw, both FF and Chrome Canary throw in that case for indexed prop in strict mode. [12:05:03.0000] That's good at least :) [12:05:05.0000] haven't tested beyond, yet. [12:05:13.0000] This is good stuff in general [12:05:20.0000] TimothyGu remains amazing [12:05:30.0000] And thanks for backing him up with more testing work [12:05:39.0000] slash fact-checking [12:06:29.0000] yes, it's really great to see people coming in with super solid PRs like this. [12:06:50.0000] I think the Bikeshed conversion can take some credit [12:07:06.0000] Domenic: thanks [12:07:09.0000] I was about to say so [12:07:19.0000] Yeah, the old webidl was *so damn hard* to edit. [12:07:31.0000] Moving to any modern processor would have improved that. [12:39:03.0000] Domenic: so I think I made an error earlier [12:39:15.0000] Domenic: in https://heycam.github.io/webidl/#legacy-platform-object-set [12:40:14.0000] Step 2 has last argument of LegacyPlatformObjectGetOwnProperty see to true [12:41:14.0000] Domenic: which means that we fall through to 3 in LegacyPlatformObjectGetOwnProperty [12:41:37.0000] Domenic: (As ignoreNamedProps is true) [12:43:13.0000] /me grumbles something about using ignoreNamedProps as a name for a boolean [12:57:10.0000] Domenic: documented those here: https://github.com/w3c/web-platform-tests/commit/0d8209f [13:02:03.0000] Domenic: and here: https://github.com/w3c/web-platform-tests/pull/6786 [14:12:20.0000] hi all, i'd be curious about anyone's feedback on this proposal to allow rel=bookmark to be used with https://github.com/whatwg/html/issues/2899 [16:10:35.0000] https://stackoverflow.com/questions/45578828/dataset-vs-setattribute-performance 2017-08-09 [19:51:22.0000] yhirano__: this might interest you: https://bugs.chromium.org/p/chromium/issues/detail?id=753646 [20:04:42.0000] wanderview: thanks [00:18:07.0000] KevinMarks_: rel=service.post apparently used by Google Blogger? (for a long time now) [00:18:11.0000] https://developers.google.com/blogger/docs/2.0/developers_guide_protocol [00:18:24.0000] but not mentioned anywhere on http://microformats.org/wiki/existing-rel-values [00:18:52.0000] immedidate context is https://github.com/validator/validator/issues/544 [00:31:47.0000] MikeSmith, https://github.com/validator/validator/issues/545 [00:32:05.0000] a-ja: thanks [00:32:23.0000] finally got an ID [00:35:19.0000] well then, welcome to github :) [00:46:55.0000] tobie: thanks for cleaning up my makeshift tests :) [01:03:46.0000] TimothyGu: I'm essentially using this as an opportunity to figure out what's happening in his area of the spec. So thanks for that! [01:04:20.0000] TimothyGu: FYI I'm ooo until Monday so don't expect a lot of movement until then. [01:15:26.0000] tobie: that's alright! I'll revisit the discussion you had with Domenic first [01:27:45.0000] TimothyGu: Yeah. I was wrong btw. See the tests I added for [[Set]]. [02:26:10.0000] it's about