2019-09-01 [18:16:20.0000] annevk: I see, so it would just be an origin whose components are all the empty string? [18:17:27.0000] (By the time main fetch is reached) [18:20:35.0000] If that's the case, it sounds like a user-initiated navigation request would not be considered "same-origin" by the definition in https://www.w3.org/TR/referrer-policy/#same-origin-request, does that seem right? [18:22:02.0000] (or more generally, any definition I guess) [21:08:06.0000] domfarolino: maybe, I might have missed something 2019-09-02 [02:53:28.0000] TabAtkins: What's the correct bikeshed shorthand to link to an html attribute with custom link text & no monospace? My best guess was [=iframe/sandbox!!element-attr|Sandboxed=], but that doesn't work [11:33:25.0000] annevk: I've asked this before, but perhaps tooling has changed or so: how do you review spec changes? [11:33:40.0000] just by looking at the source code? [11:33:43.0000] (patch) [11:36:01.0000] or perhaps there is some documentation? "best practices for spec reviewing" [12:30:13.0000] smaug____: WHATWG PRs have two links at the bottom of OP [12:31:10.0000] smaug____: I personally read the source diff though most of the time, but sometimes the rendered one for additional insight [13:02:49.0000] annevk: and do you review all the links etc that they working correctly? [13:03:40.0000] or do we trust some tools to detect such 2019-09-03 [22:53:02.0000] smaug____: I trust tools for WHATWG, except for some things in HTML, though you will need to verify it’s the correct variant, eg, origin or URL’s origin [22:53:52.0000] Harder to have tooling for that [02:52:31.0000] MikeSmith: https://checker.html5.org gives me 502 Bad Gateway [09:48:29.0000] is this one of those things w3 came up with without asking anyone if they would actually implement it https://www.w3.org/TR/tcp-udp-sockets/ [10:59:15.0000] devsnek: I mean really the W3C doesn't really come up with stuff, members come forward with proposals for work and if members want to work on something and provide resources to work on something, a spec may get written [10:59:45.0000] yeah i meant the humans at w3c [11:23:28.0000] JakeA: No monospace? Then you just want to do an to avoid the additional styling. (And, hm, it might still get hit with the default styling...) Anyway, try Sandboxed. [11:24:19.0000] (Using [==] didn't work because that gives you the "dfn" type, and you can only use a manual type specifier to narrow down a wide shorthand type, not switch to something totally different.) 2019-09-04 [19:14:45.0000] how come browsers still add new history entries with replaceState? [00:55:30.0000] gsnedders: well, W3C still enabled them to do so; I feel like that line of reasoning is too often used to absolve the W3C, which certainly carries a certain amount of authority and power on its own [02:26:40.0000] annevk, is https://infra.spec.whatwg.org/#list-contain supposed to be used with an item or an index? [02:55:53.0000] annevk: Do we care if TextEncoder.encodeInto() can throw on OOM after already having written something to the provided buffer? [02:57:00.0000] annevk: OOM can occur due to JS engine-internal bookkeeping when the input string is a rope [02:57:43.0000] annevk: I _could_ make it so that all memory is allocated up front and OOM is thrown before anything is written, but that would be a tiny bit slower for the non-OOM case [03:00:59.0000] how recoverable are OOM exceptions in JS anyway? [03:02:28.0000] Ms2ger: either I think [03:03:09.0000] hsivonen: JS OOM is undefined behavior unfortunately [03:03:39.0000] annevk: not in the C sense, I hope [03:03:44.0000] hsivonen: there’ve arguments that it should crash the agent cluster [03:04:10.0000] annevk: I guess that means that it's OK to have written something in the buffer then [03:04:55.0000] hsivonen: until OOM is defined, yes [03:05:00.0000] annevk: thanks [05:35:23.0000] hsivonen: OOM exceptions are… sometimes recoverable in JS? [05:35:38.0000] hsivonen: normally with things that allocate big chunks [05:36:10.0000] Things that cause smaller allocs should in theory be recoverable in all major VMs, AFAIK, but then you get into rarely tested OOM branches. [05:37:23.0000] hsivonen: in general things like TextEncoder.encodeInto() are kinda undefined if they OOM during the operation [06:06:20.0000] gsnedders: OK. In this case, chances are the OOMing allocation would not necessarily be huge. could be 128*sizeof(void*) or any double of that [06:06:59.0000] hsivonen: yeah, I wouldn't worry too much about behaviour in that case provided it is safe [07:34:03.0000] TabAtkins: ta, that worked [14:25:04.0000] MikeSmith: "From the W3C specification for the Anchor tag:" https://www.bennadel.com/blog/3693-anchor-tags-can-contain-block-level-elements-as-of-html5.htm [14:25:19.0000] points to http://w3c.github.io/html-reference/a.html#a-changes [14:26:23.0000] maybe that needs a warning banner [14:54:51.0000] zcorpan: I thought I had already set up a redirect for that.. [14:55:15.0000] MikeSmith: the w3.org url redirects. not the w3c.github.io [14:55:25.0000] Ok [14:55:38.0000] I'll fix it today 2019-09-05 [18:50:12.0000] <3 [06:16:17.0000] Is the code behind whatpr somewhere? [06:37:28.0000] Ms2ger: Thoughts on pushing this to next week, when I'm in Tokyo? (Thursday or Friday.) Still happy to meet if there's something specific to touch base on. [06:37:30.0000] Er [06:37:34.0000] Wrong copy and paste [06:37:39.0000] Ms2ger: https://github.com/tobie/pr-preview/ [06:38:06.0000] I see, thanks [10:25:22.0000] does anyone know of a tool to get the diff of two html documents? all i've found is a 7 year old python library that can't handle input outside the ascii range [10:40:47.0000] devsnek: we use https://services.w3.org/htmldiff for WHATWG pull requests. I think it is backed by some perl script. It is not perfect; in particular it introduces whitespace in weird places. But it seems OK. Sample: https://whatpr.org/html/4796/2a397f6...99c8181/interaction.html (press "j" on keyboard to jump to first diff). [10:41:29.0000] lol y'all already made everything i'm trying to make for ecma262 [10:42:47.0000] hmm i caused an internal service error [10:42:51.0000] is ecma262 too big [10:44:31.0000] Like a structural diff? [10:44:47.0000] nitind: yes [10:45:14.0000] the second link that domenic posted is pretty much exactly what i'm trying to do [10:46:38.0000] devsnek: be sure to check out https://github.com/tobie/pr-preview/ [10:47:01.0000] well i tried this https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fecma262-snapshots.netlify.com%2F&doc2=https%3A%2F%2Fdeploy-preview-1685--ecma262-snapshots.netlify.com%2F [10:47:09.0000] it just dies [10:47:15.0000] probably because each document is like 8M [14:30:17.0000] annevk, Domenic: Just wanted to ping this https://github.com/whatwg/html/pull/4617 before I head out for the day, perhaps you can look tomorrow [15:12:23.0000] dtapuska: Yeah, I really should, sorry about that. I think annevk is on vacation, but it's so close. [16:40:49.0000] Domenic: so is this intended or is htmldiff.pl having a hard time with ecma262 https://gc.gy/35431835.png 2019-09-06 [19:34:18.0000] devsnek: that looks about like what I'd expect. [20:05:39.0000] 👍 [06:08:30.0000] Can't remember, are we doing flags or booleans these days? [06:10:45.0000] (nvm, looks like bools) [06:25:47.0000] annevk: Question about the lazyloading PR: IIRC, you want to enter the navigation steps synchronously, and when the steps go in parallel, if the navigation should happen "lazily", wait for the iframe to intersect the viewport etc [06:27:38.0000] annevk: Can we wait for the intersection of an element while in-parallel? [06:28:25.0000] annevk: Also, I'm not sure if we can refer to the "iframe element" that caused the navigation, from the navigation steps [15:59:40.0000] JakeA: just landed--link to the docs at the top of the website and readme https://web-platform-tests.org/ [16:00:36.0000] which is a little redundant in that context [16:00:44.0000] but it works better here https://github.com/web-platform-tests/wpt/blob/master/README.md 2019-09-07 [00:45:17.0000] jugglinmike: yay! Cheers 2019-09-11 [07:36:01.0000] Domenic: I found out today Fetch uses "promise-calling" for some ReadableStream stuff [07:36:08.0000] Domenic: is there a quick fix? [07:36:20.0000] Domenic: in https://fetch.spec.whatwg.org/#concept-construct-readablestream [07:39:18.0000] annevk: pretend you're given Web IDL callbacks instead of JS functions and use "invoke" [07:40:25.0000] Domenic: and define the whole wrapper myself? [07:40:43.0000] Domenic: nobody else needs the return value of a callback wrapped in a promise? [07:40:51.0000] What wrapper? [07:40:58.0000] Invoke returns a promise [07:41:44.0000] Oh, there's another invoke [07:42:12.0000] /me doesn't see it [07:44:56.0000] https://heycam.github.io/webidl/#es-invoking-callback-functions step 14 [08:04:28.0000] Domenic: ah so an IDL promise returning callback, interesting [08:11:08.0000] Still seems like a bit of boilerplate but likely okay… [13:51:53.0000] annevk/Domenic: I'm going to send you a User Agent definition some time in the next week. Do you have any further preference between Infra and HTML? 2019-09-12 [17:27:24.0000] Nothing really further... It just feels more like HTML, i.e. the core of the browser, than Infra, i.e. how to write specs. [18:22:26.0000] these substeps of step 14 look... scary, tbh [18:22:53.0000] maybe it makes sense in the context of an internal browser implementation, but these semantics have the infamous "zalgo problem" [18:22:55.0000] 3. If completion is a normal completion, return completion. [18:22:55.0000] 4. If completion is an abrupt completion and the callback function has a return type that is not a promise type, return completion. [18:22:55.0000] 5. Let rejectedPromise be ! Call(%Promise_reject%, %Promise%, «completion.[[Value]]»). [18:22:55.0000] 6. Return the result of converting rejectedPromise to the callback function’s return type. [19:35:08.0000] Jessidhia: they do not. This is just spec-ese for writing `try { steps() } catch (e) { return PRomise.reject(e); }` [19:39:03.0000] 4. returns the abrupt completion before reaching the step where %Promise_reject% is invoked [19:40:54.0000] also, if there is a normal completion, it returns the completion as-is, without using the Promise capability to ensure the result is a Promise [19:41:32.0000] Yes, true, it does not return a promise if the operation is not promise-returning. [19:41:39.0000] This is as intended. [19:41:49.0000] Not all functions return promises. [19:49:21.0000] yeah, it just gets into that scary "this returns a Promise / is asynchronous but _only sometimes_" territory for which the Zalgo problem was named [19:52:15.0000] The same function will always return a promise, or always not return a promise. It is declared in the return type. [19:52:28.0000] This algorithm works on any declaration, but any given declaration will always behave the same. [19:53:35.0000] ah, right, this calls IDL functions which have a type declaration [21:01:31.0000] Domenic: jyasskin: I think Infra as we should allow for user agents that implement URL, but not much other WHATWG standards; making it about browsers excludes too much. [21:56:24.0000] Hmm are those user agents? Like I don't think of Node or PHP as a user AGENT. [21:56:41.0000] (that was accidental caps, not purposeful emphasis) [22:52:41.0000] They are traditionally, afaik [22:53:58.0000] And would match the way we use the term, otherwise we ought to use some other term most of the time [23:51:20.0000] annevk: The service worker working group is on Monday. Are there particular parts of the day you'll be there? There's a couple of things that could do with your input, but happy to schedule around you [00:09:23.0000] JakeA: I have something at 10:15-10:45 and there's an a11y thing or two zcorpan would know about, so there's definitely time somewhere [00:09:36.0000] taa [03:59:07.0000] annevk: OTOH, it's easier to deal with naysaying the WHATWG specs are positioned as attempting to be normative over browsers and other kinds of software may be written to match if they care to interoperate [03:59:27.0000] s/naysaying the/naysaying if the/ [04:01:03.0000] annevk: see e.g. http://www.open-std.org/pipermail/unicode/2019-August/000574.html [04:33:40.0000] zcorpan: Just to be clear about your latest lazyload review, you're saying even disconnected images with `loading=lazy` specified would still load eagerly, right? [04:34:05.0000] If that's what you mean, then I agree, the latest changes seem to overlook this [04:34:28.0000] domfarolino: as specified that would happen, yes, afaict [04:34:38.0000] zcorpan: Cool thanks, I'll address [04:34:48.0000] nice! [04:50:13.0000] hsivonen: it's tricky, as it does seem somewhat harmful for web-consuming software to not use the URL Standard as a reference [04:50:21.0000] hsivonen: e.g., curl comes to mind [05:17:32.0000] /me wonders when issues Domenic files will reach epic poem length [05:31:03.0000] annevk: maybe should apply https://twitter.com/catherineols/status/1171503961662087169 to Domenic's issues [05:31:33.0000] heh [05:41:22.0000] Where's Ms2ger? [05:41:41.0000] zcorpan: btw, while you're here, are we meeting Monday and on what times? [05:46:30.0000] annevk: I haven't heard back yet. Pinged my email thread. I suggested 2pm Monday now [09:55:23.0000] Domenic: for custom element ARIA role/states, what's the plan for built-ins? [09:55:32.0000] Domenic: customized built-ins, in particular [11:28:46.0000] annevk/Domenic: https://url.spec.whatwg.org/#writing does use "user agent", so I'll go for Infra: https://github.com/whatwg/infra/pull/269. [16:49:34.0000] annevk: IIRC attachInternals() throws for customized built-ins [16:50:04.0000] I think it could be made to work, with extra effort, but the demand is unclear. 2019-09-13 [21:12:16.0000] Aah right, cool [00:10:32.0000] Domenic: did you see https://github.com/whatwg/fetch/pull/937? [00:57:17.0000] annevk: I agree that it's harmful for Web content-consuming software not to implement the WHATWG specs. It's just that not trying to push too hard on that point focuses energy more productively. [01:12:56.0000] annevk: thanks for the ping [03:38:13.0000] annevk: Ms2ger is out for a few days [03:56:48.0000] littledan: is Ms2ger there next week? You? [03:57:37.0000] annevk: Oh, physically, in TPAC? No, neither of us is coming [03:57:52.0000] Joyee Cheung and Brian Kardell from my team will be there, as well as many other Igalians [03:58:33.0000] Joyee has been looking at using generated WebIDL bindings and web-platform-tests in Node.js, but isn't editing the WebIDL spec [03:59:08.0000] annevk: Is there anything in particular you wanted to discuss at TPAC? [04:02:48.0000] littledan: I wanted to say hi 😃 [04:03:13.0000] :) hi 2019-09-15 [22:56:06.0000] y'all may be interested in https://github.com/w3c/modern-tooling/issues/85 ("Help with filing issues for browser engines for a given spec change") 2019-09-16 [19:15:00.0000] annevk: I suspect it's the /? that allows an optional / [19:49:49.0000] zcorpan: so there’s also Web Components at 2pm with ARIA? [19:51:07.0000] annevk: is there? [19:53:42.0000] So... HTML has the 'pattern' attribute... Does that solution to pattern matching work for developers? [20:13:23.0000] travisleithead: it creates really poor error messages for users of forms [20:13:52.0000] zcorpan: I thought so [20:17:51.0000] Yes, describing why the match failed is really hard with Regex, and then even harder to express to users. [20:19:21.0000] These 'just throw' cases seem just as troubling... [21:28:13.0000] hmm, bikeshed is non-deterministically seg-faulting on me... i.e. about half the time I run it (without making any changes) it segfaults before it finished processing... [21:38:10.0000] (hah, segfaulting within libxml2...) [21:41:59.0000] Mek: Hm, that happened a bit ago with a particular libxml2 version, but they fixed the bug and my version anchoring should be preventing you from installing that version... [21:42:14.0000] If it's some new bullshit tho, I'd love to know. [21:42:24.0000] how would version anchoring have anything to do with whatever version glinux installs? [21:42:48.0000] i.e. it's using the libxml2 version that comes with glinux [21:50:35.0000] Mek: Ah, I mean lxml, not libxml. If you followed the instructions as written in the docs, `pip install` should be grabbing a good version. [21:51:15.0000] I don't remember how I installed this, it seems to be using the system version of python-lxml as well, so probably not the way I was supposed to do things [21:51:26.0000] hehe, probably [21:53:17.0000] yep, thanks. Re-running pip install seems to have fixed things [21:53:32.0000] Nice. [21:54:19.0000] Quite curious that it was non-deterministic, tho. The problem before was due to a specific issue with moving subtrees around the document, and that should be deterministic. But oh well. [21:55:28.0000] annevk: ah yes, ok. 14:30 is html/aria [22:00:03.0000] https://pastebin.com/zFqkfYsS was where it was crashing fwiw [22:09:44.0000] Ah yeah, that's the same issue, the old problem was exercised by my IDL tests too. [22:12:14.0000] https://pypi.org/project/lxml/4.3.2/ release notes talk about the bug ^^; [22:26:27.0000] annevk: Domenic: reminder for html/aria [22:26:53.0000] Thanks, on my way [23:20:38.0000] Domenic: would you like to talk about top level await in service workers? [23:29:22.0000] JakeA: don't hold it for me. (Currently in ARIA for an unknown amount of time.) [23:31:46.0000] no problem [01:19:52.0000] JakeA: Thanks for making sure ServiceWorker/TLA interaction is on the agenda for TPAC [02:08:32.0000] littledan: no problem, sorry the resolution didn't match the PR, and what I'd earlier agreed to, but I think it's the right route forward [03:00:27.0000] JakeA: Not a problem at all. It's important that we think these things through well. FWIW I wouldn't mind the outcome Mozilla mentioned there, even though it also differs from the initial resolution. [03:09:09.0000] JakeA: Oh, I just found https://github.com/w3c/ServiceWorker/issues/1407#issuecomment-531673790 . Thanks! [03:26:12.0000] littledan: I think it was mostly me and JakeA that pushed for banning [03:26:57.0000] s/Mozilla mentioned/asutherland mentioned/ [03:27:07.0000] littledan: Domenic was there, asuth, Ben Kelly, Alex Russell [03:27:18.0000] annevk: Good to know; I'm happy with this resolution [03:27:22.0000] (any Safari folks?) [03:27:47.0000] Youenn, not sure he weighed in on this [03:28:19.0000] OK, good to know they're in the loop [03:30:31.0000] The reason that won btw is that you start a service worker to handle a specific event. Handling of that event should use await to avoid folks writing global awaiting that is unneeded for certain events. [03:31:14.0000] Similar (to me) to how you should not use global state in a SW [03:41:57.0000] what would be an apt way to lazy load audio content with