2017-04-01 [17:53:12.0000] Domenic: about rel=canonical, I added use counters to the HTML checker for a bunch more rel values [17:53:15.0000] https://validator.w3.org/nu/stats.html [17:54:15.0000] rel=canonical is tied for 3rd place as most commonly used [17:54:45.0000] rel=stylesheet found 118918 0.831269 [17:55:05.0000] rel=icon found 82216 0.574712 [17:55:26.0000] rel=canonical found 46503 0.325069 [17:56:07.0000] rel=alternate found 46417 0.324467 [17:57:35.0000] next closest is rel=nofollow [17:57:48.0000] rel=nofollow found 34354 0.240144 [17:58:27.0000] after that, usage for the rest drops down to under 10% each [18:53:07.0000] I’ll let it run til some time next week when it reaches a million requests or so, then update the issue with that data then [19:06:38.0000] anyone around who would know how React is implemented? [19:08:24.0000] in particular what kinds of connections if has from its JS structures to native DOM [19:25:20.0000] MikeSmith: awesome stuff, great to make data-driven spec changes [19:25:36.0000] yeah [19:26:08.0000] Domenic: I can put together a PR for adding it [19:26:29.0000] unless you beat me to it [19:26:47.0000] though I have a small backlog I need to work through first [19:27:19.0000] (need to finish responding to the link-section reorg PR you reviewed) [19:27:50.0000] smaug: stackoverflow? [19:28:19.0000] hmm, would that really know about React's implementation details? [19:28:37.0000] /me was hoping some FB folks to be here [19:32:05.0000] smaug: can’t recall seeing any FB folks around here [19:32:22.0000] they probably have some Slack channel instead [19:32:33.0000] --slack [19:33:10.0000] /me has never ever used Slack [19:33:17.0000] smaug: https://facebook.github.io/react/community/support.html [19:33:22.0000] > Many developers also hang out in #reactjs on Freenode. [19:33:30.0000] oh [19:33:38.0000] thanks [19:33:48.0000] also: [19:33:49.0000] If you need an answer right away, check out the Reactiflux Discord community [19:34:00.0000] https://discordapp.com/invite/0ZcbPKXt5bZjGY5n [19:36:04.0000] don't need it right away [19:36:16.0000] I'm just thinking some browser implementation optimizations [19:36:22.0000] related to memory management [19:36:50.0000] and since React is probably the JS framework popular this year, would like to understand how it works [03:04:14.0000] /me wipes tear from eye @ https://github.com/w3c/web-platform-tests/pull/5311/files#diff-db925f820865491b0c961d39e127611cR25 2017-04-02 [21:55:35.0000] When "fetch"ing cross-origin, a server's set-cookie header will only take effect (cookies getting set) with {credentials: "include"} right? "omit" will neither send cookies NOR set cookies from the server right? [21:58:27.0000] domfarolino: yup [21:59:00.0000] domfarolino: for omit also the case same-origin [21:59:27.0000] annevk: right ☑️ [01:02:03.0000] botie, tell smaug to ping tobie for intros to react team members. [01:02:03.0000] will do 2017-04-03 [17:37:49.0000] Domenic: are you joining us today? [17:39:00.0000] JakeA: yep, on my way [17:39:33.0000] Was assuming the first hour or so of issue triage wouldn't need me [17:39:58.0000] Domenic: we'll save some environment settings object stuff for you [17:40:18.0000] Oh goodie :) [08:23:20.0000] smaug, at 2017-04-02 08:02 UTC, tobie said: ping tobie for intros to react team members. 2017-04-04 [00:42:03.0000] When XPIDL says an argument is [array, size_is(aLength)] in uint8_t aBytes, is an ArrayBuffer accepted from a JS caller? [00:42:20.0000] oops. wrong channel. sorry. [08:24:20.0000] annevk: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/5000 has different results in webkit, chromium, and gecko. :-( do you know if it's tested and reported? [08:31:09.0000] zcorpan: not sure about ?? [08:32:43.0000] zcorpan: url/setters_tests.json (or some such) should make that clear (the corresponding HTML resource tests , , and URL [08:36:58.0000] annevk: there's "new_value": "??lang=fr", [08:37:08.0000] and "new_value": "?", [08:37:55.0000] which i think covers the buggyness in webkit and chromium [08:48:54.0000] https://bugs.chromium.org/p/chromium/issues/detail?id=682150#c7 [08:58:46.0000] https://bugs.webkit.org/show_bug.cgi?id=170452 [09:45:16.0000] TabAtkins: Is there any CSS spec that defines what it means for a UA to “apply styles”? [09:45:24.0000] the context is https://html.spec.whatwg.org/#attr-style-media [09:45:32.0000] > The media attribute says which media the styles apply to. The value must be a valid media query list. The user agent must apply the styles when the media attribute's value matches the environment and the other relevant conditions apply, and must not apply them otherwise. [09:46:26.0000] in “The user agent must apply the styles” the “apply the styles” part does not link to any definition anywhere [09:47:00.0000] also at https://html.spec.whatwg.org/#interactions-of-styling-and-scripting [09:47:18.0000] > When a style sheet is ready to be applied, its style sheet ready flag must be set. [09:47:44.0000] “to be applied” does not link to any definition anywhere [09:48:19.0000] and within https://html.spec.whatwg.org/#the-link-element [09:48:36.0000] > The exact behavior for links to external resources depends on the exact relationship, as defined for the relevant link type. Some of the attributes control whether or not the external resource is to be applied (as defined below). [09:49:06.0000] “the external resource is to be applied” does not link to any definition anywhere [09:49:33.0000] MikeSmith: Nah, "apply styles" is just English for, uh, applying styles. [09:49:58.0000] "ready to be applied" should probably get a dfn somewhere, I agree. [09:50:50.0000] OK [09:51:29.0000] well as far as that “external resource is to be applied”, I wonder if we actually have any types of external resources other than CSS stylesheets that do get “applied” [09:52:24.0000] seems like, e.g., rel=icon doesn’t cause anything to be “applied” [09:52:40.0000] It "applies" the icon to the tab? [09:53:54.0000] I guess so but that seems like stretching the normal meaning of the word [09:54:17.0000] eh [09:54:24.0000] I think that language has been there in the spec that way since the very beginning [11:19:29.0000] zcorpan++ [13:52:13.0000] I have an interface that has state we don't want expose for now (it'll reside in a slot). What should I use for this? [13:55:35.0000] tobie: What do you mean? [13:57:13.0000] TabAtkins: well originally, it was an enum. Now that it's no longer exposed, what should it be turned into? [13:57:27.0000] TabAtkins: just infra strings? [13:57:55.0000] Yeah. [13:58:00.0000] Or, you don't need actual strings. [13:58:08.0000] Just *handwave* values. [14:07:35.0000] TabAtkins: do you just turn them into regular dfns in Bikeshed? [14:08:39.0000] No, slots should be dfn'd as IDL attributes, ideally with `[[...]]` names. [14:08:47.0000] Then you can ref them like `{{[[foo]]}}` [14:08:54.0000] Which is an unfortunate level of stacking, but hey. [14:10:02.0000] what about the values? [14:10:58.0000] No linking, just ""? [14:12:09.0000] Depends on if you think they're useful to link or not. If so, yeah, probably make them "dfn" type, with a `for` to help scope them. [14:12:31.0000] makes sense. thanks. [14:17:42.0000] So \[[state]]? [14:22:33.0000] \[[state]] [14:23:56.0000] ty [14:27:25.0000] does anyone here know what webkit uses as their javascript engine? [14:30:59.0000] JavaScriptCore [14:42:57.0000] Considering three states "idle", "activating" and "activated", which one would you favor? [14:42:57.0000] a) If |sensor_state| is either "activating" or "activated", then return. [14:42:57.0000] b) If |sensor_state| is not "idle", then return. [14:42:57.0000] c) Unless |sensor_state| is "idle", return. [14:43:17.0000] my pick is a) [14:43:20.0000] a [14:43:51.0000] speaking as an implementor, this is the least confusing statement [14:44:35.0000] KiChjang: you mean the clearest? [14:44:40.0000] ;) [14:45:19.0000] Alright a) it is. Thanks! [14:47:24.0000] yes, my other pet peeve when reading a spec like this is that usually the definition of the possible states are elsewhere [14:48:09.0000] and being a live document, it doesn't necessarily have to stay constant through time - we may add more states as necessary in the future [15:11:18.0000] Yup, that's exactly my reasoning too - the states can change, and (a) is least subject to accidentally changing meaning due to the editor forgetting to update the reference. [16:37:08.0000] tobie: `1. If |sensor_state| is either "activating" or "activated", then return. 2. Assert: |sensor_state| is "idle". 3. …` [16:38:26.0000] Or "Otherwise, |sensor_state| is "idle": ..." [16:41:02.0000] Bikeshed gives "Assert:" nice styling. ;) [16:41:08.0000] But I don't care much. :) [16:44:14.0000] Oh yeah, I forgot about that. 2017-04-05 [17:09:39.0000] TabAtkins: https://stackoverflow.com/questions/43215834/what-is-mean-of-participate-in-definition-of-normal-flow-in-w3-spec [20:57:54.0000] The above very much depends on the new state, might well be that b is more future proof, but in reality you likely have to vet everything [07:23:39.0000] annevk: related to the houdini thread you @-mentioned me in (https://github.com/w3c/css-houdini-drafts/issues/239), would like your thoughts on https://github.com/heycam/webidl/pull/332 [07:24:48.0000] tobie: I think I'd prefer just moving it as much as possible to its own section, apart from syntax bits and such of course which should be inlined [07:25:14.0000] tobie: I don't really think we need to then hide that section [07:26:19.0000] annevk: OK, I'll see if that's doable. iirc the problem is you have legacy stuff both in the language and bindings part [07:26:55.0000] annevk: which makes the whole thing hard to move [07:27:05.0000] annevk: will give it a go a report back [07:27:35.0000] tobie: I see, I guess the other thing I'd note is that this doesn't seem like a huge priority [07:28:33.0000] tobie: part of the problem with index/named getters is that they're not marked "legacy" so folks still pick them up; I think if we more clearly marked them in syntax they wouldn't be picked up as much [07:28:40.0000] tobie: at least folks don't pick up the other legacy bits [07:29:25.0000] Well, it's a frequent point of contention, so heads up in the spec function as social lubricant. [07:30:52.0000] I think indexed getter is the main one that is still somewhat contentious and that's because TabAtkins never participated in the long debate we've had on it and nobody else seems to really remember it much or maybe nobody wants to talk about it again [07:31:04.0000] But indexed getter is also not marked legacy [07:31:05.0000] okay, annevk. [07:31:10.0000] botie: no [07:31:11.0000] annevk: i'm not following you... [07:33:00.0000] annevk: fwiw, greying out stuff in the spec is faster than renaming everything downstream. As a stopgap measure. [07:33:06.0000] Man, I remember those debates, don't even play. [07:33:39.0000] But yeah, it's not marked legacy, and new features are defined to depend on it, so what is a person supposed to think? [07:34:00.0000] Other than CSSOM no new features that I'm aware of [07:34:26.0000] I mean in WebIDL - value iterators [07:35:09.0000] I think we mainly added value iterators for legacy interfaces, but we should have more clearly indicated that [07:35:27.0000] They were the new ArrayClass for NodeList and such [07:36:03.0000] No, kv iterators have non-legacy usecases, v iterators have exactly the same. [07:54:40.0000] Seriously, we're in a bind here. We want array-likes, so we try to reach for the best thing available - indexed getters/setters - and get smacked down for them being bad (but not marked as bad, so how was anyone to know?). [07:55:14.0000] Then we reach for the second-best thing - value iterator, so people can at least turn the object into an array easily - and whoops that requires us to implement indexed getters again. [07:56:31.0000] Then I'm like "welp, what if I hack around this by using a kv iterator instead, that doesn't depend on broken legacy-but-not-marked-as-such features" and get yelled at for hacking around a problem. [07:57:48.0000] I really can't win here. :( [07:58:18.0000] TabAtkins: I hear you, I wish Domenic could make some time and I really wish arv was still around since he felt pretty strongly about all this [07:59:23.0000] Easiest path to something useful is to fix value iterators to just be value iterators, not a sneaky backdoor into full Proxies for no reason. [07:59:43.0000] There's literally no reason for value iterators to be built on top of indexed getters right now, it's all downside and makes the feature more complicated. [08:01:07.0000] As far as I can tell, the current reason is just "there were some subtle details we couldn't agree on, so instead of answering them, let's just rebase this on top of an existing feature that we presumably are already okay with the details of". [08:01:26.0000] TabAtkins: I see [08:01:32.0000] But I answered those subtle details, at least the ones the bz brought up, in the thread - feel free to crib my answers. [08:01:58.0000] TabAtkins: if value iterators are all we need and Domenic is okay with the overall API shape we should just do that [08:02:12.0000] TabAtkins: do we have a bug about separating them from getters? [08:02:23.0000] Yeah. It's not *ideal*, but it lets people do `let arr = [...cssomThing];` [08:02:35.0000] One of the bugs had me and bz discussing that, let me go track it down. [08:03:49.0000] Yeah, end of https://github.com/heycam/webidl/issues/291 [08:04:00.0000] The "Remove [LegacyArrayClass]" bug [08:09:00.0000] TabAtkins: https://github.com/heycam/webidl/issues/338 [08:36:57.0000] Hi, I'm reviewing a test that seems sensible, but there are 2 non essential parts of it I am not sure which spec justifies. (1) Is there any spec that says that if you make a focused element display:none, it must keep the focus? (2) Is there any spec that says that if you call the .focus() method on a display:none element, it must not get focused? [08:37:44.0000] frivoal: HTML would define the latter, the former would be implied [08:38:06.0000] (if nothing says you can lose focus, it won't be lost) [08:39:39.0000] annevk: thanks for confirming the former part. For the HTML, do you know it does say that, or do you merely suspect it does? I've tried reading that section, but I got lost trying to follow definitions I did not previously know. [08:40:05.0000] I can get to the bottom of it if needed, but if someone already knows the answer that's easier :) [08:43:59.0000] frivoal: I'll have a look [08:44:05.0000] thanks [08:45:34.0000] frivoal: per step 1 of https://html.spec.whatwg.org/multipage/interaction.html#focusing-steps the element needs to be rendered (unless it meets some special condition which I guess it doesn't meet in this test) [08:47:17.0000] isn't that sentence only about dialog elements. am I failing to parse the nesting in that sentence? [08:48:30.0000] frivoal: I guess you're right, but even then you end up at otherwise since there's no scrollable area [08:49:42.0000] frivoal: although I guess you can argue it's a focusable area, so yeah, maybe 2 is not defined [08:50:07.0000] frivoal: it does seem like 2 not being defined would be a bug in HTML (if we indeed don't want focusing for those cases) [08:50:21.0000] it seems reasonable and interoperable, but I just had a hard time finding hard backing for it in the spec [08:50:56.0000] oh, no, actually I think we get there [08:51:46.0000] must be "a focusable area" and definition of "focusable area" includes being rendered [08:51:49.0000] so we're good [08:54:54.0000] thanks [08:57:25.0000] Oh, the dfn of the element and its actual definition are a bit apart [08:57:32.0000] Hmm, don't like that so much [09:19:34.0000] annevk: how about features separators? [09:20:43.0000] or maybe just feature separators [09:35:29.0000] zcorpan: I guess that or adding window in front of the others [09:35:42.0000] zcorpan: I don't care strongly, seems like something Domenic might care about [11:00:46.0000] TabAtkins: you might want to encourage the CSS WG to do some triage now and then, none of https://github.com/w3c/css-houdini-drafts/pulls has some reason listed why they're not applied [11:01:10.0000] TabAtkins: and they're all pretty old [11:05:22.0000] that would be the Houdini TF [12:10:52.0000] Interested in TC39 & ECMAScript goings-on? /join #tc39 [12:15:06.0000] f'ing network spammers [12:15:07.0000] :p [12:15:54.0000] They're the worst!! [13:53:09.0000] rbyers: do you happen to know if it is a known issue that Chrome 59 on up-to-date Fedora 25 has somehow broken high dpi handling [13:53:16.0000] the UI is super tiny [13:53:41.0000] it was working fine earlier today, but then I updated Fedora and Chrome [14:15:46.0000] smaug: No that's news to me. I'll look for a bug. I know high-dpi on Linux hasn't been super-well supported (where Linux is different from ChromeOS anyway). [14:16:59.0000] smaug: Don't see one from a quick search. Please file a bug with details (eg. may be WM-specific or something, like so many Linux-specific UI/events issues) [14:18:41.0000] ok. will file [14:18:49.0000] thanks [15:44:18.0000] annevk: Isn't the Fetch spec wrong to not skip all body-related steps when request's mode is "websocket"? 2017-04-06 [19:21:06.0000] there are some specs I really wish that gave a simple one or two line description of what a function does, instead of just giving a formal definition [19:21:26.0000] because it's far harder to work out what something does from a hundred lines of prose than two sentences. [20:10:12.0000] nox: does it matter? If so, maybe [20:14:32.0000] gsnedders: yeah I've found MDN/Web Fundamentals documentation to somewhat provide that, that is a less "precise" layman definition of formal spec language sorta [20:28:16.0000] gsnedders: file a bug? Usually means an introduction is missing [21:27:07.0000] yup good point [21:27:27.0000] well if nobody actually uses it and/or there’s no spec that defines what it means, then it seems like for and we shouldn’t allow rel=canonical maybe? [21:28:55.0000] MikeSmith: what do the counters say? [21:29:23.0000] MikeSmith, I'm ok with that - KevinMarks is editing currently and I think only bridged via Slack [21:29:49.0000] so that means he's likely [KevinMarks] in #microformats (even if you can't "see" him there) [21:29:55.0000] he's in BST TZ [21:30:48.0000] from the spec: "Search engines prefer rel=canonical on a element, and will ignore it on an element. " [21:31:04.0000] oh [21:31:06.0000] so that seems like a pretty strong statement against allowing it on (and ) for that matter [21:31:12.0000] yes [21:31:19.0000] even if it is not clear spec-language (separate issue) [21:31:28.0000] yeah [21:32:22.0000] annevk: the use counter I added to the checker doesn’t itemize and usage separately [21:32:48.0000] I need to look back at data from Simon to see if that does [01:00:56.0000] So many people are playing Zelda and I don't even know when I'm going to get a console [01:01:24.0000] Maybe I should start going into actual stores rather than looking around online [01:07:30.0000] annevk: weird, just the other day at my company people were talking about beating zelda as well [01:12:06.0000] KiChjang: it's not that weird, they just released it and lots of folks managed to get their hand on it, leading to a shortage for everyone who was distracted during the launch, like me [01:12:41.0000] forget about zelda, the web is more interesting [01:31:09.0000] does anyone here happen to know if a StructuredClone value is in anyway managed by a GC? [01:31:36.0000] the spec says they're a Record that is indepdent of any realm, but does that mean it is a browser-native object? [01:35:22.0000] KiChjang: not sure what "browser managed object" is but the intention is e.g. it's a bunch of bytes in memory in some browser-specific serialization format [01:36:29.0000] Domenic, what i mean is whether a StructuredClone is a JS value managed by the JS GC [01:38:30.0000] KiChjang: not observable so up to impl [02:03:34.0000] Domenic: heya, would reviewing abortable stuff be okay now or still not feeling super happy about it? [02:03:54.0000] annevk: PromiseController you mean? [02:03:56.0000] Domenic: in particular, I'm thinking about the PR against DOM [02:03:59.0000] yeah [02:04:05.0000] just commented coincidentally enough [02:04:11.0000] heh [02:04:30.0000] Domenic: ta [02:06:15.0000] KiChjang: I pitched making games for the web to a couple of Nintendo employees once, but they were not super convinced [02:06:43.0000] KiChjang: so until that happens it'll have to be web and Zelda (and some other stuff) [02:06:44.0000] there is a GBA emulator that's being run on the web using JS IIRC [02:07:01.0000] and worry not, wasm is going to change everything [02:07:33.0000] Wouldn't that be nice [02:24:25.0000] annevk: I don't know if it matters, but it sounds weird at least. [02:27:04.0000] nox: a websocket upgrade request is not really that different from other requests without a body [02:27:20.0000] nox: so I'm not sure why we'd need a special path [02:27:28.0000] annevk: It is very different. [02:27:48.0000] annevk: The thing that rejects responses with a status different than 101 is in establishing a websocket connection, [02:28:10.0000] when reaching that rejecting step, other algorithms may have needed to wait for body, queued tasks, and whatnot. [02:29:04.0000] Maybe all these tasks being queued are handwaving and aren't observable though, in which case I guess it doesn't matter. [02:30:59.0000] nox: but that algorithm is also in charge of any tasks queued [02:32:01.0000] nox: I guess I'll need a bit more detail and an issue if you think it's problematic [02:32:37.0000] annevk: What is "that algorithm" in what you just said? [02:36:12.0000] nox: establishing a websocket connection [02:36:33.0000] annevk: Where is it in charge? [02:36:59.0000] It is given an arbitrary client, which is used to create the request, so the client is in charge, right? [02:37:17.0000] nox: at some point we need to make this more explicit, but only the caller to fetch does something with the tasks [02:37:29.0000] Ok. [02:38:03.0000] nox: maybe the fetch group does something as well, but that's still super vague and awaiting general lifecycle cleanup in HTML [02:38:20.0000] Ok. [02:38:32.0000] annevk: Yeah that's probably just my gripe, that it is super vague. [02:39:21.0000] I don't like it either, but there's not many other folks helping chart the waters here so it's basically designing the architecture, new features, and making sure old features keeping working, all at the same time [02:40:36.0000] I really want to get to the lifecycle stuff at some point, but I'm also dreading it a bunch [02:41:15.0000] Created super basic ancestorOrigins test, two browsers, two results [03:05:52.0000] Hi its my first time contributing, so go easy on me. [03:06:06.0000] I want to fix this issue : https://github.com/whatwg/html/issues/2500 [03:07:36.0000] I forked the repo and in the source file I made this change in the full width latin row: Latin Prose TO Latin Prose [03:08:15.0000] Is this correct ? [03:27:11.0000] suds13: hey, yes, that looks good [04:01:57.0000] annevk: I have created a pull request, thanks. [04:02:54.0000] suds13: thank you! [04:04:57.0000] suds13: merged, standard will be updated in a bit [07:45:09.0000] TabAtkins: status on fingerprint thing in bikeshed? [08:24:18.0000] (feel free to reply here while I'm away, i can check the logs. or use botie tell) [09:11:17.0000] Domenic: so if you make Streams depend on this new canceling concept you're effectively requiring some kind of Host hook I suppose, if we keep Streams on the JS side of the divide [09:56:27.0000] Or we smush cancellation into Streams and sneak it into JS that way. [09:57:27.0000] jyasskin: I was mostly referring to cancelation (one l, hah) relying on events and maybe DOMException [09:58:47.0000] Yeah, events are really the only tricky part: if canccelation goes into JS, it'd just be a simple exception. [09:59:28.0000] I'm kinda surprised JS doesn't have a native event mechanism yet... [10:37:46.0000] zcorpan: Sorry, was distracted this week by a bug I thought would be easier (from Domenic), then by a bug that turned out quite hard (TLS >_<) and now I'm sick. [10:38:12.0000] So, uh, it's top of my prio list, but dunno precisely when I'll be working on Bikeshed again. Might be Monday, we'll see. [11:27:47.0000] TabAtkins: take care 🍵 [11:33:14.0000] just a head cold, but i'm still taking it easy ^_^ [13:00:46.0000] TabAtkins: ok, no worries. there's no rush :-) [15:07:55.0000] jyasskin: "I'm kinda surprised JS doesn't have a native event mechanism yet...": https://twitter.com/tobie/status/699552694726426624 and yet… [15:46:45.0000] Man, slack message "reactions" can be real distracting; IRC is a lot cleaner [16:00:32.0000] igrigorik: where is the latest longtask spec? [16:00:45.0000] the one in WICG from February has "Not Ready For Implementation" [16:01:03.0000] so rather surprising to see Intent-To-Ship [16:02:21.0000] perhaps foolip knows the status given that he said LGTM [16:02:33.0000] or Domenic [16:04:36.0000] /me assumes it is not a spec one should implement, but blink is about to ship it anyhow 2017-04-07 [20:17:08.0000] annevk: yeah, my thinking is I tried for something host-agnostic in TC39, it failed, so now streams suffers the consequences. Oh well, nothing we can do. [22:37:36.0000] smaug is gone, but I asked about that in https://groups.google.com/a/chromium.org/d/msg/blink-dev/Mx9q5WXunSE/2lCq30dtBwAJ and will poke the thread again [01:59:02.0000] annevk: the first two sentences of the "When UNESCO suggests" paragraph of https://www.w3.org/blog/news/archives/6225 do have a good point. [02:01:13.0000] hsivonen: yeah [02:04:02.0000] I wonder how the W3C decides what to use for [02:04:19.0000] Only three-letter-abbreviations-minus-W3C-itself? [02:07:41.0000] In https://drafts.csswg.org/css-transforms-2/#funcdef-perspective it says that value must be greater than 0, is that > or ≥? [02:07:57.0000] https://drafts.csswg.org/css-transforms-2/#PerspectiveDefined does -1/d, which should mean >, [02:08:13.0000] but https://drafts.csswg.org/css-transforms-2/#PerspectiveDefined says perspective(0) is just a neutral thing. [02:08:24.0000] Err, https://drafts.csswg.org/css-transforms-2/#neutral-element for last link. [02:10:05.0000] nox: they haven't really defined depth so I'd just file a bug to say it's vague [02:10:18.0000] nox: I'm guessing they mean the parameter, but... [02:11:16.0000] annevk: On https://github.com/w3c/csswg-drafts? [02:11:39.0000] nox: I guess so [02:11:50.0000] nox: hmm, the document itself points to https://github.com/w3c/fxtf-drafts/labels/css-transforms-1 [02:12:07.0000] Oh. [02:12:14.0000] nox: so maybe there? CSS is [02:12:25.0000] not the clearest at all this I find [02:19:28.0000] annevk: https://github.com/w3c/fxtf-drafts/issues/126 [04:12:33.0000] JakeA: btw, I'm counting on you to review https://github.com/whatwg/dom/pull/434 as well; do you have that planned? [04:15:03.0000] tobie: could it be that the PR diff tooling interferes with https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/? [04:15:36.0000] tobie: e.g., the above referenced whatwg/dom PR from mkwst has a branch I can't push to, even though that should be on by default these days [04:16:03.0000] tobie: I've noticed this happening more as of late, so I'm wondering if the tooling we have messes this functionality up somehow [04:16:35.0000] annevk: I just ticked the box manually, so, tooling aside, you should be able to fix all my mistakes now.. [04:18:04.0000] mkwst: heh, thanks, wasn't actually planning on doing it just yet, but I found some minor nits and was gonna ask you if it were okay to push at some point, and then noticed it was broken again [04:18:59.0000] annevk: No worries. I'm happy to fix nits: you're busy. [04:19:10.0000] annevk: As long as you're telling me what nits to fix, that is. :) [04:19:38.0000] mkwst: main bigger things I have: 1) what about this exception? 2) we should probably update the abstract now we do more than events and trees [04:20:39.0000] mkwst: 3) tests and 4) can/will this be implemented without feature and how do we manage that if not? [04:21:12.0000] mkwst: I'll wait with the nits until JakeA has reviewed as well, doesn't seem like much else is blocking this [04:21:32.0000] mkwst: nobody in TC39 is screaming thus far [04:21:52.0000] (low bar?) [04:22:20.0000] annevk: it shouldn't. The only thing the tooling does is listen to events and update the content of the original post. [04:22:31.0000] 1. You tell me. I'm happy to make it a DOMException if you don't care. 2. Sure (though I'm still not sure this is really right for DOM, I don't have a better suggestion). [04:22:49.0000] 3. It'll be tough to actually the cancellation callback bits without an API that uses the thing. Everything else should be simple. 4. See #3. I don't think it makes much sense in isolation. [04:23:17.0000] 5. If TC39 gets involved, I'm going to delegate everything to Jake, because I don't have time to argue about this. :) [04:26:48.0000] I'm okay with a DOMException as long as it has a unique name. "CancelationError" or some such would be fine. Though I wish ljharb would have answered the justification question other than "it needs to be like arrays" [04:27:23.0000] I guess even if he proves the need for branding we could still tack that on DOMException... [04:30:05.0000] I don't understand what he'd like to protect against. [04:30:10.0000] *shrug* [04:31:47.0000] Maybe the problem is that a problem in the program shouldn't be able to exit through the cancelation path? [04:32:18.0000] So an attacker can halt something and go undetected? [04:33:33.0000] Assuming the attacker is already running script in your origin? [04:34:15.0000] Idunno. I'd like to understand the threat it's meant to address. If it's relevant, then I'd prefer to make it a DOMException thing if possible,. [04:35:18.0000] If we make it a DOMException, shall I send tobie a patch to add the name to https://heycam.github.io/webidl/#dfn-error-names-table? [04:36:33.0000] Or do you want the whole thing defined in DOM? [04:36:44.0000] mkwst: yes please. [04:39:00.0000] mkwst: we should add the name there and then reference it [04:39:24.0000] mkwst: thanks for knowing how all the things work [04:39:45.0000] mkwst: I guess we might also need to update testharness so it knows about that exception name [04:40:50.0000] /me does not know how all the things work :) [04:41:38.0000] Ok. If that sounds like a reasonable thing to do, I'll send out patches. [04:42:24.0000] http://web.mit.edu/jwalden/www/isArray.html is a pretty good read, but all those problems also apply to platform objects! [04:56:50.0000] Searching for "hasinstance inurl:public-script-coord" and Google gives me "Are you a robot?" while I'm logged in [04:57:04.0000] And then they dare talk about AI on stage, come on [04:59:24.0000] To be fair, you might be a robot. [05:01:52.0000] Bias! [05:02:01.0000] /me finds https://lists.w3.org/Archives/Public/public-script-coord/2013JanMar/thread.html#msg1 [05:02:12.0000] (through W3C's search) [05:09:44.0000] annevk: yep. Going to fix useCache in the service worker spec. Then review the cancellation thing. [05:11:20.0000] JakeA: cancelation [05:11:38.0000] I guess we should add that to the style guide [05:12:21.0000] annevk: canceation. The Ls are just causing trouble, let's get rid of all of them. [05:13:11.0000] JakeA: archibad [05:13:32.0000] Hahaha I'll take that [05:40:45.0000] https://wiki.whatwg.org/index.php?title=Style&diff=next&oldid=10160 😆 [05:42:17.0000] So many variations to get wrong! [05:44:13.0000] /me is glad most of his specs are in W3C, where "cancelled" is spelled in a sane way. [05:44:14.0000] heh [05:46:16.0000] mkwst: as long as the APIs get it right... [05:46:36.0000] s/right/wrong/ [05:46:51.0000] I'll just make sure not to use controversial words in APIs. :) [05:46:58.0000] canceỻation [05:46:59.0000] You're in #whatwg now, but clearly you also left your sense of logic at the door so... [05:47:10.0000] `thing.stopIt()` [05:51:07.0000] mkwst: You mean cance//ed? [06:25:08.0000] Domenic is traveling at the moment I guess? [06:25:40.0000] wanted to ask him about https://github.com/w3c/ServiceWorker/issues/1073#issue-207922166 [06:27:14.0000] annevk: maybe you can help clue me in. I’m trying to figure out what change to make for the “Either step 8 should be removed (normative change!), or we should update HTML to have an invalid value default state (say "invalid"), which you can then throw an error on.” part of Domenic’s comment [06:27:21.0000] that step 8 is this: [06:27:38.0000] > If workerType is not a valid WorkerType value, queue a task to fire an event named error at the link element, and abort these steps. [06:28:38.0000] MikeSmith: I'll take a look [06:28:43.0000] thanks [06:28:57.0000] I talked with Domenic about this earlier this week but am wondering if there’s an existing similar case in the HTML spec I can use as model [06:29:42.0000] nobody has implemented WorkerType yet I think, so we can spec it out the way we want [06:31:26.0000] to be clear the specific part I wonder how to spec is “a state which you can then throw an error on” [06:31:29.0000] MikeSmith: if nobody has implemented this feature I like the idea of the normative change [06:31:34.0000] oh [06:31:38.0000] MikeSmith: and just defaulting to "classic" [06:31:43.0000] OK [06:32:26.0000] MikeSmith: I think most HTML attributes have a fallback that makes the thing function, a fallback that makes the thing broken would be a little strange [06:32:48.0000] hmm yeah when you put it that way, true [06:33:06.0000] OK well I will write up PR for the Service Worker spec with that change [06:34:11.0000] easy change [06:34:47.0000] annevk: thanks 🌸 [06:58:18.0000] JakeA: is there actually a requirement on mime type for importScripts()? [06:58:54.0000] I guess there is now [06:59:52.0000] wanderview: the spec had that for a while. Although neither Chrome or Firefox do [07:00:07.0000] wanderview: I changed it to point to HTML's mime type list, but it was there before [07:00:13.0000] JakeA: seems reasonable... thanks for testing it! [07:00:53.0000] JakeA: I'm glad I decided to start persisting headers on importScripts() even though there was no reason in our tree before [07:01:01.0000] now I can check the mime type a lot easier [07:01:04.0000] \o/ [08:23:23.0000] mkwst: controversial words like "nonce"? :-P [08:40:01.0000] zcorpan: If the UK would just speak proper English, "nonce" wouldn't be a problem. :) [08:52:03.0000] http://stackoverflow.com/questions/280049/javascript-callback-for-knowing-when-an-image-is-loaded#comment70314622_24201249 [08:52:12.0000] the answer is no, right, because the event queue doesn't spin? [08:57:38.0000] gsnedders: right. per the current spec you could have the opposite problem that 'loaded' is run twice. but the spec for .complete needs some fixing to not change value while script is executing (probably instead it should change value in the same task that fires the 'load' event) [08:58:49.0000] zcorpan: how is it run twice? [09:00:02.0000] gsnedders: no sorry, missed that the script had an "else" [09:00:32.0000] gsnedders: had the script unconditionally added the listener it could run twice [09:00:37.0000] even without the else how could it run twice without it going from complete to incompletE? [09:01:16.0000] gsnedders: if the script runs after complete is flipped to true but before the load event has been fired [09:08:41.0000] zcorpan: can you reload and check my comment is accurate? [09:09:43.0000] gsnedders: 👍 [09:10:19.0000] zcorpan: do we have a bug for the .complete spec? [09:10:32.0000] yeah [12:17:20.0000] wanderview: Do you know if the Cache API impl in FF maintains insertion order? My attempted upstreaming of a test is blocked by flakiness: https://travis-ci.org/w3c/web-platform-tests/jobs/219426158 - I didn't spot a bugzilla issue... [12:25:08.0000] jsbell: can you define insertion order? [12:25:30.0000] jsbell: looks like for cache keys? [12:25:59.0000] correct (sorry for being imprecise) [12:26:12.0000] jsbell: we do maintain insertion order, but we define that as the time the body completes vs the order cache.put() calls were made [12:27:01.0000] so depending on how the keys were inserted, we may get a slightly different order from chrome [12:27:47.0000] I think we have agreement in an issue somewhere to use a more transactional approach where cache.put() blocks later cache.put() calls so that you get strict ordering based on the calls [12:27:57.0000] not sure if that is spec'd yet and we definitely haven't implemented it yet [12:28:56.0000] okay. Wonder what I should do for that test... [12:29:14.0000] jsbell: does it put a bunch of stuff in the cache and then check the ordering? [12:29:58.0000] wanderview: Yeah. https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/external/wpt/service-workers/cache-storage/script-tests/cache-keys.js?l=50 [12:30:22.0000] I can make the test ignore the order if we believe it's not required by the spec at the moment [12:30:55.0000] jsbell: can we make prepopulated_cache_test() serialize its put() calls? [12:32:02.0000] jsbell: I mean, order is defined in the spec for .keys()... but I'm not sure it defines a strict order for overlapping put() calls at the moment: https://dxr.mozilla.org/mozilla-central/source/testing/web-platform/tests/service-workers/cache-storage/resources/test-helpers.js#148 [12:32:14.0000] wanderview: Yeah, that should work. [12:32:33.0000] wanderview: my dev box is offline at the moment but once it's back I'll give that a whirl in FF and see [12:34:14.0000] jsbell: thanks! I think transaction discussion might be in this issue: https://github.com/w3c/ServiceWorker/issues/823 [12:35:44.0000] yea, loose agreement to "work towards under-the-hood transactions to prevent races on writes", but doesn't seem to have been spec'd yet: work towards under-the-hood transactions to prevent races on write [12:35:51.0000] https://github.com/w3c/ServiceWorker/issues/823#issuecomment-175320500 [14:37:53.0000] can i represent elapsed number of days with service-workers mode [17:36:48.0000] You running this locally or thru the API? [17:38:01.0000] locally [17:38:30.0000] Run `bikeshed update`, make sure your dfn database is up to date. [18:08:53.0000] TabAtkins: oofs yeah I remember now the Bikeshed docs say to do that [18:13:47.0000] TabAtkins: thanks, no more errors ⛄️ [18:55:25.0000] MikeSmith: You can also run `bikeshed refs` to search the refs database, to make sure the term exists and has the properties you assume it has. [19:02:11.0000] TabAtkins: coolーthanks, didn’t know about that one [19:15:51.0000] that's only your local refs, mind. lets you know if you need to update. ^_^ [19:32:09.0000] TabAtkins: ok [19:34:49.0000] so the Service Workers spec defines requirements for how UAs must process the value of the Link header for the “serviceworker” link type but it doesn’t actually define what syntax a serviceworker Link header is expected to conform to [19:34:53.0000] https://w3c.github.io/ServiceWorker/#link-header-processing [19:35:22.0000] so I am now wondering, Do we have other specs that define the syntax of the value of the Link header for some particular link type? [19:35:30.0000] HTML doesn’t have any [19:36:23.0000] and I know there are things like the WebAppSec specs that define new headers, like Referrer-Policy [19:37:11.0000] but this case is about defining the specific syntax of the value of an existing header [19:40:02.0000] /me looks through https://www.iana.org/assignments/link-relations/link-relations.xhtml [19:45:29.0000] no luck [20:11:46.0000] can i represent elapsed number of days with