01:26 | <Domenic> | Hey folks! I'm playing around with module scripts and I see that a module script struct is being passed to EcmaScript and back through a ParseModule.[[HostDefined]] item. I'm wondering if that is done by value or by reference. More explicitly, if I later change the module script struct, would that change be reflected when grabbing that ParseModule.[[HostDefined]]? |
04:26 | <Yoav Weiss> | Domenic: I'm adding a new item that contains the resolved URL. I'll upload a draft for early review soonish |
08:22 | <Yoav Weiss> | Is there a way to run conformance checks locally? I'm seeing them failing on the bots.. https://github.com/whatwg/html/actions/runs/10158385321/job/28090331154?pr=10528 |
08:23 | <Yoav Weiss> | I tried to run java -Xmx1g -jar ./vnu.jar --skip-non-html "$HTML_OUTPUT" directly but that fails due to lack of Java installed.. I guess I can get it running through the docker build? |
08:26 | <sideshowbarker> | https://github.com/validator/validator/releases has standalone binaries you can download that don’t require a Java environment |
08:26 | <sideshowbarker> | but you can also use curl to send the document to the web-based checker |
08:28 | <sideshowbarker> | https://github.com/validator/validator/wiki/Service-»-Input-»-POST-body#examples |
08:28 | <sideshowbarker> |
|
08:33 | <Yoav Weiss> | I'm getting a 502.. |
08:33 | <Yoav Weiss> | for curl -v -H "Content-Type: text/html; charset=utf-8" --data-binary "@output/index.html" "https://validator.w3.org/nu/?out=gnu |
08:36 | <sideshowbarker> | hmm, it’s working for me |
08:37 | <sideshowbarker> | maybe open https://validator.w3.org/nu/ in a browser first? |
08:37 | <sideshowbarker> | W3C has some Cloudflare abuse-mitigation thing in place |
08:38 | <sideshowbarker> | if you have your source committed to a PR branch, I can try checking that out |
08:38 | <Yoav Weiss> | In the browser I'm getting a "HTTP ERROR 400 Resource size exceeds limit." |
08:39 | <Yoav Weiss> | https://github.com/whatwg/html/pull/10528/files |
08:39 | sideshowbarker | tries now |
08:40 | <sideshowbarker> | building from your patch now |
08:42 | <Yoav Weiss> | I already found a few issues based on the CI messages, just wanted to iterate over fixing them locally, rather than on the bots |
08:44 | <sideshowbarker> | It may be that I need to bump the size limit |
08:45 | <sideshowbarker> | lord, what is all this stuff?
What part of the build needs to be compiling binaries? |
08:47 | <sideshowbarker> | Due to whatever that stuff is, my local spec build is failing:
So, trying a remote spec build now |
08:48 | <Yoav Weiss> | Uploading a few fixes soonish.. |
08:49 | <sideshowbarker> | What’s the size of your local output/index.html file? |
08:50 | <sideshowbarker> | I currently have the maximum file size for the web-based checker set to 12MB |
08:52 | <Yoav Weiss> | 13.7MB |
08:52 | <sideshowbarker> | aha |
08:52 | <Yoav Weiss> | yeah.. |
08:52 | <sideshowbarker> | OK, gimme a minute |
08:59 | <sideshowbarker> | Yoav Weiss: please try with curl again now |
09:01 | <Yoav Weiss> | Yay! (I'm still getting conformance errors, now to fix them) |
09:02 | <Yoav Weiss> | Might be worthwhile to document that curl command in the html-build instructions |
09:07 | <Yoav Weiss> | OK, the remaining conformance issues seem to be non-blocking and aren't related to my change, but to " <table class=jake-diagram><thead><tr><td><th class=step>0<th class="step current">1<th class=step>2<th class=step>3<th class=step>4<tbody><tr><th><code>top</code><td colspan=3 class="doc-0 current next-is-same-doc">/t-a<td colspan=1 class="doc-0 prev-is-same-doc">/t-a#foo<td colspan=1 class=doc-1>/t-b<tr><th><code>frames[0]</code><td colspan=1 class=doc-2>/i-0-a<td colspan=3 class="doc-3 current">/i-0-b<tr><th><code>frames[1]</code><td colspan=2 class="doc-4 current">/i-1-a<td colspan=2 class=doc-5>/i-1-b</table>" |
09:08 | <Yoav Weiss> | One of the rows has 5 columns rather than 6 |
09:13 | <Yoav Weiss> | That's potentially WAI: https://html.spec.whatwg.org/multipage/document-sequences.html#jake-diagrams |
09:13 | <Yoav Weiss> | but maybe you can tell a table that a certain cell is empty. Dunno tables well enough |
09:23 | <sideshowbarker> | Well, even if it’s in WAI, it’s also a requirement in the HTML spec itself — I think |
09:24 | <sideshowbarker> | if not, it should just a warning at best, rather than an error |
09:25 | <sideshowbarker> | Are redirects cacheable? |
09:26 | <sideshowbarker> | Or more specifically, do Firefox/Safari/Chrome cache them? |
10:10 | <zcorpan> | sideshowbarker: I think so, at least 301/308 |
10:20 | <sideshowbarker> | Ah yeah, makes sense for those at least, of course |
10:30 | <Domenic> | if not, it should just a warning at best, rather than an error |
10:31 | <Domenic> |
|
11:25 | <Yoav Weiss> | sideshowbarker: https://github.com/whatwg/html/pull/10530 to fix the diagram conformance issues |
14:41 | <zcorpan> | annevk or Domenic : is something blocking https://github.com/whatwg/html/pull/5841 from landing? It seems there's interest to implement in Gecko |
18:54 | <sideshowbarker> | About the requirements in the Fetch spec for caching responses, it seems that what the spec requires when the UA gets a 30x redirect is that the 30x response itself gets cached, prior to the UA following the redirect. |
19:13 | <sideshowbarker> | That is what seems to follow from https://fetch.spec.whatwg.org/#ref-for-concept-http-network-or-cache-fetch, where this part comes first:
…which is what calls into https://fetch.spec.whatwg.org/#ref-for-response.cacheability, which says this:
But, all that happens before https://fetch.spec.whatwg.org/#ref-for-redirect-status②, which is this:
|
19:14 | <sideshowbarker> | So… that seems wrong. It doesn’t seem to be what any existing UAs actually implement. |
19:18 | <sideshowbarker> | Specifically, UAs don’t cache the 301, 302, 303, 307, and 308 responses themselves — instead they follow the redirects and then cache the response after following the redirect (at least in the case of the 301 and 308 responses) |
19:20 | <sideshowbarker> | In other words, faithfully/conformantly implementing the spec requirements for this would not seem to result in the behavior anyone would expect, nor match what existing UAs actually do |
19:20 | <sideshowbarker> | …as far as I can see |