2020-10-01 [20:25:50.0000] alright, gonna do my share of spam tagging [03:41:31.0000] zcorpan_: you'll enjoy https://twitter.com/Foone/status/1310888119898529792 [03:41:43.0000] (iirc you wrote that algorithm) [08:27:56.0000] Domenic: did you email Digital Ocean to opt out? [08:28:20.0000] annevk: yep. As I predicted though, it's not like the spammers check DigitalOcean's internal opt-out list before spamming us... [08:28:39.0000] uhuh [08:30:56.0000] Morning TabAtkins, pinging you again regarding EXIF orientation/resolution [09:04:51.0000] noamr: I can have another look next week, but what I'd really like to see is some progress on the implementation side; might be worth emailing heycam and I for Firefox, not entirely sure for other browsers [09:06:00.0000] noamr: that is, we have a safe solution, but if it's not getting shipped we need to know why [09:06:52.0000] (and to be clear, I'm not a big fan of trying to solve this metadata-piece-by-metadata-piece, so I'd rather start with resolution which already shipped) [09:08:16.0000] annevk you mean orientation [09:08:43.0000] noamr: oh yes [09:09:03.0000] I can create patches for chromium/safari myself, and see what responses it gets [09:09:13.0000] noamr: sounds amazing [09:09:39.0000] Take care, gonna call it a day [09:09:55.0000] Cool. Enjoy the evening . Thanks! [10:11:57.0000] Flash is getting removed from Chrome [10:12:11.0000] If that was the last plugin, I wonder if we can simplify HTML [10:12:18.0000] But, PDF viewers might still count as plugins... [10:12:29.0000] And and can embed HTML pages... [10:23:49.0000] It seems to me like PDFs would count as "non-document content" in the page load algorithms, so the plugin section could be removed [10:36:33.0000] Ah, yeah, that one definitely seems promising [10:54:50.0000] Filed https://github.com/whatwg/html/issues/6003 [14:15:58.0000] annevk: tbh i would leave the invalid label on 5982 cuz its extraordinarily unlikely they will update it further 2020-10-02 [03:56:51.0000] annevk: could you merge the style-dfn-panel PRs? [03:56:56.0000] unless you see anything wrong, ofc [08:59:29.0000] merged :) [09:38:50.0000] are there tests for the scheduling api? [09:48:08.0000] devsnek: for some reason they are being kept in wpt_internal, perhaps until there is a real spec. https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/wpt_internal/scheduler/;l=1?q=scheduler%20wpt&sq=&ss=chromium [09:48:21.0000] thanks! [09:48:54.0000] wasn't there supposed to be some initiative to write tests that only use js in js files [09:48:59.0000] i might be completely misremembering [09:58:54.0000] It's an option, some people do it, some people don't. PRs to switch to .js files are welcome. 2020-10-05 [02:54:25.0000] So I haven't really looked into TPAC yet as much as I should. Does one need to register in order to attend breakout sessions? [03:10:44.0000] I mean it says you're supposed to register, but who knows if it's enforced [03:10:55.0000] It's at least not hard to do [12:24:58.0000] ...how do I actually refer to a resource that is CORS-cleared? [12:25:14.0000] Like, what term do I use to distinguish between "this cross-origin resource is okay" vs "it's not"? [12:25:23.0000] The Fetch spec doesn't seem to give me anything. [14:05:19.0000] TabAtkins: "opaque response" vs. not? [14:06:58.0000] Term does not exist; closest is "opaque filtered response" , is that what I should be deciding on? [14:19:07.0000] closest is "a response whose type is opaque" [14:19:39.0000] but what are you actually trying to do... [14:29:38.0000] cross-origin images that haven't been cleared thru CORS need to censor their orientation/resolution data in certain ways [15:25:57.0000] TabAtkins: I think (opaque filtered response OR opaque-redirect filtered response) - but HTML doesn't use those terms: https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-same-origin [15:27:35.0000] annevk: ^ [15:37:07.0000] Ah, I like HTML's terms. 2020-10-06 [01:08:35.0000] Yeah, that could probably do with some refactoring [01:43:51.0000] Hi guys! I am trying to find a HTML date-picker that will work on all the browsers,at the moment I use and it seems it doesn't work on Safari and IE [03:53:58.0000] https://github.com/whatwg/misc-server/issues/107#issuecomment-704159463 that's a lot of bytes [04:15:25.0000] annevk: have we discussed making multipage the default view? [04:19:44.0000] I mean, it has come up [04:25:47.0000] And maybe we should discuss it given this data; I only ever use multipage when linked to it or on whatpr, but quite likely that editors are outliers [04:32:37.0000] yeah. i recall folks saying they always regret clicking a link to the single page version. which would still be a problem if we flip the default, though. [07:28:26.0000] Multipage feels so useless to me... I need my Ctrl+F [07:45:10.0000] yoav: are you saying that performance.now() has a higher resolution than SAB or that it's easier to make SAB harmless than performance.now()? [08:05:36.0000] yoav: feel free to disregard that question, I'll follow-up in the issue 2020-10-07 [19:02:24.0000] Domenic: (/me puts foot in mouth) Did you try the PDF? :) [19:03:46.0000] the single page version actually renders quite quickly in Firefox these days. I'm impressed. [22:41:58.0000] I usually know the section I'm looking for, so multipage is way way better for me 90%+ of the time [22:42:25.0000] (most of the time it's just Ctrl-F for "X ele" and then root around near there) [00:21:43.0000] twitter poll could be useful [04:30:59.0000] I only ever use the single page version, because of ctrl-f. But that doesn't mean the default can't change. [04:37:42.0000] https://twitter.com/annevk/status/1313805658588938240 [04:38:03.0000] tune in tomorrow for the results [04:39:43.0000] I wanted to include "Cover-to-cover, multiple times, then backwards at least once, and finally by picking random sections from the contents list and following all the cross-references." but it went over the character limit [04:44:10.0000] annevk: I hacked together a version of the single-page HTML spec that uses content-visibility to defer layout https://html-spec-with-c-v.glitch.me/ [04:44:26.0000] In Chrome, it takes the initial layout time from 50s down to 400ms [04:46:06.0000] JakeA: I saw that tweet, what kind of changes would be required? [04:49:05.0000] annevk: wrap sections of the spec in an element (probably all h2 sections and h3 sections?), then give them `content-visibility: auto; contain-intrinsic-size: 1px 5000px;` - ideally the 5000px should be a rough height of the element, which is used before layout is done properly. I guess you might use a different number for the h2 sections vs h3. [04:49:32.0000] I don't know if it's ready to go yet. I'm finding issues with in-page links sometimes not working. But I'm filing bugs as I find them. [04:49:49.0000] Hmm, wouldn't that be a function of font size? [04:50:29.0000] And page width yeah, but it really doesn't matter if it's wildly wrong [04:50:33.0000] Anyway, sounds interesting and I believe Domenic has been thinking about using more structural elements [04:50:56.0000] The more wrong the value is, the more the scrollbar will jump when layout is computed properly [04:51:23.0000] But meh, scrollbars are jumpy on native mobile for the same reasons [04:51:26.0000] I see, that sounds rather janky [04:52:18.0000] But interactive sooner is nice of course [04:52:31.0000] It's a tradeoff yeah. If you wanted accurate values I guess a build system could generate them for various widths? But I don't think it's a big deal vs the gains [04:52:49.0000] Scrolling remains smooth etc etc [04:53:30.0000] JakeA: what if you gave it a calc()? [04:53:50.0000] vw * some em size [04:54:40.0000] Might still go wrong depending on unusual constructs, so hmm [04:54:48.0000] yeah that might give you more accurate values. Although you're either having to calculate that at build time, or come up with a generic value for all sections, which will still be massively out for some sections [04:55:00.0000] Since some sections of the spec are short, some are massive [04:55:40.0000] But… the scrollbar jumps around in the HTML spec already as it's loading. This is just doing it later [07:08:53.0000] annevk: I have no trace of your latest update to 5953. [07:09:05.0000] annevk: I'm not sure what's up. [07:09:29.0000] The scrollbar was pretty unusable in the c-v version for me... Like, I couldn't scroll down. [07:10:27.0000] annevk: I have a hunch, though. Can you try deleting the log dump from the PR body? [07:11:02.0000] annevk: it seems rather large, and I found an unattributed "Error: request entity too large" in the logs [07:11:39.0000] tobie: looking [07:13:24.0000] tobie: I elided the log and left everything else [07:13:51.0000] annevk: OK, saw the error again here. [07:14:05.0000] annevk: so you're clearly triggering that error [07:16:35.0000] tobie: so that's something on your end or can GitHub not deal? [07:17:13.0000] annevk: no, no, that's the pr-preview app itself (well the underlying Express framework, really). [07:17:24.0000] annevk: Thanks for helping identify the problem. [07:17:38.0000] annevk: now I have no idea what the solution is. :) [07:17:43.0000] annevk: will research. [07:17:49.0000] thanks! [07:18:27.0000] I'm somewhat surprised we didn't hit this before, maybe we generate somewhat longer logs these days [07:19:12.0000] annevk: it doesn't seem to be related to the log, really. [07:19:23.0000] annevk: can you run it one last time? [07:23:04.0000] tobie: you got it [07:24:13.0000] annevk: right so that is just the payload size is an issue. [07:25:34.0000] annevk: ok, so it's not solved for now. [07:25:52.0000] tobie: what payload though? The size of OP? [07:25:57.0000] yes [07:25:59.0000] :D [07:26:03.0000] tobie: does it also include all the revisions? [07:26:23.0000] And how does that explain it not triggering again upon new commits? [07:26:30.0000] annevk: no, it includes the update and the prior version. [07:26:45.0000] annevk: so you had to run it twice to get rid of the log. [07:41:20.0000] annevk: increased the limit from 100kb to 5mb. [07:41:33.0000] annevk: this should do the trick [07:41:51.0000] annevk: lmk if you still have the issue. [07:43:11.0000] tobie: was that also the problem for IDL though? [07:43:54.0000] tobie: I updated OP of https://github.com/whatwg/html/pull/5953 again to see if PR Preview does a thing now [07:44:56.0000] annevk: biab [09:22:41.0000] tobie: seems it’s still stuck [09:46:51.0000] annevk: I managed to include a typo in a 12 character change. [09:47:05.0000] Should be fixed now. [09:47:19.0000] (No comment and apologies.) [09:59:34.0000] ta, trying once more [10:25:22.0000] tobie: I guess it seems to work, but it doesn't build for some reason [10:25:50.0000] tobie: that might be a different problem though [10:32:36.0000] annevk: yeah, old PRs need rebasing [10:33:05.0000] ah good [12:42:39.0000] annevk: thoughts on merging https://github.com/whatwg/html/pull/5889 , or waiting for further review? 2020-10-08 [05:48:20.0000] So https://twitter.com/annevk/status/1313805658588938240 got 190 votes and single-page is close to 42%, multi-page 34%, dev edition 5%, and some comments cover the remainder [05:48:34.0000] Based on this very scientific study I suggest we leave things unchanged [05:49:54.0000] What's the current state of 'internal slots'? What's the point of using them rather then just saying "[=Foo=] has a bar"? [05:49:56.0000] If we had specification-wide search it could put multi-page in the lead, but I doubt that would ever be as fast [05:50:23.0000] JakeA: they are still equivalent, nothing formalized one way or another [05:50:39.0000] JakeA: perhaps Bikeshed has some shorthand syntax for slots these days? Not sure [05:52:45.0000] ta [07:01:20.0000] I prefer "has a" style and regret using slots in Streams and probably being responsible for a lot of usage of them. [07:03:33.0000] How does the "has a" style work? e.g. if I want to check if a js object is a Map [07:04:30.0000] I mostly wish we had a consistent style that was part of IDL so we wouldn't have to define a large number of getters and we could some issues for Event classes more easily [07:05:03.0000] Maybe there are alternative solutions for Event classes if everyone does them in the same way, but still [07:05:11.0000] jgraham: for that case it doesn't [07:05:27.0000] jgraham: this is about IDL platform objects [07:06:43.0000] Oh just for platform objects [07:06:59.0000] That makes sense [07:17:21.0000] Domenic: so I "discovered" another magical end tag [07:17:46.0000] (context: HTML issues) [08:02:23.0000] annevk: magical end tag? [08:03:54.0000] Domenic: like (when it pops something from the stack) queues a task [08:04:00.0000] s/like// [08:04:12.0000] (I don't like it) [08:34:50.0000] Oh I caught up to my email [08:34:53.0000] Grossss [08:40:27.0000] People implemented a lot of weird things back in the day [08:40:40.0000] And I guess they'll say the same about us some time from now [08:40:51.0000] But hopefully a bit less [10:02:21.0000] hober: that is some amazing ASCII art in https://tess.oconnor.cx/2020/10/parties#users [10:02:27.0000] Unicode art, I should say [10:03:14.0000] oh my, it has HTTPS today \o/ [10:41:00.0000] Domenic: I made sure it was 80x24 so it would fit on a terminal :) [10:41:22.0000] annevk: yeah, actually writing a blog post was the pressure i needed to finally fix my letsencrypt setup [10:42:51.0000] i suppose it'll break again in a few months 2020-10-09 [00:07:37.0000] zcorpan: has a date and time for the speculating parsing TPAC breakout been set? [06:03:58.0000] hsivonen: I think the W3C will schedule them though per the FAQ it's all TBD [08:49:36.0000] JakeA: do you want to take a pass at https://github.com/whatwg/html/pull/6039 ? Totally fine if you don't have the time. [09:39:03.0000] annevk: TabAtkins: how do we make progress on https://github.com/whatwg/html/pull/5936#issuecomment-703574559 ? [09:39:55.0000] The approach sounds good to me, just open an issue in CSSWG to get eyes on it. [09:40:47.0000] (nothing wrong with other specs defining pseudos specific to them, but letting the CSSWG know is good in case there will be naming clashes or what-have-you) [12:45:53.0000] Domenic: bfgeek already put it on the CSS WG agenda afaict [14:48:36.0000] Oh woah this is cool http://commontype.org/ [14:49:19.0000] Someone apparently got sick of OpenType being some sort of Microsoft-controlled dead standard and created a living fork [14:49:58.0000] Some relatively serious Web IDL abuse, but oh well 2020-10-10 [03:02:01.0000] Domenic: I'll take a peek on Monday 2020-10-12 [22:58:52.0000] quick WebIDL question: is there an easy way to mark an attribute as non-configurable (other than [LegacyUnforgeable], which does that + more)? [00:43:31.0000] annevk: are we doing only TPAC breakout sessions, or a "WG" meeting this week? [00:46:52.0000] mathiasbynens: per https://heycam.github.io/webidl/#define-the-attributes attributes are only non-configurable if they're LegacyUnforgeable [00:47:01.0000] mathiasbynens: but constants are also non-configurable [00:47:34.0000] zcorpan_: I was afraid of that. thanks for confirming [00:48:24.0000] mathiasbynens: whare are you trying to do? [00:51:37.0000] zcorpan_: `navigator.webdriver` is currently configurable, and so spammers using WebDriver/Puppeteer like to `delete` it to try and bypass protections [00:52:20.0000] zcorpan_: all it takes to fix this is to mark it non-configurable, and I was wondering if there was a way to do that directly, since LegacyUnforgeable does more (in particular, it moves it from the prototype to an own property) [00:55:44.0000] mathiasbynens: hmmm. navigator itself isn't LegacyUnforgeable [01:17:50.0000] annevk: Just checking to see if pr-preview is stable for you since the changes I made last week (I have no signs that it isn’t; just wanted to make sure you’re all good). [02:45:03.0000] tobie: I think so, yes, but I'll ping you if not 🙂 [02:45:10.0000] tobie: thanks for looking into it [05:45:23.0000] does AVIF need an entry on https://mimesniff.spec.whatwg.org/#matching-an-image-type-pattern or not? [05:49:17.0000] mathiasbynens: afaik it's mp4 [05:49:41.0000] mathiasbynens: or at least an existing container thingy [05:50:26.0000] mathiasbynens: hmm, but maybe that does mean that should be updated as that only covers images [05:50:47.0000] mathiasbynens: I had only considered it from the perspective of https://github.com/annevk/orb [05:51:10.0000] /me wonders if that's enough reason to still try to require a MIME type [06:51:40.0000] Anyone knows if ES is parsable by LR(1) parser? [06:56:42.0000] jorendorff: ^ [06:58:35.0000] croraf: You have to use lots of force to jam ES into an LR(1) form [06:58:40.0000] please see https://github.com/mozilla-spidermonkey/jsparagus/blob/master/js-quirks.md [06:58:58.0000] if you don't want to read all that, then the answer is no for you :) [06:59:15.0000] thanks jorendorff , i also put the same quesiton on jsparagus discord :) [06:59:27.0000] haha [07:00:41.0000] So in short, does JSparagus use LR(1) or some other type? And which one would you recommend now to use? [07:03:51.0000] jorendorff, I remember these quirks being a lot shorter last time i checked half a year ago :| [07:05:02.0000] croraf: it depends on the goal. if you want a complete JS parser e.g. for writing a standard-compliant JS engine, then [07:05:07.0000] by far the easiest thing that will work is recursive descent [07:06:57.0000] this will have bad performance? jorendorff [07:07:27.0000] Recursive descent can have good performance because it's extremely hackable [07:07:41.0000] If you write the dumbest thing that can possibly work, then the performance is so-so [07:08:19.0000] but it's easy to hack in some optimizations to make it a bit faster, and then a bit faster again... [07:10:37.0000] jorendorff, thanks a lot. I think in Boa we actually use recursive descent. [07:10:46.0000] Yes, I think so [07:11:26.0000] I think all the major JS implementations do. jsparagus was trying something outside the mainstream :) [07:12:19.0000] cool, jorendorff you are the best ;) [07:12:32.0000] /me blushes. [07:18:22.0000] jorendorff, Was this the case of putting something in the editorial version of the spec that was not LR(1) compliant that was then immediately removed from the spec? https://github.com/tc39/ecma262/issues/776 [07:19:52.0000] The `async of` conflict is separate. As far as I know it was never discussed in the standard committee and hasn't been removed. [07:22:42.0000] jorendorff, yes, I'm not talking about "async of" example but mentioning this as another similar example that was revoked? [07:23:19.0000] Yes, that's right 2020-10-13 [03:49:04.0000] yoav: should stuff like https://github.com/WICG/cross-origin-embedder-policy be archived? [03:49:24.0000] (I would file an issue but can't) [03:57:03.0000] Weird that you can't file one... I'll look [04:00:09.0000] someone turned off issues on that repo... [04:00:25.0000] I'll bug people and see if we can archive. Thanks for flagging! [04:00:58.0000] To be clear, I understand why they disabled issue filing [04:01:56.0000] Thanks! [05:34:11.0000] MikeSmith: do we still need the test-mdn-annotations branch on https://github.com/whatwg/html-build/branches? [05:34:37.0000] annevk: nope [05:34:45.0000] feel free to delete it [05:34:53.0000] done [05:56:59.0000] https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-06#section-5.2.2.2 is somewhat weird to me. So A2 in A1->B->A2 is cross-site, but A2's service worker is not... If service worker adoption would be universal, it seems you could do the same kind of attacks... [06:01:22.0000] /me files https://github.com/httpwg/http-extensions/issues/1288 [08:19:56.0000] Domenic: sorry, I'm actually no longer sure a worklet needs a reference to anything [08:20:10.0000] Domenic: we just call it to do something and then it returns a value [08:20:20.0000] Domenic: and when we're done with it we discard it [08:20:23.0000] Hmm [08:20:37.0000] Domenic: even the secure context check seems weird as they shouldn't even be instantiated if that's false? [08:20:53.0000] annevk: in the worklets spec today there is no securecontext requirement [08:21:08.0000] annevk: it looks like the CSSWG prefers no secure context requirement but Chrome implemented it as SecureContext [08:21:32.0000] Domenic: Mozilla wants that too, although I'm not a 100% on what we did for audio worklets [08:21:37.0000] I think they are restricted [08:21:47.0000] Cool, yeah, we should probably change that when incorporating [08:22:49.0000] annevk: The current model creates worklet agents (1) when you call addModule(), if there are no agents, and optionally even if there are; (2) on UA discretion when it needs them, e.g. as in https://whatpr.org/html/6056/worklets.html#worklets-example-registering [08:22:51.0000] But yeah, thinking about it more a worklet having a reference to the outside by default is a bit of a smell as they are designed as isolated environments (again, specific types of worklets can override that and audio worklets have a communication channel) [08:23:47.0000] annevk: the issue is how do we shut down worklets when you discard a document. I guess you are thinking a document -> all worklets pointer, instead of the inverse? [08:24:12.0000] Domenic: yeah, or document->agent->agent cluster->worklet agents [08:24:24.0000] Hmm [08:24:43.0000] I think there's only ever one window agent per agent cluster, but this falls flat when dedicated workers can have a worklet [08:24:57.0000] They currently cannot; it's [Exposed=Window] [08:25:05.0000] Did we put worklets in the window agent cluster? [08:25:26.0000] I'm not sure that's formalized, it was one of the somewhat open questions [08:25:31.0000] It's needed for audio worklets [08:25:43.0000] It looks like we did [08:25:44.0000] Other worklets could potentially also sit in their own agent cluster [08:25:51.0000] They don't get isTopLevel [08:26:10.0000] Yeah true, but they could in theory is what I'm saying, there's nothing binding them [08:26:20.0000] Yeah [08:26:31.0000] document -> worklets pointer seems fine [08:26:37.0000] Honestly that would be better for workers too [08:26:55.0000] Right now "discard a Document" is pretty backward, it says something like "all workers whose owner document is this document" [08:27:08.0000] Yeah I don't like that [08:28:13.0000] AudioWorklet looks to be SecureContext in Firefox too https://searchfox.org/mozilla-central/source/dom/webidl/AudioWorklet.webidl [08:28:23.0000] \o/ [09:19:30.0000] annevk: I think https://github.com/w3c/css-houdini-drafts/issues/843 can be closed? [09:20:12.0000] Now that we have one event loop per agent, it's pretty clear they have their own event loop. And it's also clear it may interleave with (instead of being parallel to) a window's event loop, or whichever, but that's already allowed for all non-[[CanBlock]] cases. [09:21:36.0000] Domenic: what runs the event loop though? Does create a worklet do that? [09:22:00.0000] Domenic: and does the event loop algorithm need worklet-specific steps similar to what it does for workers? [09:22:14.0000] (to be clear, I haven't thought about the second question much at all) [09:22:38.0000] I guess we should add a counterpart sentence like workers' "Event loop: Run the responsible event loop specified by inside settings until it is destroyed." [09:22:50.0000] That's easy enough. [09:23:37.0000] Oh wait, it already exists [09:24:09.0000] https://whatpr.org/html/6056/worklets.html#create-a-worklet-global-scope (but it is misnested) [09:27:41.0000] It looks like no need for worklet-specific steps in event loop processing model. However, we should explicitly state that when you terminate a worklet, its event loop gets destroyed. For workers the event loop processing model checks that every time (which is a bit strange). [09:37:00.0000] Cool, I'll do a more detailed read tomorrow [09:37:12.0000] I should probably start with the PR Preview version as that's just much easier [09:46:23.0000] Yeah definitely [10:13:49.0000] Domenic: i got a few naive questions about worklets if you got a min [10:14:22.0000] shu: for sure [10:15:02.0000] Domenic: the encouragement for idempotence in the worklet spec has no normative teeth, is that right? [10:15:06.0000] currently, that is [10:15:21.0000] shu: indeed. [10:15:30.0000] judging by your (3) prohibiting `eval('this')`, i imagine currently `eval('this')` actually returns the global? [10:16:37.0000] shu: I didn't test implementations, but it does in specs. "global this value" is left as its default (= global) when creating the realm. [10:16:49.0000] Domenic: gotcha, thanks. [10:21:52.0000] this seems to be the same problem as freezing all inadvertent "side channels", which is, as you know, pretty difficult to plug. jumping through hoops to remove the obvious ways to access the global is only a portion of the API surface where the author can accidentally end up depending on persistent global state [10:22:29.0000] e.g., stuff added to built-in protos [10:23:30.0000] shu: for sure. The intention was always just to avoid obvious easy footguns, not to be airtight. [10:23:48.0000] From that perspective I guess prohibiting `eval('this')` is not really a win. [10:24:39.0000] okay, i see [10:24:56.0000] But e.g. I think the hope is that you wouldn't be able to use some isomorphic library which relies on globalThis to store global state [10:25:03.0000] I'm not sure how we feel about polyfills... [10:25:56.0000] yeah, that came to mind as a primary concern [10:26:25.0000] in practice i think you're saying "don't polyfill", since polyfilling everytime goes against the performance reasons you're using worklets to begin with, i imagine [10:28:54.0000] Yeah, I suspect that was the intention [10:29:08.0000] (HTML is inheriting this spec from the original authors, so I am not 100% on much of this.) [10:35:23.0000] thanks for the background [10:35:49.0000] i think right now, given the intention of plugging the obvious badness, i like the idea of shallow freezing the global object the most [10:39:23.0000] Yeah that sounds pretty nice. Let's see what folks say. [16:16:32.0000] Was XML5 ever an official proposal or just a dream spec kind of thing? https://ygg01.github.io/xml5_draft/ [16:20:27.0000] The latter [16:22:03.0000] Thanks Domenic :D [16:44:45.0000] It might be implemented in Servo now that I think harder 2020-10-16 [00:19:16.0000] Oh wow, https://github.com/tc39/ecma262/issues/678 got fixed [01:23:05.0000] andreubotella: thanks for fixing that thing in Fx, that's great [01:24:01.0000] andreubotella: I can still reproduce it, but it might not have made it to Nightly yet [01:24:44.0000] annevk: no problem ^^ [01:24:56.0000] when I test on my local build, it does work [01:25:35.0000] this was my first browser bug, and when I decided to dive into the code last Saturday I didn't expect to find anything I could fix [01:25:56.0000] *first browser fix, rather [01:31:27.0000] andreubotella: that's great, I'll verify later today when Nightly is updated to include it; will be nice to see the inline logos again [01:33:06.0000] ok [08:30:42.0000] annevk: when should we remove appcache? [10:00:59.0000] Domenic: I’m not up to speed with what has shipped to release; also with respect to the API [10:01:17.0000] It looks like Chrome removed it with a reverse origin trial. [10:04:23.0000] Time to figure out how to write WPTs for worklets... [11:53:15.0000] Domenic: Ugh, good luck [11:53:24.0000] I kind of gave up [11:53:34.0000] I think I could do it for a single worklet type at a time [11:53:49.0000] yeah, hopefully we can exercise necessary stuff in the individual worklet types [11:54:15.0000] That's a lot of work for me though :-/ 2020-10-18 [21:27:37.0000] hello I am trying to build a website 2020-10-19 [08:16:02.0000] annevk: does https://github.com/w3c/css-houdini-drafts/issues/473#issuecomment-711733408 mean "close with no action"? I still don't understand the issue that well... [09:54:13.0000] Domenic: yeah, but I didn't close it to see if someone had a different take [09:54:25.0000] Domenic: in particular I wonder if wanderview agrees [09:56:43.0000] annevk: makes sense. Will leave open for a bit at least... [10:00:35.0000] "I think they communicate errors out via onprocessorerror." So there's no need for integration with "report an error" whatsoever? I guess there might not be a lot of callers... [10:13:16.0000] annevk: yeah, I mean, there might be room for improving the formalization of the web audio spec in that regard, but right now they seem to wrap a bunch of potentially-erroring things in a spec try/catch and forward the errors. [14:45:24.0000] annevk: domenic: I don't have any objections at this point [14:45:39.0000] Cool, thanks! [14:49:25.0000] Domenic: I'm doing some Bikeshed fixes, and as part of it I'm going to have a minor behavior change that'll affect the Streams spec. I'll submit the PR, but there's no reasonable transitional form that'll work both pre- and post-change. Do you want to me to wait on pushing the Bikeshed fix until you've merged the PR, or are you okay with me pushing now and you merging the fix after? [14:49:38.0000] (The change is just that some links will break until you apply the fix.) [14:49:57.0000] TabAtkins: OK either way. [14:50:12.0000] kk 2020-10-20 [01:03:40.0000] Has the scheduling of the speculative parsing meeting progressed from TBD? [01:08:31.0000] I haven't heard anything and the wiki page doesn't say anything either (it's now protected though so I guess they won't allow more sessions) [04:57:08.0000] does wpt have something like info("dump this message to terminal"); ? [04:58:50.0000] smaug____: I'd ask in irc.w3.org #testing, but I don't think so [04:59:06.0000] smaug____: you can certainly print from server-side scripts though [04:59:33.0000] mochitest has info() and it is quite useful [05:48:28.0000] hsivonen: I don't see it on https://www.w3.org/wiki/TPAC/2020/SessionIdeas so I guess it hasn't made it in [05:48:43.0000] The breakout schedule is published on https://www.w3.org/2020/10/TPAC/breakout-schedule.html#calendar now [05:50:26.0000] annevk: thanks. I wonder if I should attend Client Hints (which overlaps a team meeting) [05:50:39.0000] zcorpan: are you still pursuing the speculative parsing breakout? [05:51:14.0000] hsivonen: it would be kinda good if someone from Mozilla were there at least [05:52:30.0000] hsivonen: hmmmm. I was going to. but I think I missed the deadline to propose breakout sessions :( [05:53:21.0000] I proposed IntersectionObserver breakout last night, but forgot to propose one for speculative parsing [05:53:26.0000] zcorpan: I see [05:58:44.0000] should we ask dom if we can still add breakout sessions for things in https://github.com/whatwg/html/issues/5856 ? [06:00:01.0000] MikeSmith: ^ [06:01:04.0000] zcorpan: it seems Joey had a bunch of constraints there; we could also just do an ad-hoc thing the week after [06:01:25.0000] oh wait, he doesn't seem to mind [06:04:33.0000] annevk: the week after doesn't work as well for me unfortunately [06:06:47.0000] I'll email dom [06:51:46.0000] annevk: hsivonen: dom said we can propose it. should we add a "WHATWG" breakout, and try to cover all things in issue 5856? [06:53:44.0000] zcorpan: not sure how much time we'd need for all the topics, but WFM in principle [06:59:05.0000] zcorpan: sure [07:01:59.0000] As for timing conflicts, next week, I have other meetings on Tuesday from 15:00 Sweden time to 15:30 Sweden time. and on Wednesday from 15:00 Sweden time to 16:00 Sweden time. [07:09:14.0000] hsivonen: ok, I can mention those conflicts to dom [07:16:19.0000] Title: WHATWG [07:16:19.0000] Proposer: Simon Pieters [07:16:19.0000] Email address of proposer: simon⊙bc [07:16:21.0000] Summary (one-sentence or so): Discuss lazy-loading, reusable image fetching logic, HTML speculative parsing, render blocking stylesheets, and beforematch event. See https://github.com/whatwg/html/issues/5856 [07:16:23.0000] Type of session (e.g.: open discussion, talk, panel, etc.): open discussion [07:16:25.0000] Goals: Make progress on the listed issues. [07:16:27.0000] shortname: whatwg [07:16:29.0000] Apply to be a #Public_Breakout (breakouts open to the world at large, not just the W3C community): yes [08:24:51.0000] Domenic: https://hg.mozilla.org/integration/autoland/rev/bab939b79a05 (patch to disable AppCache storage; we'll still expose a no-op API aiui) [08:25:23.0000] patch that landed and is on its way to release* [08:28:28.0000] annevk: very nice [08:57:26.0000] zcorpan: about adding a breakout session, will ask too [09:04:50.0000] zcorpan: dom says he’s added it to the schedule [09:05:55.0000] https://www.w3.org/2020/10/TPAC/breakout-schedule.html#whatwg [09:06:22.0000] 26 October 15:00–16:00 UTC [11:02:48.0000] does somebody have a link to the webappsec tpac meeting? [11:03:38.0000] zcorpan: I am looking now too [11:04:30.0000] MikeSmith: https://www.w3.org/2011/webappsec/webex.html [11:04:41.0000] ah cool [11:22:35.0000] i thought it was cancelled [11:34:56.0000] hober: yeah we ending up finding that out [12:47:30.0000] Can someone clarify me the usefulness of the "label"'s form attribute? [12:47:35.0000] Is it only for the screen readers? [12:48:04.0000] Does the screen reader reads that aloud? [12:48:45.0000] I mean if the screen reader reads the bound input element aloud I don't see the point of the "form" attribute? [12:52:39.0000] That's not a `form` attribute on the label element, but a `form` WebIDL attribute (a `form` field in the DOM object) [13:16:14.0000] I'm confused about the difference. [13:16:31.0000] Does the label element have the "for" attribute? [13:16:34.0000] andreubotella, [13:17:03.0000] The `for` attribute, sure, not `form` [13:17:51.0000] So w3schools is wrong here: https://www.w3schools.com/tags/tag_label.asp [13:18:26.0000] Does "label" not have the "form" attribute, along with the "for" attribute? [13:18:48.0000] MDN only indicates the "for" attribute: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label [13:19:39.0000] Check this example: https://www.w3schools.com/tags/att_label_form.asp [13:20:50.0000] it's not listed as an attribute for `label` in the element's section, or on obsolete features [13:21:12.0000] so unless there's something I'm not aware of, w3schools is wrong [13:21:33.0000] They even note that all browsers support it. [13:22:58.0000] What does it mean for a browser to support an attribute, though? [13:23:12.0000] If the attribute has things it triggers, that's one thing, but here there's nothing it triggers. [13:23:33.0000] Browsers will let you set whatever attributes you want, they'll just do nothing with them other than listing them in the DOM node. [13:24:10.0000] Well, that was my initial question, what does "form" attribute on the "label" give you. [13:24:32.0000] It looks like it is available, so it should give something. [13:25:21.0000] It seems to allow the labels (and inputs) to be outside of the form and still belong to the form. [13:25:33.0000] For the inputs for example, they will be submitted when the form is submitted. [13:25:42.0000] For the labels I dont know, perhaps something there is. [13:27:13.0000] Not really, if you check the `form` field on the DOM node, you'll get the form that the `for`-element belongs to, whether you use the `form` attribute or not. [13:27:37.0000] on the DOM node for the label, that is [13:28:46.0000] (sorry if I don't understand you completely, cause I'm very tired) but check this: https://html.spec.whatwg.org/multipage/forms.html#the-label-element [13:29:18.0000] yeah, there's a `form` WebIDL attribute, but `form` isn't listed as an attribute on the element [13:29:22.0000] https://pasteboard.co/JwzgFMr.png [13:29:57.0000] once again, WebIDL's terminology is confusing [13:30:01.0000] I see, what you are saying. [13:30:31.0000] So let's say you put a label outside a form, ok? [13:30:40.0000] It won't have it's form field pointing to the form? [13:31:13.0000] If the label is in the form it will have the "form" field pointing to the form? [13:32:09.0000] if the label is outside a form, it'll point to a form if you have a `for` attribute pointing to a control in the form [13:32:41.0000] OK, what if you dont have that for attribute and you put a "form" attribute"? [13:32:51.0000] This shouldn't cause any effect? [13:33:45.0000] it returns null [13:34:15.0000] You tried to put a "form" attribute on a label outside the form. And retrieve it's form field using JS? [13:34:32.0000] yeah, I just did that on firefox [13:34:43.0000] let me get my chrome and webkit [13:34:44.0000] Then, w3schools is awfully wrong. [13:35:21.0000] yeah, it is [13:37:19.0000] I understand that sometimes the spec text is intimidating, but even the domintro (the "for web developers" block) talks about the form owner of the associated form control, not about being directly associated to a form [13:39:16.0000] andreubotella, thanks a lot [13:39:26.0000] I tried putting label in the form without the for [13:39:40.0000] And even if it is in the form, that doesnt mean its .form is pointing to the form [13:39:59.0000] It needs to have the for pointing to the that belongs to the form. [13:40:42.0000] Right? [13:41:35.0000] Looks like it [13:41:57.0000] The input on the other hand implicitly belongs to the form if it is nested within one. And explicitly if it is outside of one. [13:42:01.0000] Cool. [13:42:45.0000] andreubotella, thanks a lot again [13:43:01.0000] sure [16:43:13.0000] miketaylr: if you still lived in New York, we’d have the fun of calling you Mike East [16:43:27.0000] but in reality I guess Mike West is the real Mike East [16:44:10.0000] so to clear up the confusion, I think from now on we need to call you Sonny Red, and Mike West has to be Sonny Black 2020-10-21 [04:02:40.0000] Does anyone recall if wpt has some server side helper thingie to make page load slower [04:03:13.0000] smaug____: time.sleep [04:03:34.0000] annevk: is that on the web page? [04:03:34.0000] smaug____: grep for sleep recursively in the xhr folder to see some examples [04:03:46.0000] smaug____: no the Python script generating the page [04:03:48.0000] or does that make some request being slow [04:03:50.0000] ah, great [07:34:29.0000] smaug____: http://web-platform-tests.org/writing-tests/server-pipes.html#trickle would be better than writing custom (cc annevk) [07:36:03.0000] gsnedders: interesting, guess someone should check if the existing sleep stuff can be refactored [07:39:02.0000] that looks handy [07:39:18.0000] /me ended up reusing some existing sleep stuff [07:43:26.0000] gsnedders: what does "indicate that the preceding N items must be repeated" ? [07:43:29.0000] mean [07:45:48.0000] smaug____: see the example at the bottom [07:46:00.0000] still don't undersatnd [07:46:02.0000] stand [07:46:09.0000] what is an "item" [08:08:40.0000] I think a colon-separated thing? 2020-10-22 [22:42:18.0000] only now noticing that Matrix generates and depends on invalid URLs like https://chat.mozilla.org/#/room/#mdn:mozilla.org (that have another # in the fragment part) [02:26:15.0000] folks here planning to attend any particular TPAC meetings today? Or dropping in on any? [02:27:22.0000] anything look especially interesting today on any agendas? [02:28:06.0000] I guess I will be lurking ing the Service Workers and Web Performance meetings anyway [02:28:57.0000] ah wait, no Service Workers today; just Web Performance [03:29:02.0000] yoav: do you recall where that thread was with Artur Janc et al about CORP, CORS, and metadata? [03:29:42.0000] Oh maybe it was via email [03:30:15.0000] yoav: https://lists.w3.org/Archives/Public/public-webappsec/2020Jul/thread.html#msg5 [03:30:51.0000] indeed https://lists.w3.org/Archives/Public/public-webappsec/2020Jul/0005.html [03:33:11.0000] yoav: I guess for the thing later today https://lists.w3.org/Archives/Public/public-webappsec/2020Jul/0012.html captures my feelings pretty well, as well as https://lists.w3.org/Archives/Public/public-webappsec/2020Jul/0013.html (did you invite Camille?) [03:33:47.0000] yup [03:36:40.0000] From my perspective, we don't have to solve metadata (beyond size) today, as no RT feature exposes it [03:37:14.0000] there are feature requests that would need that resolution, but that's less urgent than what's already shipping [03:39:43.0000] I think we should be careful with setting developer expectations though [03:40:02.0000] Spectre-only yesterday, sizing today, and all metadata tomorrow would not be a good look [05:50:55.0000] Domenic: annevk: how do i address "using a method of iteration which does not trigger developer-modifiable array accessors or iteration hooks"? https://html.spec.whatwg.org/multipage/urls-and-fetching.html#start-intersection-observing-a-lazy-loading-element [05:51:29.0000] zcorpan: with a low-level primitive? [05:51:56.0000] annevk: any spec language that doesn't need an "XXX" wrapper [05:52:39.0000] zcorpan: my question was somewhat rhetorical [05:53:16.0000] ok :) [05:53:27.0000] zcorpan: that is, we need a non-JavaScript hook into intersection observer that the intersection observer API builds on and we can too [05:55:52.0000] annevk: ok so the issue I filed on intersectionobserver was closed by https://github.com/w3c/IntersectionObserver/pull/449 , but doesn't address at least .isIntersecting , and it seems also we need a way to enumerate entries with Infra Standard language [05:57:01.0000] "The {{IntersectionObserver/thresholds}} attribute getter will return" [05:57:14.0000] That leads me to think they didn't really address your issue 🙂 [05:57:27.0000] If they did, there would be internal slots and such to poke at [05:58:14.0000] (That quote out of context is actually confusing. The problem is that the quote appears in the constructor steps.) [05:58:48.0000] annevk: yeah... https://w3c.github.io/IntersectionObserver/#initialize-new-intersection-observer [06:11:29.0000] annevk: that brain fart was embarrassing [06:27:10.0000] https://github.com/w3c/IntersectionObserver/issues/464 [07:39:47.0000] andreubotella: it isn't really, I had similar thoughts when attempting to address this [13:59:54.0000] > (Registration for public breakouts closed on October 22.) [14:00:01.0000] it doesn't list a timezone though [14:00:04.0000] is it too late? [14:05:50.0000] andreubotella: send an email to dom at w3.org and ask [14:07:51.0000] zcorpan: I'll try that 2020-10-23 [23:18:56.0000] andreubotella: let me know if for some reason that doesn’t work, happy to pull some strings 2020-10-24 [13:25:13.0000] Test [13:28:26.0000] true 2020-10-26 [04:06:05.0000] andreubotella: I guess I should wait a bit with landing your PR to see if Wolf has thoughts? [04:06:13.0000] annevk: sure [04:07:30.0000] (spotted the Oxford comma issue only after your comment about inlining the assert looking weird) [04:10:25.0000] right [04:10:40.0000] and I went ahead and fixed it in the other convert algorithm too [04:11:48.0000] Personally, I don't like the Oxford comma (probably because it's not common in Spanish), but I'm all for consistency [06:44:16.0000] annevk: Domenic: for the tpac breakout, I was thinking of using a google doc for taking notes, and not IRC [06:44:59.0000] zcorpan: sure [06:46:00.0000] andreubotella: it’s not part of Dutch and German either, though it is in mine sometimes [06:46:21.0000] Though the IRC channel for the breakout is on irc.w3.org [07:43:35.0000] Heads up: WHATWG TPAC breakout session starts in ~20 minutes. Agenda and notes in https://docs.google.com/document/d/1fGGOXKC_zM7cYfdZYS3Ns3W2JpjaRwCRhP-5c32BV2s/edit?usp=sharing [07:53:30.0000] Hey, I was taking a look at the spec when I noticed this https://usercontent.irccloud-cdn.com/file/y0rf26SI/image.png [07:54:06.0000] It prevents inserting iframes, but I can't help but think there are ways to clickjack somebody besides inserting iframes [07:54:38.0000] For example, you could write a clicker game where the user repeatedly clicks [07:54:53.0000] And then use `document.location` to redirect to another page, no iframe needed [07:55:19.0000] And hope the navigation completes before the user clicks again and the user doesn't notice? [07:55:25.0000] Yea [07:56:08.0000] I guess in theory that might apply yes, and maybe in practice at some point too [07:56:44.0000] Yea. It could probably be fixed by having the UA temporarily disabling use input on a page load, for like a second or two [07:58:38.0000] Where do I get the meeting password for the WHATWG breakout? [07:59:39.0000] hsivonen: are you joining by phone or with Zoom? [07:59:47.0000] Zoom [08:00:21.0000] hsivonen: the "Join Zoom" link in https://www.w3.org/2020/10/TPAC/breakout-schedule.html#whatwg worked for me [08:09:30.0000] /me worries that these introductions are going to take 10 minutes [08:10:39.0000] yeah [08:11:00.0000] I have no clue what I'm doing ^^ [08:12:01.0000] andreubotella, welcome to the club :p [08:12:19.0000] /me also does stuff [08:13:42.0000] In general I think intros only work for <10 people meetings [08:13:47.0000] This meeting is impressively popular [08:14:31.0000] Especially given like 4 people registered on whatwg/html [08:14:46.0000] I guess that method doesn't work and we should be more proactive [08:17:00.0000] I suspect part of it is people who decided they're going to attend a session for every open time slot [08:17:23.0000] i.e. their starting point is not WHATWG space but instead https://www.w3.org/2020/10/TPAC/breakout-schedule.html [08:18:55.0000] Yeah, our only competition adtech [08:18:58.0000] is* [08:39:08.0000] zcorpan: FWIW, I'm interested in the image fetching and decoding problem, but someone else needs to drive it [08:54:19.0000] It's like the module map without being specified :/ [08:54:34.0000] (re caches for style sheets / images / ...) [09:03:26.0000] nice job zcorpan [09:03:47.0000] thanks annevk [09:04:28.0000] Filed https://bugzilla.mozilla.org/show_bug.cgi?id=1673407 . Thanks. [09:06:11.0000] The general problem seems to be that we lack a "do you need to change the speculative loader?" check list item in reviews for new features (CSP in this case). [09:16:07.0000] I think ideally we don't disable it btw, we just let it take into account the CSP that we found [09:16:42.0000] ah, that's what you wrote down [10:54:50.0000] hsivonen: thanks! Out of curiosity, how does speculative `manifest` work? I thought it only worked on the first token, and speculative parsing can only start at . So any manifest seen during speculative parsing ought to have no effect? [10:55:40.0000] The `manifest` travels from the parser thread to the main thread in the speculative op queue so that it is registered before any speculative loads can happen. [10:56:26.0000] hsivonen: ooh. so it's not itself from speculation, but gets into the same queue [11:04:52.0000] Right. It's not speculative but always committed to, because a `document.write` before it is impossible. [11:05:56.0000] With CSP, we'd probably want to make them just stick and not have a mechanism to undo them. [11:06:12.0000] even if a `document.write` could intervene [11:45:35.0000] Sorry to nitpick, but the lack of a comma here confused me for a second https://usercontent.irccloud-cdn.com/file/fD1Sscqc/image.png [11:47:15.0000] EveryOS: yeah it rightly should have a comma [11:47:43.0000] can you raise a PR with fix? [11:49:15.0000] Sure, just a second [11:51:40.0000] I haven't PRd before, so I gotta read the prereqs. Tbh, I'd rather not add my name to the Acknowledgments section [11:54:18.0000] You don’t have to, but the agreement does require a name [11:54:39.0000] If you file an issue I’m happy to fix it though [11:55:16.0000] I'll just file an issue [12:09:06.0000] Submitted an issue [12:09:06.0000] https://github.com/whatwg/dom/issues/906 [12:22:51.0000] It does feel kind of weird that I opened an issue for something so trivial as the insertion of a single character [12:42:50.0000] How do you view historic versions of the HTML spec - for example I'm trying to see when the text about HTML custom element tag names showed up [12:45:52.0000] hsivonen: it seems I have a mistake in my test for document.write-ing a . I forgot that the main meta charset scanner looks inside