2022-09-01 [17:34:45.0351] Hello [01:01:57.0914] `Transfer-Encoding` seems to be the only HTTP fields/header that’s not defined in the core HTTP Semantics spec, https://httpwg.org/specs/rfc9110.html, but instead in the HTTP/1.1 Syntax spec, https://httpwg.org/specs/rfc9112.html#field.transfer-encoding Does anybody know why that is? Why couldn’t it instead be specified in the Semantics spec along with all the other fields/headers? [01:24:34.0116] * `Transfer-Encoding` seems to be the only HTTP field/header that’s not defined in the core HTTP Semantics spec, https://httpwg.org/specs/rfc9110.html, but instead in the HTTP/1.1 Syntax spec, https://httpwg.org/specs/rfc9112.html#field.transfer-encoding Does anybody know why that is? Why couldn’t it instead be specified in the Semantics spec along with all the other fields/headers? [01:30:49.0416] hmm, I guess maybe because it’s not supported in HTTP/2 (and likely not in HTTP/3) — and so in that sense, it’s not part of the shared Semantics of core HTTP but instead it’s something that only works in the HTTP/1.1 syntax… [01:33:18.0254] annevk: https://github.com/whatwg/fetch/pull/1469 is highest-priority fetch PR if you could find some time soon :) [09:30:37.0718] It looks like our next HTML triage meeting conflicts with TPAC. I'm thinking of skipping this instance, unless others disagree. 2022-09-04 [17:24:20.0541] thanks, for respond 2022-09-05 [04:59:01.0755] Domenic Do you mind if I start working on https://github.com/whatwg/html/issues/7996? It took me a while to understand how "wait until it asynchronously complete" and "custom perform the fetch steps" work, and I would be happy to help replacing them with more explicit constructs. [05:24:19.0307] Has anyone else noticed that HTML's section on "killing scripts" only focuses on killing script or module evaluation, rather than the evaluation of a callback? [05:59:51.0487] > <@nicolo-ribaudo:matrix.org> Domenic Do you mind if I start working on https://github.com/whatwg/html/issues/7996? It took me a while to understand how "wait until it asynchronously complete" and "custom perform the fetch steps" work, and I would be happy to help replacing them with more explicit constructs. Sure, that would be great! [06:00:21.0281] annevk: FWIW, it looks a lot like https://github.com/web-platform-tests/wpt/blob/master/html/cross-origin-embedder-policy/non-initial-about-blank.https.html passes in Gecko for the wrong reason. [06:01:45.0452] As for pass in other browsers, I'm currently trying to locate spec text that would explain why going from lack of `src` to `src="about:blank"` should trigger a navigation from the initial `about:blank` to a non-initial `about:blank`. [06:09:28.0656] So, I take it that a change in `src` triggers a navigation even if the URL resolves to the same URL that's already the URL of the current doc in the iframe. [06:44:42.0420] hsivonen: https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element:process-the-iframe-attributes-3 2022-09-06 [23:58:42.0187] So I’m writing the intro of an MDN page for the Paint Timing API and want the intro the put the Paint Timing API on context relative to the Largest Contentful Paint API. [00:00:14.0878] Would it be accurate for me to make it basically say the Largest Contentful Paint API aims to provide timing information that’s more useful in practice, to the point that it obviates need for the Paint Timing API. [00:02:21.0639] In other words, implying (if not explicitly saying) that if you have access to the Largest Contentful Paint timing info, that’s better info and you wouldn’t also have use for knowing when first contentful paint occurred. [00:05:10.0196] /me looks around for Noam Rosenthal [00:11:40.0775] I have a vague recollection that during discussion with the WebKit team, they may have said that in their implementation, one of these paint-timing metrics wasn’t something that’s very useful in practice for developers to know. Or else, not something that their implementation doesn’t even make measurable such that it could be exposed to web content. [00:11:55.0098] * So I’m writing the intro of an MDN page for the Paint Timing API and want the intro to put the Paint Timing API on context relative to the Largest Contentful Paint API. [00:12:02.0547] * So I’m writing the intro of an MDN page for the Paint Timing API and want the intro to put the Paint Timing API in context relative to the Largest Contentful Paint API. [00:13:39.0814] * I have a vague recollection that during discussion with the WebKit team, they may have said that in their implementation, one of these paint-timing metrics wasn’t something that’s very useful in practice for developers to know. Or else, not something that their implementation doesn’t even make readily exposable to web content. [00:14:13.0327] * I have a vague recollection that during discussion with the WebKit team, they may have said that in their implementation, one of these paint-timing metrics wasn’t something that’s very useful in practice for developers to know. Or else, not something that their implementation doesn’t even make measurable such that it could be exposed to web content. [00:36:39.0268] Chrome prioritizes LCP over FCP in Core Web Vitals. This was done based on some analysis and data showing that LCP captured user experience better. Perhaps that is what you're thinking of? [00:39:35.0470] Some discussion at the intro to https://web.dev/lcp/, but not much... maybe there's a better source. [01:19:16.0407] I think FCP are LCP are both useful, in different ways and depending on the content [01:19:59.0363] they are two important points in the loading experience. LCP is more important for CWV but both can give the developers a good hint about how your loading went [01:20:31.0687] e.g. if you have a small "Loading" icon and then all the real content loads, FCP will give you the time of the loading icon and LCP will give you the time of the entire content [01:21:27.0126] for pages like wikipedia, FCP is very important - it's the time where the wikipedia content loads. Afterwards maybe some big image would load and be the LCP, but both timings are meaningful. So like I said it's content-dependent [01:21:53.0917] CWV is an attempt to crystalize all the different metrics to 3 magic numbers, but many times you need more metrics than that to get the whole story and optimize [01:22:29.0374] sideshowbarker: ^^ [01:22:58.0151] * for pages like wikipedia, FCP is very important - it's the time where the wikipedia content loads. Afterwards maybe some big image would load and be the LCP, but both timings are meaningful. So like I said it's content-dependent [01:25:12.0611] sideshowbarker: the webkit team discussion was about `first-paint`. They didn't want to include it because it was not useful given that webkit buffers painting until it's contentful [02:41:15.0226] > <@zcorpan_:matrix.org> hsivonen: https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element:process-the-iframe-attributes-3 Thanks. I observe that `object` doesn't have a similar _initialInsertion_ flag. Not sure yet, if this is a spec oversight or a genuine platform difference between `object` and `iframe`. [02:57:02.0031] Noam Rosenthal: If you have time to look over https://github.com/mdn/content/pull/20346 and call out any problems you see — or any improvements that could be made — that’d be much welcome. [02:59:09.0692] > <@domenicdenicola:matrix.org> Some discussion at the intro to https://web.dev/lcp/, but not much... maybe there's a better source. I guess what I must have been thinking of was actually just the distinction between first paint and first contentful paint (as Noam mentions) [03:01:11.0326] > <@domenicdenicola:matrix.org> Some discussion at the intro to https://web.dev/lcp/, but not much... maybe there's a better source. https://web.dev/lcp/ and https://web.dev/optimize-lcp/ and https://web.dev/user-centric-performance-metrics/ are the best sources I was able to find [03:21:33.0359] hsivonen: I don't know either re `object` vs `iframe` [03:22:08.0377] > <@zcorpan_:matrix.org> hsivonen: I don't know either re `object` vs `iframe` Thanks. [04:10:06.0148] object spec is a giant mostly-unmaintained mess... if you can make object more like iframe, that would be a great end state [04:13:12.0102] > <@sideshowbarker:matrix.org> Noam Rosenthal: If you have time to look over https://github.com/mdn/content/pull/20346 and call out any problems you see — or any improvements that could be made — that’d be much welcome. Will do! [04:14:05.0149] sideshowbarker: I'll also ping other people in my team to take a look [04:51:26.0404] Noam Rosenthal: I see that PR got merged before your comments came in. We tend to merge PRs relatively quickly — and for MDN I think that’s a good thing in general. But for your changes I’d be happy to open a PR myself. Or leave it up to you — whichever you prefer. But regardless, it’d still be great to have review from others on your team too for the https://github.com/mdn/content/pull/20346 changes. And rather than needing to view the diff, anybody can review the current state of the content, with the changes merged, at: - https://pr20346.content.dev.mdn.mozit.cloud/en-US/docs/Web/API/Paint\_Timing\_API - https://pr20346.content.dev.mdn.mozit.cloud/en-US/docs/Web/API/Largest\_Contentful\_Paint\_API …or else, within the next 48 hours at most, the production site will have the updated content at: - https://developer.mozilla.org/en-US/docs/Web/API/Paint\_Timing\_API - https://developer.mozilla.org/en-US/docs/Web/API/Largest\_Contentful\_Paint\_API [04:51:42.0645] * Noam Rosenthal: I see that PR got merged before your comments came in. We tend to merge PRs relatively quickly — and for MDN I think that’s a good thing in general. But for your changes I’d be happy to open a PR myself. Or leave it up to you — whichever you prefer. But regardless, it’d still be great to have review from others on your team too for the https://github.com/mdn/content/pull/20346 changes. And rather than needing to view the diff, anybody can review the current state of the content, with the changes merged, at: - https://pr20346.content.dev.mdn.mozit.cloud/en-US/docs/Web/API/Paint\_Timing\_API - https://pr20346.content.dev.mdn.mozit.cloud/en-US/docs/Web/API/Largest\_Contentful\_Paint\_API …or else, within the next 48 hours at most, the production site will have the updated content at: - https://developer.mozilla.org/en-US/docs/Web/API/Paint\_Timing\_API - https://developer.mozilla.org/en-US/docs/Web/API/Largest\_Contentful\_Paint\_API [06:36:07.0495] sideshowbarker: no worries, I'll post a correction PR. The PR has links to those previews, so I think the team will manage (I already passed it along). Thanks! [06:44:56.0557] sideshowbarker: https://github.com/mdn/content/pull/20351 and https://github.com/mdn/content/pull/20350 2022-09-07 [19:26:56.0607] Noam Rosenthal: thanks for doing that [01:40:22.0338] AFAICT, https://github.com/web-platform-tests/wpt/blob/master/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch.https.html tests that calling `document.open()` on the initial `about:blank` inherits `upgrade-insecure-requests` from the caller to the `open()`ed doc. I don't see this specified in either https://w3c.github.io/webappsec-upgrade-insecure-requests/ or https://html.spec.whatwg.org/#document-open-steps . What am I missing? (Also, Gecko tries to inherit CSP between steps 6 and 7, but evidently, it's not inheriting enough.) [03:49:08.0526] hsivonen: seems like a bad test. I can't immediately tell given how many layers of generation seem to be going on but I would doubt that was intentionally tested... [03:50:04.0482] This code looks totally bogus in Chromium to me... https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=3257-3285;drc=6bf619d06ef290056d3e134756c1c4eaa17a2d70 [03:50:43.0880] The test was OK after all. I tracked it down to Gecko's failure to recompute upgrade-insecure-requests upon `document.open` [03:51:22.0582] (Gecko copied the CSP OK, but failed to actually run the function to compute upgrade-insecure-requests out of the CSP) [03:51:55.0523] Fascinating [03:52:18.0295] I am hoping we can avoid inheriting anything, whether it's Gecko's CSP or Blink's renderer-process-only sandbox flags / security origin [03:53:59.0419] (Aside: The way `fetch()` spec-wise inherits CSP from the doc in the `window` that `fetch()` is called on, is specified so abstractly that I wasn't confident how upgrade-insecure-requests should propagate, but it turns out that it should propagate from doc to `fetch()`.) [03:54:56.0501] Fuked https://bugs.chromium.org/p/chromium/issues/detail?id=1360795 [03:55:05.0945] * Filed https://bugs.chromium.org/p/chromium/issues/detail?id=1360795 [03:56:01.0263] Note that the spec's "URL and history update steps" usage is probably not web-compatible... we should probably add a warning... see https://github.com/whatwg/html/issues/6556 [03:58:47.0990] > <@domenicdenicola:matrix.org> Filed https://bugs.chromium.org/p/chromium/issues/detail?id=1360795 Is "322" a typo with a digit missing? [04:03:50.0372] > <@domenicdenicola:matrix.org> Note that the spec's "URL and history update steps" usage is probably not web-compatible... we should probably add a warning... see https://github.com/whatwg/html/issues/6556 Currently, I'm finding that tests that test history length start failing with my patch but they already fail in Chrome and pretty consistently if I remove expectations for history length to grow by one more than Chrome grows it, the tests pass both in Chrome and in Firefox+my patch. [04:03:55.0235] Yes, thanks, fixed [04:04:22.0351] > <@hsivonen:mozilla.org> Currently, I'm finding that tests that test history length start failing with my patch but they already fail in Chrome and pretty consistently if I remove expectations for history length to grow by one more than Chrome grows it, the tests pass both in Chrome and in Firefox+my patch. For document.open() specifically, or other places? [04:05:16.0879] > <@domenicdenicola:matrix.org> For document.open() specifically, or other places? Other places. [04:11:29.0965] Back in 2011 when I tried to change how Gecko handles about:blank, I got failures on history mochitests but didn't have a way to run the same tests in another engine like I can now run WPT to see that the test expectations differ from Chrome and my patch actually moves towards interop despite failing tests. 2022-09-08 [23:38:18.0683] PSA: At https://github.com/w3c/csswg-drafts/issues/7712 I made a new proposal to start auto-publishing CSS WG drafts at https://w3c.github.io/csswg-drafts URLs, using the same https://github.com/w3c/spec-prod tooling that most other W3C groups/repos already use — in parallel with continuing to publish them at drafts.w3.org URLs. [04:11:00.0342] I hope they do it, although given how your attempts last time went it seems like the group is pretty set on the "dump money onto the dumster fire" solution :( [07:00:12.0695] emilio: btw, we're going to have a breakout session on shared element transitions at TPAC https://www.w3.org/wiki/TPAC/2022/SessionIdeas#Page_transitions_in_the_browser_.28Shared_Element_Transitions.29 [07:00:48.0994] cool, thanks! will try to make it [07:05:08.0317] AFAICT when the inner window is reused when navigating from the initial about:blank, Chrome aborts a synchronous XHR pending in that window and WPT tests this, but I don't see this in the spec. Spec bug or bad spec reading on my part? 2022-09-09 [17:12:32.0549] I thought unloading cancels all network requests? [17:13:34.0858] Like I don't think initial about:blank is special here [17:14:32.0129] https://html.spec.whatwg.org/#abort-a-document step 2 [18:40:28.0093] I’m still optimistic. Especially if I’m willing to do all the setup work for it myself, with the understanding that we can just test out the results first, and turn it off later if there are objections for some reason. And hopefully we can take advantage of face-to-face time at TPAC next week to have a friendly discussion about it there. [18:43:18.0100] annevk: if you have time to look at https://github.com/mdn/content/issues/20441 that’d be much appreciated. (Or anybody else who wants to take time to look into it.) The behavior described in that issue description doesn’t seem to conform to the spec but I’ve not tried reproducing it. The OP has a repro case set up at https://github.com/AtofStryker/understanding-cookie-behavior [18:43:41.0057] > <@domenicdenicola:matrix.org> I hope they do it, although given how your attempts last time went it seems like the group is pretty set on the "dump money onto the dumster fire" solution :( * I’m still optimistic. Especially if I’m willing to do all the setup work for it myself, with the understanding that we can just test out the results first, and turn it off later if there are objections for some reason. And hopefully we can take advantage of face-to-face time at TPAC next week to have a friendly discussion about it there. [18:49:22.0848] hmm wait actually I see the issue is just about the statement _“Setting withCredentials has no effect on same-site requests”_ in MDN at https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials. …which is just wrong in the case where a same-site request is cross-origin [19:03:00.0484] commented at https://github.com/mdn/content/issues/20441#issuecomment-1241414596 [01:31:22.0390] zcorpan: is plaintext-only some ancient feature? [01:31:40.0421] smaug: yes [01:32:00.0802] zcorpan: does anyone have usage data of it? [01:33:46.0877] smaug: https://chromestatus.com/metrics/feature/timeline/popularity/1132 [01:34:23.0601] Oh, I thought you meant `` [01:34:32.0496] <zcorpan> smaug: there's also https://chromestatus.com/metrics/feature/timeline/popularity/1800 which ... has higher usage :/ I was hoping browsers could remove -webkit-user-modify [01:35:52.0357] <smaug> plaintext-only is going down nicely. If chromium just pushed a tiny bit, we might be able to get rid of it [01:39:55.0103] <zcorpan> maybe, but 0.2% was enough to need to add `<image>` parsing back in 2006 [01:40:30.0485] <zcorpan> meanwhile the web editing folks propose a more verbose way to do the same thing (with more control, but still) https://w3c.github.io/editing/docs/contentEditableDisabled/ [01:42:46.0594] <zcorpan> also -webkit-user-modify: read-write-plaintext-only is at 2%, so if that is not also removed there's no win with removing contenteditable=plaintext-only (which maps to the css property in webkit/chromium) [01:55:05.0166] <Jake Archibald> `plaintext-only` is actually pretty nice for creating a text field which grows to fit its contents [01:55:29.0954] <Jake Archibald> Which I recall being pretty hard with `<textarea>` [06:38:39.0779] <Jake Archibald> annevk smaug: We're going to have a breakout on the history spec changes if you're interested https://www.w3.org/events/meetings/118f6c22-1545-4c3b-9581-260621fec362 [06:38:56.0727] <smaug> Jake Archibald: yeah, I'll try to be there [07:51:40.0535] <hsivonen> > <@domenicdenicola:matrix.org> https://html.spec.whatwg.org/#abort-a-document step 2 Thanks. That's what I should have found but somehow failed to. [12:52:09.0561] <annevk> Jake Archibald: if there's no overlap will definitely be there. Multi-year rewrites of never properly specified features FTW. [12:53:55.0198] <annevk> zcorpan: I've been thinking a bit about your comment about image loading, the microtask it queues, and `<picture>`. I was wondering how that works when `<picture>` is being parsed. Wouldn't you have to wait for `</picture>` essentially? (Which is not something the parser exposes as you probably know all too well.) [15:37:41.0396] <sideshowbarker> TabAtkins: beautiful — thanks tons [15:38:01.0528] <TabAtkins> np, it was indeed extremely easy since Andreu did all the work already [15:38:29.0570] <TabAtkins> (https://w3c.github.io/csswg-drafts/ now exists, fyi to the rest of the channel) [15:46:03.0856] <Domenic> OMG! [15:46:18.0297] <Domenic> Can we switch Bikeshed to use these as the new URLs? [15:52:18.0794] <TabAtkins> Not willing to do that quite yet (it would involve either manually changing every entry in the current database by hand, via a CRUD interface, or bypassing with a hacky search-and-replace like I do to *generate* the mirror). We *are* paying plinss now to get things fixed properly, so we can reevaluate at the end of the contract. ^_^ [16:18:49.0833] <Domenic> A hacky search-and-replace seems quite worthwhile... maybe I can just do that in the global whatwg build script 2022-09-10 [03:51:21.0482] <Andreu Botella> > <@domenicdenicola:matrix.org> A hacky search-and-replace seems quite worthwhile... maybe I can just do that in the global whatwg build script What this mirror does to avoid linking to drafts.csswg.org is to comb through the bikeshed anchor database and replace those links before building: https://github.com/w3c/csswg-drafts/blob/main/bin/configure-spec-data.py [03:52:15.0698] <Andreu Botella> I prefer that over a search and replace on the built specs [06:22:44.0221] <sideshowbarker> Andreu Botella: I wonder how practical it would be to have `build-index.py` also build/generate a data file (JSON I guess) with, at least, the last-modified (last-revised) time for each spec? [06:25:01.0490] <sideshowbarker> I can do it downstream — by fetching each spec and checking get the revision from the, e.g., `<meta content="929f19ea6d7188d984d2e1c0783dff758d84ec57" name="document-revision">` in each, and then using https://docs.github.com/en/rest/commits/commits#get-a-commit from the GitHub API to get the commit data and pull out the date. [06:27:08.0832] <sideshowbarker> But if you think `build-index.py` could be patched to do basically the same thing upstream, I’d be happy to work on writing up a patch to do that. [06:28:31.0273] <sideshowbarker> my main need for it is for https://html-now.github.io/, in the **Repo** column, where the numbers in red and green and black indicate how many days it’s been since the spec was last updated. [06:30:41.0586] <sideshowbarker> Right now I get that by doing a HEAD request for each spec and checking the Last-Revised HTTP header — if there is one (which there is for drafts.csswg.org documents); and if there is not, I check the Last-Modified header. [06:31:14.0270] <sideshowbarker> * I can do it downstream — by fetching each spec and checking the git revision from the, e.g., `<meta content="929f19ea6d7188d984d2e1c0783dff758d84ec57" name="document-revision">` in each, and then using https://docs.github.com/en/rest/commits/commits#get-a-commit from the GitHub API to get the commit data and pull out the date. [06:31:52.0583] <sideshowbarker> * I can do it downstream — by fetching each spec and checking the git revision from the, `meta` element in each doc — e.g., `<meta content="929f19ea6d7188d984d2e1c0783dff758d84ec57" name="document-revision">` — and then using https://docs.github.com/en/rest/commits/commits#get-a-commit from the GitHub API to get the commit data and pull out the date. [12:03:46.0466] <Domenic> > <@abotella:igalia.com> What this mirror does to avoid linking to drafts.csswg.org is to comb through the bikeshed anchor database and replace those links before building: https://github.com/w3c/csswg-drafts/blob/main/bin/configure-spec-data.py This would be harder to hack into whatwg build scripts since those invoke the csswg API version of Bikeshed. Hmm. [13:22:09.0516] <Bibi Zaiti> Szia 2022-09-11 [18:21:40.0559] <Domenic> annevk: if you were to create a HTTP header referring to a URL's query/search component, would you use a name containing "query" or "search"? (https://github.com/WICG/nav-speculation/pull/183 for full context if you're interested.) [21:25:51.0082] <Scottsdale > 🙈🙈🙈🙈Today is my most happiest day, I never believe in making money in Bitcoin investment until a friend of mine invested with him and got his profit and I decided to give it a try and wow it works out for me, I'm damn happy I can't believe when I opened my Bitcoin wallet and saw my profit I was short of words, thank you so much Sir God bless you, you can also invest with him 👇👇👇👇👇👇 https://t.me/+fg0XTHR8CAo4Y2Fk https://t.me/+fg0XTHR8CAo4Y2Fk @FLORAGORDON [02:57:21.0628] <smaug> Jake Archibald: (I was looking at some of my ancient tests) looks like Chrome has changed session history behavior on this case from the old WebKit model to Presto model: http://mozilla.pettay.fi/moztests/history2/Start.html I think we don't want to spec either one of those. The testcase is about dynamically added iframes [06:26:33.0608] <Jake Archibald> smaug: yeah, I ran across this one too. Firefox's model is the sensible one, and it's what I put in PR. [06:28:23.0595] <Jake Archibald> The current spec seems to hint at the Firefox behaviour here too. [06:32:35.0693] <Jake Archibald> Ah, ok, this bit isn't handled in the PR. I need to make sure it explicitly removes those history entries when the iframe is removed. [06:58:39.0517] <Jake Archibald> Oh, no, I misread, it's handled in the current PR (the Firefox model) https://whatpr.org/html/6315/document-sequences.html#destroy-the-nested-navigable [14:33:48.0453] <Lorin> Is there a similar discussion platform for CSS spec? [14:39:04.0383] <aja> https://matrix.to/#/#w3c_css:matrix.org [14:39:25.0545] <aja> specs (plural) [14:44:37.0328] <aja> above room is primarily for css wg meetings, though. most discussion is in github PRs 2022-09-12 [17:22:40.0708] <annevk> Should we have a dedicated TPAC channel for WHATWG folks at TPAC or use this one? 1️⃣ for this one. 2️⃣ for a new channel. I guess it would be especially useful for folks not here to vote. Based on the outcome I might do something tomorrow morning. [17:23:32.0416] <annevk> Now, related to that, anyone up for dinner in an hour or so? Gonna try to find something with outdoor seating. [02:26:26.0211] <Ondřej Žára> I am interested in positioning of the <dialog> element when open. I found https://github.com/w3c/csswg-drafts/issues/4645 and https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 and https://browserdefaultstyles.com/#dialog, but it is still not clear to me why is the <dialog> centered. In particular, 1) fixed positioning seems to be recommended, but the default styles are still showing "position:absolute"; 2) there is the "margin:auto" declaration, but this does not seem to center arbitrary elements in my userland code. [07:14:01.0079] <Domenic> Did you see the "The dialog element, when its is modal flag is true, is expected to act as if it had a user-agent-level style sheet rule setting the following properties:" sentence? That seems to explain it pretty clearly from my perspective [07:23:17.0907] <Ondřej Žára> > <@domenicdenicola:matrix.org> Did you see the "The dialog element, when its is modal flag is true, is expected to act as if it had a user-agent-level style sheet rule setting the following properties:" sentence? That seems to explain it pretty clearly from my perspective Yes, I did see that! And yet, I do not see any positioning/centering there... max-{width,height} are just dimension limitations; the `position:fixed` implies there will be some left/right/top/bottom positioning specified... and the "inset-block-start" property is new to me, but judging from examples at https://developer.mozilla.org/en-US/docs/Web/CSS/inset-block-start, the value of 0 would align the box with the top of the page... [07:23:56.0222] <Ondřej Žára> Also, some centering is happening with non-modal <dialog>s as well (via the .show() method). [07:24:59.0720] <Ondřej Žára> So I assume some styling/centering is going on even without the modal flag set [09:04:26.0393] <Domenic> I'd suggest putting all those properties (plus the UA stylesheet base) into a demo with a <div>; I believe it'll cause centering. [09:04:44.0672] <Domenic> You can then use your browser's inspector to see exactly how 2022-09-13 [22:04:30.0478] <leobalter> annevk Domenic as I mentioned, the unsafe-eval thing: https://www.logius.nl/diensten/digid/ict-beveiligingsassessments-digid/documentatie/uitzonderingsregel-upw03 (Chrome will show up a translate button) [23:43:16.0778] <Ondřej Žára> > <@domenicdenicola:matrix.org> I'd suggest putting all those properties (plus the UA stylesheet base) into a demo with a <div>; I believe it'll cause centering. You are correct, thanks. Let me save the time of other unfortunate devs that come here seeking the answer, trying to re-apply all the mentioned properties: the centering is caused by the `margin:auto`. MDN helpfully suggests "in certain cases this value can be used to center an element". [23:52:18.0029] <Ondřej Žára> ...and here comes the explanation, finally: https://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height [03:04:54.0658] <tashasyarifah> Hi everyone, I'm Tasha. I need your help. How to sign the Participant Agreement? I contribute as an individual and I am a job seeker. I try to click signed as an individual, but it didn't work. Any guidance would be helpful. [04:40:38.0699] <hsivonen> Domenic: Has https://www.w3.org/wiki/TPAC/2022/SessionIdeas#The_upcoming_navigation_and_session_history_rewrite been scheduled and is it open to remote participation? (I might call in if open to participation and the timezones work out.) [07:33:19.0169] <Domenic> > <@hsivonen:mozilla.org> Domenic: Has https://www.w3.org/wiki/TPAC/2022/SessionIdeas#The_upcoming_navigation_and_session_history_rewrite been scheduled and is it open to remote participation? (I might call in if open to participation and the timezones work out.) It has and it is! https://www.w3.org/events/meetings/118f6c22-1545-4c3b-9581-260621fec362 [07:33:36.0372] <Domenic> > <@tashasyarifah:matrix.org> Hi everyone, I'm Tasha. I need your help. How to sign the Participant Agreement? I contribute as an individual and I am a job seeker. I try to click signed as an individual, but it didn't work. Any guidance would be helpful. Hi Tasha, what does "didn't work" mean? Did you get an error? [07:52:24.0963] <hsivonen> > <@domenicdenicola:matrix.org> It has and it is! https://www.w3.org/events/meetings/118f6c22-1545-4c3b-9581-260621fec362 Thanks. The time zone overlap is problematic, so I most likely won't be calling in. Anyway, the main point that I have is that I'm in the process of editing some history WPTs as part of my about:blank interop effort, so I hope that the current state of those WPTs doesn't end up in the spec: https://phabricator.services.mozilla.com/D155376#change-z3v1YcJlKe7v [08:14:45.0628] <Domenic> For sure, we'll make sure the rewritten spec is aligned with your work / the updated versions of those tests. [09:08:24.0391] <annevk> leobalter: ah okay, it looks like that is specific to DigiD (Dutch digital ID) deployment. That kinda makes sense I suppose. [15:08:09.0009] <Jake Archibald> hsivonen: https://www.w3.org/events/meetings/118f6c22-1545-4c3b-9581-260621fec362 - we've moved the session earlier [16:04:36.0290] <zcorpan> APA & WHATWG joint meeting now: https://www.w3.org/events/meetings/a0de5c4b-855f-4e12-b5ea-af56343f3fe7 2022-09-14 [21:29:43.0342] <hsivonen> > <@jakea:matrix.org> hsivonen: https://www.w3.org/events/meetings/118f6c22-1545-4c3b-9581-260621fec362 - we've moved the session earlier Thanks. I'll call in. [01:45:46.0503] <nicolo-ribaudo> Hi! I have a question regarding modules imports. When you dynamically import a module that is already in the modules map, does it yield to the event loop? My reading of the spec is "no", because it schedules a task to continue the import only when it performs an actual fetch, but both Firefox and Chrome seem to yield. They only settle the dynamic import promise in the current promise tasks queue if the import specifier is malformed. [01:51:19.0464] <Ms2ger 💉💉> https://html.spec.whatwg.org/multipage/webappapis.html#hostimportmoduledynamically(referencingscriptormodule,-modulerequest,-promisecapability) - the async returning doesn't seem particularly well integrated with the event loop [01:57:40.0137] <nicolo-ribaudo> Right, I'm removing it in https://github.com/whatwg/html/pull/8264 and I'm not 100% sure that I got that part correctly. [03:45:08.0111] <hsivonen> What mechanism makes the document.write in https://github.com/web-platform-tests/wpt/blob/master/html/browsers/browsing-the-web/navigating-across-documents/010.html not interfere with the load of href.html? [03:45:15.0000] <hsivonen> in Chrome that is [03:46:00.0368] <hsivonen> In Firefox currently, the mechanism is that the about:blank isn't the initial about:blank anymore, so the navigation does not reuse the inner window, so the `document.write` happens on the old (about:blank) document. [03:47:15.0162] <hsivonen> However, when inner window reuse takes place, which it presumably does in Chrome, what makes the `document.write` not blow away the new document that has become the document of the inner window while the event loop for the sync XHR was spinning? [03:49:21.0618] <hsivonen> When Chrome aborts the old fetches (including the XHR), does it also manage to abort scripts that are being executed so that the JavaScript program aborts before xhr.send() returns? [03:49:43.0161] <hsivonen> I guess I should test that hypothesis. [03:54:37.0109] <hsivonen> I can't log with console.log() from within the javascript: URL in Chrome. Is Chrome not executing the javascript: URL at all for some reason? [04:26:08.0349] <Haerul Fuad> smaug: smaug [06:46:56.0153] <tashasyarifah> > <@domenicdenicola:matrix.org> Hi Tasha, what does "didn't work" mean? Did you get an error? So, I clicked signed as an Individual and then submit. The result is I got an error 400. It says Invalid 'entity-name' field. I don't see any form or anything. I'm so confused. [07:23:22.0311] <Ms2ger 💉💉> > with arguments method, args and, undefined. [07:23:28.0839] <Ms2ger 💉💉> Is that the Cambridge comma? [09:51:19.0332] <zcorpan> tashasyarifah: did you click the triangle in " If signing as an Individual" or did you click the link "Individual"? [09:52:37.0147] <zcorpan> Maybe <details> here is confusing UI [09:53:13.0545] <zcorpan> and links in <summary> is certainly confusing UI (https://github.com/whatwg/html/issues/2272) [09:55:03.0529] <Domenic> nicolo-ribaudo: I guess we should match browsers here, and queue a task regardless. Even if IMO it would have been more elegant not to yield, this is what I get for using imprecise spec constructs; implementers used what they are familiar with / what is well specced (task yielding) and now we end up here. [09:55:53.0282] <Domenic> Web platform tests for this would be ideal if possible :) [09:59:56.0413] <nicolo-ribaudo> Yeah I agree that not yielding would be more elegant... I'll try to check how the other browsers behave; if they all agree or if there is inconsistent behaviour. [10:54:34.0659] <zcorpan> hsivonen: are you able to review https://github.com/whatwg/html/pull/8271 ? [11:24:17.0138] <hsivonen> > <@zcorpan_:matrix.org> hsivonen: are you able to review https://github.com/whatwg/html/pull/8271 ? I set a reminder for myself for tomorrow [11:53:24.0837] <zcorpan> ty [12:22:17.0311] <hsivonen> AFAICT Chrome doesn't execute the javascript: URL at all on https://github.com/web-platform-tests/wpt/blame/master/html/browsers/browsing-the-web/navigating-across-documents/010.html . Safari, however, is really strange: onmessage sees document.write() winning over the href navigation but what the user sees is the href navigation--not the document.write. [12:22:39.0908] <hsivonen> Currently my local patch for Gecko has document.write winning both for script and rendering purposes. [12:22:51.0559] <hsivonen> Under what theory should document.write() not win? [12:24:39.0658] <hsivonen> That is, what's the logic that the test is trying to test? That aborting the javascript: URL navigation should abort the script excecution and not just the pseudo-network response resulting from the returned string? [12:24:45.0775] <hsivonen> jgraham: ^ [14:02:22.0905] <Domenic> (FWIW, I don't have any real answers here. Happy to approve a rename to .tentative, or maybe delete the test and open a whatwg/html interop issue so we can investigate and come up with what the answer *should* be.) 2022-09-15 [20:11:59.0459] <tashasyarifah> zcorpan: OMG I click the link "individual". I thought the triangle is act for a list. Maybe change the triangle to be more noticeable. I finished filling out the form. Thank you! [20:58:40.0205] <Lucy> 🔰Don't depend on your salary only🔰if you have a Gmail account,computer or smartphones,you can start earning $4,000 daily and $10,000 weekly,without #sending_money to anyone click on the link to get started 👇👇👇👇👇👇👇👇 TELEGRAM📈📈📥📥 https://t.me/+T5bSreXpWsAwMDA0 ADMIN: https://t.me/Braddocklucy [23:20:25.0140] <hsivonen> > <@domenicdenicola:matrix.org> (FWIW, I don't have any real answers here. Happy to approve a rename to .tentative, or maybe delete the test and open a whatwg/html interop issue so we can investigate and come up with what the answer *should* be.) Thanks. I'll mark as tentative. [00:29:33.0715] <hsivonen> This test seems to expect _non-initial_ about:blank (which in Chrome fires its load event async) to have the magic characteristic of the DOM getting built (i.e. `contentDocument.body` existing) synchronously when the location has updated: https://github.com/web-platform-tests/wpt/blob/ab53b6abd671656733e41ef03cd0be11250688d7/content-security-policy/inheritance/history-iframe.sub.html#L53-L63 Is there a legitimate Web compat need for this magic? [04:49:12.0146] <Ms2ger 💉💉> Is it ever acceptable to use "current settings object" if you're running "in parallel"? cc Domenic annevk [07:06:25.0219] <annevk> Ms2ger 💉💉: no, not really; current might have changed [08:40:24.0745] <Ms2ger 💉💉> https://github.com/w3c/geolocation-api/issues/126 [11:22:34.0144] <Dominic Farolino> hsivonen: In both Chrome & Safari, I'm observing `iframe.contentDocument == null` syncly after location-navigating to `about:blank` (from cross-origin doc) [11:41:14.0211] <hsivonen> > <@domfarolino:matrix.org> hsivonen: In both Chrome & Safari, I'm observing `iframe.contentDocument == null` syncly after location-navigating to `about:blank` (from cross-origin doc) Even at the point where `iframe.contentWindow.location.href == "about:blank"` ? [11:52:33.0396] <Dominic Farolino> hsivonen: Well it would only equal `about:blank` after the navigation is complete/loaded, right? And that's async, as per what I'm observing. [14:08:18.0841] <zcorpan> Domenic: do you know how css module scripts work (in particular if they always create a new `CSSStyleSheet` object)? See https://github.com/w3c/csswg-drafts/issues/7002#issuecomment-1146198613 [15:00:18.0939] <Domenic> > <@zcorpan_:matrix.org> Domenic: do you know how css module scripts work (in particular if they always create a new `CSSStyleSheet` object)? See https://github.com/w3c/csswg-drafts/issues/7002#issuecomment-1146198613 Not off the top of my head, sorry! [15:05:17.0240] <Dominic Farolino> Kiiiinnda looks like they just always do? https://html.spec.whatwg.org/#creating-a-css-module-script [15:06:45.0046] <TabAtkins> it always creates a stylesheet object, but the ES algo it passes that to only uses that value if you haven't already done a css import from that url. If you have it just grabs the existing value. [15:07:52.0861] <TabAtkins> But it remains that all of this work is observable (such as via a proxy on the CSSStyleSheet prototype, I think), whereas JS module creation is *not* observable, so the model used by JS isn't great here. [15:08:02.0491] <TabAtkins> It should accept some default steps, rather than just a default object. [15:18:24.0575] <Jimbo Moyer> Can anyone teach me to crack WiFi 2022-09-16 [09:25:05.0101] <smaug> Is there a way to disable OOPIF in Chrome? (I assume there is at least way to prevent some of it, given the mobile behavior) [09:25:14.0376] <smaug> I would just test something, on desktop [11:01:43.0286] <hacknorris> just a very smol question from an indie "coder" - someone knows either a full source code or css file of **X H T M L** ? cant find in google and wanted to make something similar... [11:02:47.0323] <hacknorris> im just curious how xhtml displays media mostly [11:02:59.0212] <hacknorris> rest i figured out by myself already [11:03:16.0239] <Andreu Botella> the only real difference is the parsing, everything else stays the same [11:03:33.0105] <hacknorris> and i mean - i have mine dtd already [11:03:53.0045] <Andreu Botella> well, if you're not careful with namespaces, you might end up with elements that look like HTML but aren't, and that would end up with a difference in rendering [11:04:02.0413] <hacknorris> is it executing wasm or js do display ? or whut ? [11:04:21.0302] <Andreu Botella> ? [11:04:36.0492] <hacknorris> > <@abotella:igalia.com> well, if you're not careful with namespaces, you might end up with elements that look like HTML but aren't, and that would end up with a difference in rendering no, i made a general tag for media and now i think what i can achieve with css lol [11:04:58.0115] <hacknorris> > <@abotella:igalia.com> ? like an image. pixel-by-pixel [11:05:07.0216] <hacknorris> looks like wasm [11:05:23.0528] <hacknorris> eventually JS [11:05:36.0771] <Andreu Botella> XHTML renders the same as HTML, the only difference is the source is parsed in a different way. [11:05:45.0707] <hacknorris> and i mean source [11:05:58.0950] <hacknorris> i do xml html the reversed way [11:06:07.0891] <Andreu Botella> But if you're not careful with namespaces, you might end up with something like `<p>` that isn't really an HTML `<p>` element and doesn't have the default `display: block` [11:06:10.0911] <hacknorris> like i make xml file displaying in browser [11:06:23.0159] <hacknorris> > <@abotella:igalia.com> But if you're not careful with namespaces, you might end up with something like `<p>` that isn't really an HTML `<p>` element and doesn't have the default `display: block` this i figured [11:06:35.0058] <hacknorris> and i meant - make **alternative** to <img> tag [11:06:43.0161] <hacknorris> * and i meant - make **alternative** to <img> tag [11:07:03.0104] <Andreu Botella> something like that you'd have to do with CSS [11:07:16.0312] <hacknorris> but in css there is no display image afaik [11:08:06.0859] <Andreu Botella> ```css my-namespace|my-image-tag::before { content: image("./image.png"); } ``` [11:08:18.0018] <hacknorris> content supports images ?! [11:08:20.0377] <hacknorris> wtf ?! [11:09:05.0278] <hacknorris> i thought maximum i can achieve was to display thing from data-x="something" instead of title attrib [11:09:44.0505] <hacknorris> > <@abotella:igalia.com> ```css > my-namespace|my-image-tag::before { > content: image("./image.png"); > } > ``` how with user added images like in custom media url ? not a static img ? [11:10:14.0979] <hacknorris> like if i want this : ``` <tag url="./file.png" type="image"> </tag> ``` [11:10:20.0343] <Andreu Botella> I'm not sure right now if you can use attribute values in the CSS image function, or if that's spec'd but not implemented yet [11:10:49.0594] <Andreu Botella> * I'm not sure right now if you can use attribute values in the CSS image function, or if that's spec'd but not implemented yet [11:11:08.0342] <hacknorris> > <@abotella:igalia.com> I'm not sure right now if you can use attribute values in the CSS image function, or if that's spec'd but not implemented yeah, thats why i ask for original xhtml css file [11:11:50.0427] <hacknorris> or even full source code [11:12:11.0168] <hacknorris> for html i found on github already... but this isnt based on xml like mine... [11:14:46.0882] <hacknorris> like this i CAN do : [11:15:42.0870] <hacknorris> but this already cant (over marked in paint) : [11:16:45.0957] <hacknorris> so any ideas? source code of xhtml i beg for ? ;-; [11:18:07.0286] <Andreu Botella> browsers implement `<img>` and various other HTML and SVG elements specially [11:18:27.0505] <Andreu Botella> while there are user agent stylesheets that give you the default stylings, that doesn't cover everything [11:18:32.0509] <hacknorris> > <@abotella:igalia.com> browsers implement `<img>` and various other HTML and SVG elements specially there is no more source for xhtml than dtd file !? [11:18:44.0012] <Andreu Botella> there's the specs [11:18:48.0903] <Andreu Botella> * there's the specs [11:19:02.0389] <hacknorris> ye but for me its just source of xhtml lol [11:20:38.0886] <Andreu Botella> SVG isn't implemented with a CSS source – the browser knows how to render specific SVG elements [11:20:54.0149] <hacknorris> 😰 [11:24:07.0949] <hacknorris> and what with audio and css [11:24:51.0208] <hacknorris> ? [11:25:15.0489] <Andreu Botella> what about it? [11:25:54.0297] <hacknorris> cause css is stylesheet. for me style also should apply to audio but i never saw any css for audio things.. [11:25:57.0424] <hacknorris> only Js [11:26:41.0654] <Andreu Botella> there's CSS properties for audio, but I'm not sure how much they're used [11:26:58.0470] <hacknorris> which ones ? on w3scools never saw [11:28:25.0196] <Andreu Botella> https://w3c.github.io/csswg-drafts/css-speech-1/ [11:29:23.0280] <hacknorris> 🤔 [12:07:12.0174] <hacknorris> e- would it be good to replace 2d art to 3d art in css ? [12:07:18.0313] <hacknorris> * e- would it be good to replace 2d art to 3d art in css ? [12:07:31.0783] <hacknorris> cause i know its just possible.. [16:58:47.0242] <TabAtkins> Yeah, the Speech spec is vaporware, nothing uses it. [16:59:08.0074] <TabAtkins> hacknorris: If you want to do your own images in a webpage, that's what the <canvas> element is for - creating your own images with JS. 2022-09-17 [17:00:09.0632] <TabAtkins> If you want to control how *other* elements are displayed, you're limited to what CSS can do. The *specifics* of all that are in the browser code. Most browsers are open-sourse, so in theory you can read their code, but they're some of the biggest, most complicated programs in the world, so that's probably not very helpful. ^_^ [17:01:04.0249] <TabAtkins> If you just want to know what CSS the browsers use to display the existing elements by default, search for "user agent style sheet" - the browsers use their own CSS file for this, and there are several blog articles examining them. [01:32:13.0304] <hacknorris> > <@tabatkins:matrix.org> If you want to control how *other* elements are displayed, you're limited to what CSS can do. The *specifics* of all that are in the browser code. Most browsers are open-sourse, so in theory you can read their code, but they're some of the biggest, most complicated programs in the world, so that's probably not very helpful. ^_^ once i had idea to make my own webview though... [01:43:26.0003] <hacknorris> ||cause my mobile have broken one lol|| [01:46:57.0687] <hacknorris> > <@tabatkins:matrix.org> Yeah, the Speech spec is vaporware, nothing uses it. does this speech work in firefox? just asking... 2022-09-18 [02:36:37.0463] <hacknorris> my feature request for html - <vr> tag (vertical rule), why doesnt it exist yet ? o.O [06:29:02.0053] <Andreu Botella> is it supposed to fill some semantic role? Because I'm pretty sure if you're writing vertical text (i.e. Chinese, Japanese, Mongolian with CSS `writing-mode: vertical-rl`) you can use `<hr>` and it will render vertical by default [06:29:23.0610] <Andreu Botella> * is it supposed to fill some semantic role? Because I'm pretty sure if you're writing vertical text (i.e. Chinese, Japanese, Mongolian with CSS `writing-mode: vertical-rl`) you can use `<hr>` and it will render vertical by default [06:29:56.0706] <hacknorris> i meant - visible separator, like sections in office... [06:30:21.0024] <Andreu Botella> why not use `<section>`? [06:30:37.0494] <hacknorris> VISIBLE [06:30:41.0089] <hacknorris> a11y? [06:33:32.0629] <Andreu Botella> maybe `<section role="section">`? [06:33:42.0606] <Andreu Botella> and add a border or something with CSS [06:33:52.0591] <hacknorris> CSS, EXACTLY [06:34:00.0429] <hacknorris> hr doesnt need css [06:34:22.0343] <Andreu Botella> https://html.spec.whatwg.org/multipage/rendering.html#the-hr-element-2 [06:34:48.0268] <Andreu Botella> is there any reason you don't want to use CSS? [06:35:06.0918] <hacknorris> i meant for standard, not use [06:35:26.0638] <hacknorris> i know in whih room i talk, yes? [06:36:14.0069] <Andreu Botella> new HTML elements are supposed to fulfill some semantic role not otherwise available [06:36:23.0853] <Andreu Botella> `<section>` seems to fulfill that semantic role, right? [06:36:43.0710] <hacknorris> but its still ot vertical [06:36:45.0887] <Andreu Botella> anything else can be done by developers with ARIA, CSS and maybe some JS [06:37:16.0482] <Andreu Botella> if it's a significant pain point for developers, it can be considered to add it into a standard [06:37:17.0935] <hacknorris> what about my other idea - embedding 3d art ? [06:37:18.0336] <Andreu Botella> but is it? [06:37:33.0992] <hacknorris> > <@hacknorris:mstdn.social> what about my other idea - ebedding 3d art ? ↑↑↑ [06:37:40.0452] <hacknorris> > <@abotella:igalia.com> anything else can be done by developers with ARIA, CSS and maybe some JS * what about my other idea - embedding 3d art ? [06:38:23.0905] <Andreu Botella> can that not be achieved with canvas? [06:38:43.0936] <hacknorris> yes but actually this IS a pain for devs... [06:38:59.0207] <hacknorris> > <@abotella:igalia.com> can that not be achieved with canvas? even with css but as i said - pain for dev [06:39:49.0186] <Andreu Botella> even with JS libraries that build on top of webGL or webGPU? [06:40:02.0624] <Andreu Botella> I don't know that much about 3D content, sorry [06:40:08.0674] <hacknorris> obj files [06:40:34.0667] <hacknorris> smh svg have its own html tag but 3d art doesnt have ? [06:41:40.0120] <Andreu Botella> SVG goes back to the 90s and I think including it into HTML syntax comes back to the legacy of XHTML [06:41:46.0525] <Andreu Botella> or something like that [06:41:59.0318] <Andreu Botella> that's not to say that something like that would not be accepted today [06:42:00.0756] <hacknorris> moment [06:47:34.0747] <Andreu Botella> does anyone know if WPT has tests for `<br>` and `<wbr>`? [06:48:36.0285] <Andreu Botella> I mean, I'm sure `<br>` has to be used in a bunch of the text tests, but I'm wondering if any test that, say, `all: initial` on a br still triggers a forced line break, which does seem to be interoperable across browsers [06:50:12.0175] <Andreu Botella> the talk about elements being special-cased by the layout engine rather than having a CSS-based rendering made me think of that [06:50:22.0860] <Andreu Botella> * the talk about elements being special-cased by the layout engine rather than having a CSS-based rendering made me think of that [06:50:44.0319] <hacknorris> like there is vertical and horizontal tab [06:50:57.0649] <hacknorris> why there is no vertical and horizontal rule ? [06:51:35.0478] <Andreu Botella> you mean the Unicode / ASCII characters for vertical and horizontal tab? [06:51:59.0461] <Andreu Botella> why are those relevant to HTML elements? [06:52:54.0105] <hacknorris> if there is hirizontal should be also vertical [06:52:59.0226] <hacknorris> *horizontal [06:53:39.0592] <Andreu Botella> "hr" historically means "horizontal rule", but the semantics of that element are now defined in terms of section breaks [06:53:50.0757] <Andreu Botella> you can style it as a more bookish section break [06:54:02.0013] <Andreu Botella> and in vertical writing modes (for vertical writing systems), it renders vertical by default [06:54:31.0572] <Andreu Botella> * and in vertical writing modes (for vertical writing systems), it renders vertical by default [06:54:51.0312] <Andreu Botella> * "hr" historically means "horizontal rule", but the semantics of that element are now defined in terms of section breaks [07:03:58.0463] <Andreu Botella> https://people.igalia.com/abotella/pub/vertical-hr.html [07:04:33.0826] <hacknorris> what if someone writes from left to right ? [07:05:57.0190] <Andreu Botella> for left-to-right top-to-bottom writing systems like the Latin alphabet, the regular `display: block` paragraph flow goes from top to bottom, so where would you put a vertical rule? [07:06:33.0545] <hacknorris> to make it like in office sections? x fields to write text in ? [07:10:14.0244] <Andreu Botella> the only thing I seem to be getting when I search for "office sections" is page breaks: https://support.microsoft.com/en-us/office/insert-a-section-break-eef20fd8-e38c-4ba6-a027-e503bdf8375c [07:10:34.0449] <Andreu Botella> * the only thing I seem to be getting when I search for "office sections" is page breaks: https://support.microsoft.com/en-us/office/insert-a-section-break-eef20fd8-e38c-4ba6-a027-e503bdf8375c 2022-09-19 [23:33:49.0592] <hacknorris> Like that but vertical. Splitting dom into x parts vertically [23:36:44.0419] <hacknorris> Visually too [23:43:11.0158] <hacknorris> Im forking xhtml anyways... [05:07:05.0999] <hsivonen> > <@domfarolino:matrix.org> hsivonen: Well it would only equal `about:blank` after the navigation is complete/loaded, right? And that's async, as per what I'm observing. It's possible that the key thing is the time when `window.location` updates: start of parse vs. end of parse. 2022-09-20 [23:16:19.0461] <smaug> Domenic: curious, how are you reviewing the session history rewrite, I mean using what kinds of tools? [01:17:55.0656] <hsivonen> I found another Chromium-originating WPT that assumes that on non-initial about:blank, `location.href == "about:blank"` implies that the `about:blank` DOM has been built. Still no idea if this is a thing test authors assume or a thing that Web authors also assume. [01:18:28.0248] <hsivonen> * I found another Chromium-originating WPT that assumes that on non-initial about:blank, `location.href == "about:blank"` implies that the `about:blank` DOM has been built. Still no idea if this is a thing test authors assume or a thing that Web authors also assume. [01:18:56.0022] <hsivonen> > <@hsivonen:mozilla.org> I found another Chromium-originating WPT that assumes that on non-initial about:blank, `location.href == "about:blank"` implies that the `about:blank` DOM has been built. Still no idea if this is a thing test authors assume or a thing that Web authors also assume. https://github.com/web-platform-tests/wpt/blob/master/content-security-policy/inheritance/window-open-local-after-network-scheme.sub.html [01:21:44.0509] <hsivonen> > <@hsivonen:mozilla.org> https://github.com/web-platform-tests/wpt/blob/master/content-security-policy/inheritance/window-open-local-after-network-scheme.sub.html The spec sure reads to me like the URL of the `Location` object should update when a new `Document` is created by the parse as opposed to being deferred to the end of the parse: https://html.spec.whatwg.org/#concept-location-url [01:42:17.0732] <hsivonen> Hmm. Chromium seems to force synchronous HTML parsing for `javascript:` URLs. Is there a justification for that? (Gecko doesn't do that.) [01:49:56.0394] <hsivonen> I suspect Chromium's implementation of how about:blank URLs result in a (zero-length) stream of data might have the side effect of the HTML tokenizer getting pumped to EOF in the same task that creates the `Document` object. Is that the case, Yoav Weiss ? [01:51:40.0917] <hsivonen> My current patch removes the remains of the Netscape-era HTML parser that we were using for `about:blank` only, but it looks a lot like I might have to re-introduce an `about:blank`-specific parser or parse mode for non-initial `about:blank` if Web sites assume what Chromium-originating WPTs assume. :-( [01:55:35.0194] <hsivonen> Are extensions in Chromium allowed to cause an asynchronicity point in HTML tree building of a from-stream-parsed document? That is, do the WPT assumption of non-initial `about:blank` element nodes getting created in the same task as the document hold if Chromium instances that have arbitrary extensions installed? [02:02:41.0194] <hsivonen> I guess I'm going to implement a special `about:blank` mode for the main HTML parser in Gecko and see what happens with WPTs. I think this is sad. [03:08:55.0170] <Domenic> > <@smaug:mozilla.org> Domenic: curious, how are you reviewing the session history rewrite, I mean using what kinds of tools? html-build and git, I guess? [03:12:50.0152] <smaug> Just wondering if there is something good for such a massive patch [05:27:02.0650] <hsivonen> > <@hsivonen:mozilla.org> I guess I'm going to implement a special `about:blank` mode for the main HTML parser in Gecko and see what happens with WPTs. I think this is sad. Filed as https://github.com/whatwg/html/issues/8299 [05:28:17.0031] <hsivonen> (Hmm. Somehow, GitHub didn't offer me the issue template for that one.) [07:13:36.0555] <annevk> We only have a template for PRs. [08:50:38.0319] <hsivonen> Jake Archibald: What are the navigation behaviors that are interoperable but "too wrong to put in the spec"? [08:51:07.0996] <hacknorris> i would want too [08:53:58.0826] <Jake Archibald> hsivonen: https://github.com/whatwg/html/issues/8273 is one. Also this one https://youtu.be/W6lvQvdeF8U?t=793, although we fixed that in Chrome [09:04:18.0254] <hsivonen> > <@jakea:matrix.org> hsivonen: https://github.com/whatwg/html/issues/8273 is one. Also this one https://youtu.be/W6lvQvdeF8U?t=793, although we fixed that in Chrome Thanks [13:18:39.0779] <jgraham> So WebDriver-BiDi wants to inject some scripts that run before any other script on the page (maybe before any DOM is constructed? That would be more deterministic, but maybe unnecessary if it's hard). I'm not sure quite where the right place to execute those scripts is in terms of the HTML spec. Can I do it right after the environment settings object for the new Window is created (i.e. after 6.9 in https://html.spec.whatwg.org/#initialise-the-document-object) or should I be looking elsewhere? 2022-09-21 [23:52:27.0383] <annevk> jgraham: in theory that sounds kinda reasonable [23:56:19.0738] <hacknorris> Same as 3d art html tag [01:42:20.0910] <hacknorris> For .obj files [01:42:21.0593] <hacknorris> Ofc [01:44:21.0894] <hacknorris> Like <3d src="file.obj" texture="file.png"> (text if browser doesnt support) </3d> [01:45:01.0993] <hacknorris> * Like <3d src="file.obj" texture="file.png"> (text if browser doesnt support) </3d> [01:45:46.0751] <hacknorris> Flash dead so better [01:51:20.0647] <zcorpan> > <@abotella:igalia.com> does anyone know if WPT has tests for `<br>` and `<wbr>`? see https://github.com/whatwg/html/issues/2291 and back references listed there, looks like at least a couple of relevant tests (but the tests might be wrong) [01:53:01.0738] <zcorpan> hacknorris: https://github.com/immersive-web/model-element/blob/main/explainer.md might be of interest [02:05:27.0405] <hacknorris> 👀 whut? [02:53:51.0277] <annevk> TabAtkins: if you could look at https://github.com/whatwg/webidl/issues/1195 with some urgency that would be appreciated (only working hours though!) [06:47:49.0064] <hsivonen> It looks like the spec, Blink, and WebKit think that `window.stop()` should prevent `DOMContentLoaded` from firing. Gecko fires it. I can find only on WPT that tests this and that expect the Gecko behavior. Am I missing something or have I found a basic interop issue that has remarkably little spec-based WPT coverage? [07:41:22.0918] <annevk> hsivonen: it would not surprise me if that was from the Hixie era [07:43:24.0903] <annevk> It does look somewhat nicely factored, so it might have gotten updated without all corner cases being tested (and in particular how it interacts with the parser might well have been overlooked) [07:48:49.0527] <annevk> hsivonen: https://github.com/whatwg/html/commit/f67b46d376b2bbd61096130293c675c9c75cd0b7 is the only recent change I can find, everything else seems to point to 2010-2013, but I didn't do blame analysis, just git log --grep [07:52:27.0767] <hsivonen> > <@annevk:matrix.org> hsivonen: https://github.com/whatwg/html/commit/f67b46d376b2bbd61096130293c675c9c75cd0b7 is the only recent change I can find, everything else seems to point to 2010-2013, but I didn't do blame analysis, just git log --grep Thanks. 2022-09-22 [18:55:22.0330] <jugglinmike> TabAtkins: To test support for specific counter-style names of CSS's `list-style-type` property, I'm thinking that you'd need a visual reference test (since it's supposed to use "decimal" without computing to "decimal" for unrecognized values https://w3c.github.io/csswg-drafts/css-counter-styles-3/#typedef-counter-style). Does that sound right to you? [21:36:48.0025] <TabAtkins> Yeah, likely. The various built-ins aren't different enough in width to be reliable detectable that way. [00:22:32.0543] <hacknorris> Idk if its correct place but someone knows any holes in sms protocol? Dm me cause yk... [00:24:26.0048] <hacknorris> Best would be rce i think... [09:29:20.0470] <jugglinmike> > <@tabatkins:matrix.org> Yeah, likely. The various built-ins aren't different enough in width to be reliable detectable that way. Thanks! [10:37:30.0154] <Andreu Botella> annevk: isn't there a "with" missing in https://github.com/whatwg/html/pull/8309 ? [10:40:36.0914] <annevk> Andreu Botella: ouch, I'll PR [10:42:13.0624] <hacknorris> can i here ask normal coding question or is it too much offtopic ? [10:44:46.0781] <annevk> hacknorris: that's fine, you might not always get a reply though :-) [10:44:53.0977] <hacknorris> ok, about css [10:45:02.0239] <hacknorris> cause i make a website [10:45:03.0681] <annevk> Andreu Botella: https://github.com/whatwg/html/pull/8311 [10:45:40.0628] <hacknorris> and i have image slideshow with 6 pics of cats. but after once its displayed only part stays looped [10:46:48.0537] <hacknorris> here is page on my local server : http://89.76.123.229:8000/dumm.html [10:47:09.0505] <hacknorris> if ya delete /dumm.html you get ftp server with source of everything hosted [10:47:28.0433] <hacknorris> or alt+shift+s or how it goes [10:47:31.0603] <hacknorris> * or alt+shift+s or how it goes [10:49:34.0354] <hacknorris> any ideas to properly loooop? [10:49:45.0568] <hacknorris> without later-missing images? [10:59:00.0418] <hacknorris> like all 6 appears normally, first loop ends, then one appears normally, then one for millisecond and repeat 3 times from (then one appears), then repeat previous things (from then one appears) infinite [10:59:56.0356] <hacknorris> * like all 6 appears normally, first loop ends, then one appears normally, then one for millisecond and repeat 3 times from (then one appears), then repeat previous things (from then one appears) infinite [11:00:29.0262] <hacknorris> moment [11:00:44.0073] <hacknorris> i'll draw sheme of this bug [11:02:26.0111] <hacknorris> *or code [11:04:16.0774] <hacknorris> ``` draw.picture.1(); draw.picture.2(); draw.picture.3(); draw.picture.4(); draw.picture.5(); draw.picture.6(); while (1) { draw.picture.1(); draw.picture.2(); draw.picture.3(); draw.picture.4(); }; ``` [11:04:37.0833] <hacknorris> like this above. code of page you need to scroll more to top ;p [11:04:57.0374] <hacknorris> http://89.76.123.229:8000/dumm.html this and view source [11:05:08.0722] <hacknorris> * like this above. code of page below [11:05:22.0282] <hacknorris> someone ? [11:24:09.0248] <hacknorris> hmm? [12:56:04.0711] <TabAtkins> annevk: hacknorris is asking for help with illegal activity; go ahead and ban them (I've reported their account) [13:11:24.0443] <jugglinmike> TabAtkins: What about using something like `<ol start="1234567890">` ? How confident would you be that any arbitrary counter-style would render at a different width from decimal for a large number like that? [13:15:39.0533] <TabAtkins> hmmmm, actually not sure. [13:17:27.0651] <TabAtkins> jugglinmike: One issue is that not all query styles are defined out to that value (roman, hebrew, etc) [13:18:03.0756] <jugglinmike> Ah, good point [13:19:13.0022] <jugglinmike> I have a reliable test using @counter-style, but that's of limited use since Safari hasn't implemented @counter-style yet [13:23:57.0580] <jugglinmike> But actually, if it's the implementation of @counter-style that causes `CSS.supports` to return `true` for all values, then maybe I can just combine those heuristics in one test 2022-09-23 [22:04:44.0093] <sideshowbarker> Looking at https://github.com/mdn/content/pull/21001 [22:05:51.0225] <sideshowbarker> As far as I understand, an `error` event isn’t cancelable unless it’s initialized/fired with its `cancelable` attribute explicitly set to true. [22:10:38.0778] <hacknorris> > <@tabatkins:matrix.org> annevk: hacknorris is asking for help with illegal activity; go ahead and ban them (I've reported their account) And just because of an asshole i need to leave programming forever... [22:15:08.0695] <hacknorris> * And just because of an asshole with 6 hour network delay i need to leave programming forever... [22:26:21.0970] <sideshowbarker> About the `error` event, see the change in that PR, in particular this part: https://pr21001.content.dev.mdn.mozit.cloud/en-US/docs/Web/API/Window/error_event#usage_notes > Unlike other events, the `error` event is canceled by returning `true` from the handler instead of returning `false`. When canceled, the error won't appear in the console, but the current script will still stop executing. Is that behavior defined in the spec somewhere? And is that different from the event being “cancelable”? [22:28:45.0716] <sideshowbarker> ah, in https://html.spec.whatwg.org/multipage/webappapis.html#runtime-script-errors I guess [00:42:19.0078] <Yoav Weiss> hsivonen: just saw your question from Tuesday.. :/ mfreed would likely know [00:47:32.0510] <hsivonen> > <@yoavweiss:matrix.org> hsivonen: just saw your question from Tuesday.. :/ mfreed would likely know I'm assuming that non-initial about:blank being interoperably unlike http URLs in its DOM construction means that it's too risky to make it behave like http URLs in relation to the event loop. [00:48:40.0568] <hacknorris> Btw. Today already someone knows answer to this my yesterday question about css? [01:09:32.0859] <freddy> hacknorris: I believe you are in the wrong room. [01:11:21.0274] <hacknorris> Means? [01:15:02.0297] <hacknorris> annevk: clearly said i can ask about css... [01:20:31.0328] <annevk> I had overlooked that earlier message... Thanks for calling it out TabAtkins [02:06:21.0191] <annevk> For the first time in five years or so the SG repository has no outstanding PRs! (Not a challenge.) [07:57:46.0551] <Sgeo> What is the purpose of the x-user-defined encoding? I'm curious if it's in the spec only because it used to be used as a way to download binary files ( https://stackoverflow.com/questions/6986789/why-are-some-bytes-prefixed-with-0xf7-when-using-charset-x-user-defined-with-xm ) ( https://web.archive.org/web/20070612091315/http://mgran.blogspot.com/ ). [07:59:59.0159] <Ms2ger 💉💉> hysterical raisins [08:04:17.0716] <Sgeo> "Return a code point whose value is 0xF780 + byte − 0x80.".... is there a reason it doesn't just say 0xF700 + byte? [08:24:34.0589] <annevk> Sgeo: the idea is to make it clear the code point will start at 0xF780 as byte will be at least 0x80 [08:26:51.0258] <annevk> evilpie: FYI, it seems you did make a push on August 8 for https://github.com/whatwg/fetch/pull/1463 but it did not include the fix for using the wrong field on request 2022-09-24 [22:36:14.0595] <sideshowbarker> About the `SpeechRecognition` (`webkitSpeechRecognition`) part of the Web Speech API: As far as I can tell, there’s no way to programatically determine what languages the browser recognizes/supports for speech input/recognition? In comparison, for the TTS part of the API, I know I can do `window.speechSynthesis.getVoices()` to get an array of the supported voices/languages — but there’s no similar method or property for `SpeechRecognition`. But I wonder if there might be some browser-specific ways to get the supported languages back from Chrome and Safari. [22:39:52.0446] <sideshowbarker> I’m also wondering exactly how the speech recognition part of the API works in Chrome and Safari. I’ve gleaned that in Chrome it seems to rely on the browser calling out to some remote Google speech-recognition service. But in the Safari case it seems to be using some built-in macOS speech-recognition platform feature. But… what exactly? And does Edge rely on the same remote Google speech-recognition service that Chrome does? [22:40:36.0465] <sideshowbarker> Asking in the context of trying to provide some better documentation in MDN about how `SpeechRecognition` actually works. [22:40:58.0265] <sideshowbarker> * About the `SpeechRecognition` (`webkitSpeechRecognition`) part of the Web Speech API: As far as I can tell, there’s no way to programatically determine what languages the browser recognizes/supports for speech input/recognition, right? In comparison, for the TTS part of the API, I know I can do `window.speechSynthesis.getVoices()` to get an array of the supported voices/languages — but there’s no similar method or property for `SpeechRecognition`. But I wonder if there might be some browser-specific ways to get the supported languages back from Chrome and Safari. [01:04:16.0623] <annevk> For a while "good first issue" yielded mostly good results, but now it just seems like an endless stream of requests for getting assigned to an issue. Maybe we should go back to a different label (e.g., "beginner") and just outline some instructions for beginners in the README (or through a pointer from there)? [01:05:36.0903] <annevk> I suppose we could try to outline some clearer instructions first, but I've the feeling the label contributes due to dedicated GitHub support. [02:23:22.0856] <sideshowbarker> Help/comments welcome at https://github.com/mdn/content/issues/20730 The OP asserts _“`preventDefault()` doesn't work in Chrome”_ and objects to MDN marking the `returnValue` property of `Event` as deprecated “despite it being the only working feature across all browsers”. [03:42:29.0736] <Domenic> > <@sideshowbarker:matrix.org> Help/comments welcome at https://github.com/mdn/content/issues/20730 > > The OP asserts _“`preventDefault()` doesn't work in Chrome”_ and objects to MDN marking the `returnValue` property of `Event` as deprecated “despite it being the only working feature across all browsers”. Seems just... wrong? Ask them to provide proof. [04:03:53.0784] <sideshowbarker> > <@domenicdenicola:matrix.org> Seems just... wrong? Ask them to provide proof. Yeah I guess I should do that, but I'm reluctant to engage with the OP at all, since this seems like a type where there's no possible resolution for their issue that they're going to end up being satisfied with [04:09:13.0207] <Domenic> Yeah that's fair [04:09:26.0254] <Domenic> I mean there's a slight chance they'll test it, realize they're wrong, and be graceful about it. [05:06:16.0345] <annevk> Oh Element (Matrix?) both has a "reply" and a "reply in thread (beta)" feature. Why aren't these one feature. [05:06:34.0843] <annevk> * Oh Element (Matrix?) both has a "reply" and a "reply in thread (beta)" feature. Why aren't these one feature. 2022-09-25 [23:38:53.0499] <Domenic> Everyone's doing "threads" these days which are like little mini separate chatrooms... I hate them. [02:05:55.0836] <Rohaan Alam> Hi Everyone, I am new here and have good knowledge in js, Node, C#, web socket and socket.io if need anyhelp in the project can let me know. Also just to let everyone know that I am the owner of AETSM Soft. A software house which is developing Web, Mobile and desktop applications and Machine Learning Models and trainers. I dont know where to star so any help will be useful. Thanks :) [09:31:16.0301] <jgraham> Eh, I think threads allow you to have a deep technical discussion about a single topic whilst still making the top-level chat understandable, particuarly for people who aren't participating in that dicussion. The implementation in Element is a bit different to slack, because you still get unread markers for threads, but also the implementation is pretty broken (messages you've previously read seem to get randomly marked as unread, the "all threads" view can be missing some threads etc.) 2022-09-26 [00:52:36.0922] <Domenic> Thoughts welcome on https://github.com/whatwg/html/issues/8321 [02:19:20.0683] <sideshowbarker> hsivonen: r? https://github.com/validator/htmlparser/pull/73 [02:35:20.0827] <hsivonen> > <@sideshowbarker:matrix.org> hsivonen: r? https://github.com/validator/htmlparser/pull/73 That's rather dramatic text considering the reason why `/>` was made into a non-error in the first place. I see that this builds on polyglot checking from 2009. Is there presently UI for this stuff (as opposed to appending parameters to the URL manually)? [02:36:38.0225] <hsivonen> > <@hsivonen:mozilla.org> That's rather dramatic text considering the reason why `/>` was made into a non-error in the first place. I see that this builds on polyglot checking from 2009. Is there presently UI for this stuff (as opposed to appending parameters to the URL manually)? Is the goal of `html-strict` documented somewhere? [02:39:50.0777] <sideshowbarker> > <@hsivonen:mozilla.org> That's rather dramatic text considering the reason why `/>` was made into a non-error in the first place. I see that this builds on polyglot checking from 2009. Is there presently UI for this stuff (as opposed to appending parameters to the URL manually)? There’s no UI for it. For the HTML checker, I plan to add a new off-by-default build-time flag, and enable it for the W3C service. [02:40:28.0113] <sideshowbarker> The context is https://github.com/prettier/prettier/issues/5246 [02:42:13.0744] <sideshowbarker> Summary: When formatting HTML, Prettier changes all void elements to have self-closing tag syntax — **without any option to make it not do that,** despite an issue asking for such an option being open for 3 years, and having 231 thumbs-ups [02:46:26.0024] <sideshowbarker> > <@hsivonen:mozilla.org> Is the goal of `html-strict` documented somewhere? I guess I could write up an extension spec for it. But the goal is basically to warn people using Prettier or other tools that do this to their HTML markup that such tools are doing something that’s a widely-discouraged antipattern bad practice. [02:47:21.0370] <sideshowbarker> see, e.g., https://google.github.io/styleguide/htmlcssguide.html#Document_Type > Although fine with HTML, do not close void elements, i.e. write `<br>`, not `<br />`. [02:48:18.0146] <hsivonen> > <@sideshowbarker:matrix.org> Summary: When formatting HTML, Prettier changes all void elements to have self-closing tag syntax — **without any option to make it not do that,** despite an issue asking for such an option being open for 3 years, and having 231 thumbs-ups So this is about winning a GitHub argument by serving the comment from the W3C validator? How does one enable the `html-strict` profile there? [02:48:33.0219] <hsivonen> Was Jake Archibald 's Twitter poll also subtweeting that GitHub issue? [02:49:10.0305] <sideshowbarker> I didn’t see Jake’s twitter poll, but it’s certainly not about winning a GitHub argument. [02:49:19.0804] <sideshowbarker> It’s about helping users of the HTML checker. [02:50:14.0987] <Jake Archibald> https://twitter.com/jaffathecake/status/1565315346516611072?t=LW39uwh0Vu6ZwlKub7twUw&s=19 [02:50:55.0527] <sideshowbarker> The point is that without getting any kind of warning about it, users might assume that because Prettier does it, it must be some kind of best practice, and then they start preemptively using self-closing tag syntax everywhere. [02:51:45.0078] <sideshowbarker> Basically that Prettier behavior risks imposing a kind of cargo-cult mentality among users [02:52:04.0194] <sideshowbarker> > <@jakea:matrix.org> https://twitter.com/jaffathecake/status/1565315346516611072?t=LW39uwh0Vu6ZwlKub7twUw&s=19 Thanks, looking now [02:53:25.0672] <sideshowbarker> so 62% like self-closing tag syntax. That’s pretty disappointing. I wonder if it would be possible to figure why so many people prefer it. [02:54:07.0969] <Jake Archibald> Pretty sure it's JSX [02:54:18.0106] <sideshowbarker> aha [02:54:39.0701] <sideshowbarker> pretty disheartening [02:55:11.0897] <Jake Archibald> Agreed [02:55:56.0525] <Jake Archibald> Although, I wouldn't mind if self-closing worked on all elements [02:55:57.0187] <sideshowbarker> This kind of makes me feel even more inclined to have the W3C HTML checker start emitting warnings for it [02:59:28.0028] <annevk> If only all browsers put some months into XML5 [02:59:28.0608] <sideshowbarker> > <@jakea:matrix.org> Although, I wouldn't mind if self-closing worked on all elements We should do a twitter poll asking browser-project parser implementors when they might ever be interested in implement support for that… Pretty sure “When hell freezes over” would get the most votes 😆 [03:02:15.0283] <hsivonen> So how does one enable the `html-strict` profile? [03:02:30.0323] <sideshowbarker> I wonder why it is that JSX requires self-closing syntax for void elements. I can’t possibly be using an XML parser? Does it also require other XML-isms? e.g., does it require attribute values to be quoted? [03:03:16.0708] <sideshowbarker> > <@hsivonen:mozilla.org> After reading all comments on the GitHub issue, I'm more sympathetic to the change. Still, I wonder if a message with the general sentiment of "This is a useless no-op that gives people the misconception that it's meaningful." would be better than calling out Prettier by name. (Though after reading all the comments, I can understand why you'd call out Prettier by name.) OK — I can update the message to make it less specific [03:04:26.0939] <hsivonen> On a related note: I wonder what the present level of demand is for a mode that emits notes about implied tags. I've had that on my mental TODO list since XTech 2007 or 2008. [03:04:57.0292] <annevk> sideshowbarker: JSX is very XML-like as I understand it, but it allows some HTMLisms around attribute syntax iirc. [03:08:07.0130] <sideshowbarker> > <@hsivonen:mozilla.org> So how does one enable the `html-strict` profile? When calling the parser code, by doing `HashMap<String, String> profileMap = new HashMap<>(); profileMap.put("html-strict", "warn"); htmlParser.setErrorProfile(profileMap);` As far as the HTML checker code, I guess I’d have a build-time option that sets a boolean Java system property (which if it’s true, calls into the parser code as above). [03:09:29.0654] <sideshowbarker> > <@annevk:matrix.org> sideshowbarker: JSX is very XML-like as I understand it, but it allows some HTMLisms around attribute syntax iirc. I guess my next question would be _why_ is it XML-like and does it really need to be. But I guess that just takes me further down the rabbit hole… [03:10:38.0881] <sideshowbarker> I really don’t like the arbitrary whims of tool maintainers ending up controlling how users have to mark up their HTML just to make the tools happy [03:12:36.0424] <sideshowbarker> Web developers/authors should be able to just use any HTML markup that conforms to the requirements in HTML spec, and tools should accept that without choking/failing on it or corrupting/mangling it [03:29:23.0740] <sideshowbarker> > <@hsivonen:mozilla.org> Perhaps the note could also say that the slash interacts badly with other HTML features and is discouraged for that reason as well. (Specifically, it interacts badly with unquoted attribute values. Prettier deals with this by adding the Netscape 4 space, but that already shows how Prettier has created a problem for itself.) Proposed wording: > Self-closing tag syntax in text/html documents is unnecessary and widely discouraged. It interacts badly with other HTML features (e.g., unquoted attribute values). If you’re using a tool that injects self-closing tag syntax into all void elements, without any option to prevent it from doing so, or a system that’s unable to process HTML content containing void elements that don’t use self-closing tag syntax, then consider switching to a different tool or system. [03:32:36.0321] <sideshowbarker> > <@hsivonen:mozilla.org> On a related note: I wonder what the present level of demand is for a mode that emits notes about implied tags. I've had that on my mental TODO list since XTech 2007 or 2008. I think that would pretty helpful to developers. I say that based on my experience from getting reports from users in the issue tracker for the HTML checker and on the www-validator list where the users don’t understand about implied tags [03:33:24.0073] <annevk> I am somewhat thankful that I care a lot less about this these days. Is `<br />` ugly? Yes. Do I flinch when I see it? Maybe. Do I care? Meh. But more power to you all for keeping the dream alive! 😀 [03:33:36.0903] <sideshowbarker> heh [03:35:35.0122] <sideshowbarker> One big specific reason I care about this is https://github.com/mdn/content/issues/20523 [03:40:13.0038] <sideshowbarker> Summary: The MDN project recently starting running all HTML snippets through Prettier. But somebody noticed that: - Prettier changed all the void elements to use self-closing tag syntax - But the MDN project has a long-standing code style guideline that says, _“Don't include XHTML-style trailing slashes for empty elements because they're unnecessary”_, so the Prettier behavior conflicts that Unfortunately, the resolution to the issue was to silently remove that _“Don't include XHTML-style trailing slashes for empty elements because they're unnecessary”_ style guideline. And the ultimate outcome of this is that, at this point or at least going forward, **every single HTML snippet in MDN that has void elements now uses self-closing tag syntax** [03:42:07.0027] <sideshowbarker> …and because of all that, another likely outcome is that web developers/authors start saying/thinking, _“Well, MDN using self-closing tag syntax in all its HTML examples, so that must mean it’s a best practice and I (you) should always use self-closing tag syntax too.”_ [03:42:43.0062] <sideshowbarker> …because if it weren’t a best practice, then MDN wouldn’t be doing it, right? [03:45:13.0290] <sideshowbarker> But the reality is that the reason MDN is using it is because it was decided that it would be a good idea to run all HTML snippets in MDN through Prettier — and because of shortcomings in Prettier, that necessarily means having self-closing tag syntax everywhere. [05:05:21.0677] <hsivonen> > <@sideshowbarker:matrix.org> One big specific reason I care about this is https://github.com/mdn/content/issues/20523 Oh wow. That's so sad that I got baited into commenting: https://github.com/mdn/content/pull/20528 [05:09:04.0409] <sideshowbarker> > <@hsivonen:mozilla.org> Oh wow. That's so sad that I got baited into commenting: https://github.com/mdn/content/pull/20528 Great comment — thanks for doing that [05:09:12.0599] <hsivonen> > <@sideshowbarker:matrix.org> Proposed wording: > > Self-closing tag syntax in text/html documents is unnecessary and widely discouraged. It interacts badly with other HTML features (e.g., unquoted attribute values). If you’re using a tool that injects self-closing tag syntax into all void elements, without any option to prevent it from doing so, or a system that’s unable to process HTML content containing void elements that don’t use self-closing tag syntax, then consider switching to a different tool or system. Striking "or a system that’s unable to process HTML content containing void elements that don’t use self-closing tag syntax" (and then "or system") would still make the point while making the message shorter. Anyway, r+ in the sense that I don't want to prevent you from deploying a note on the W3C instance. (I still find it sad that something like Prettier is so contrary to the purpose of this aspect of the spec.) [05:10:03.0802] <sideshowbarker> OK, thanks, yeah it’s a relatively long message so dropping that part will help [05:58:49.0078] <hsivonen> > <@hsivonen:mozilla.org> Aside: VS Code syntax highlights the slash incorrectly in combination of an unquoted attribute value. Filed as https://github.com/microsoft/vscode/issues/161764 [06:03:09.0525] <aja> fwiw, i'm still in habit of polyglot served as xml on my local test systems, but served as text/html in production. [06:39:55.0657] <Ms2ger 💉💉> last polyglot standing, huh [06:46:53.0760] <aja> "pretty" much :) [06:50:03.0394] <aja> * "pretty" much :) [07:41:26.0184] <Jake Archibald> Has anyone tried talking to Prettier about this? As in, 'official' HTML folks [10:35:27.0837] <annevk> Jake Archibald: I read through https://github.com/prettier/prettier/issues/5246 and I can kinda see why they go this way if they a) don't like options and b) want JSX compat [10:36:36.0792] <annevk> I think the problem here is really MDN using Prettier for examples. At least in the WHATWG we wouldn't do that kind of thing for specs since we want specs to show a variety of styles (although I suspect that most end up matching the preferences of their authors) [11:04:25.0406] <Jake Archibald> Yeah, I don't have a strong opinion here. I don't see much point in />, but I use Prettier for my blog [12:50:08.0484] <networkException> I'm struggling to get [8.1.5.5.3 HostResolveImportedModule(referencingScriptOrModule, moduleRequest)](https://html.spec.whatwg.org/multipage/webappapis.html#hostresolveimportedmodule(referencingscriptormodule,-modulerequest)) working properly: Who's in charge of setting [[[HostDefined]]](https://html.spec.whatwg.org/multipage/webappapis.html#concept-realm-settings-object) on the current Realm record to a settings object, aka the [current settings object](https://html.spec.whatwg.org/multipage/webappapis.html#current)? As far as I can tell the spec only defines setting [[HostDefined]] to a settings object [when setting up a window environment settings object](https://html.spec.whatwg.org/#set-up-a-window-environment-settings-object) (ignoring workers for now). All places ([create a new browsing context](https://html.spec.whatwg.org/#creating-a-new-browsing-context) and [create and initialize a Document object](https://html.spec.whatwg.org/#initialise-the-document-object)) that run the window environment settings object setup steps do so with an *execution context* that has been removed from the execution context stack by [create a new JavaScript realm](https://html.spec.whatwg.org/#creating-a-new-javascript-realm) - as such there doesn't seem to be a way the window settings object can ever become the current settings object. Am I missing some implied logic here? 2022-09-27 [18:08:19.0244] <khafra> With fetch, an implementation is supposed to throw an AbortError DOMException when consuming the body if the signal passed to fetch is aborted, however I'm unsure which part of the spec covers this. Does anyone know where this comes from? Thanks, would be super helpful ```js const ac = new AbortController() const { signal } = ac const response = await fetch('https://example.com', { signal: signal }) ac.abort() await response.text() ``` [18:16:56.0472] <Domenic> > <@khafra:matrix.org> With fetch, an implementation is supposed to throw an AbortError DOMException when consuming the body if the signal passed to fetch is aborted, however I'm unsure which part of the spec covers this. Does anyone know where this comes from? Thanks, would be super helpful > ```js > const ac = new AbortController() > const { signal } = ac > > const response = await fetch('https://example.com', { > signal: signal > }) > > ac.abort() > > await response.text() > ``` https://fetch.spec.whatwg.org/#abort-fetch [18:18:28.0522] <Domenic> step 6 [20:20:37.0613] <khafra> thanks, had an issue where the error was getting swallowed. Got it sorted out now :) [22:58:23.0803] <hsivonen> > <@hsivonen:mozilla.org> Filed as https://github.com/microsoft/vscode/issues/161764 Well, that wasn't particularly successful. [01:36:07.0130] <johannhof> It really feels like specs are extremely inconsistent in which error to throw when some common condition such as not "allowed to use", non-fully active document or missing user activation is checked. [01:38:23.0399] <annevk> In part it's because web developers don't branch on exception types and JavaScript doesn't really encourage that kind of programming either. [01:39:39.0261] <annevk> So my recommendation is to just `TypeError` most things. Now, `AbortSignal` has changed things a bit so if the API takes a signal perhaps some non-"`AbortError`" `DOMException` makes sense. [01:41:04.0087] <johannhof> So, if, say, ~70% of precedent is "NotAllowedError" and 30% are something else including TypeError, should we still use TypeError? [01:41:11.0454] <annevk> (Also, nobody would fault you for making this consistent. You might even get some applause.) [01:41:23.0380] <johannhof> Or does precedent with other specs matter at all here? [01:42:19.0171] <johannhof> Yeah I was thinking of just going around sending PRs to make things consistent but really don't want to deal with the compat fallout :D Are you saying there's likely not that much breakage as developers don't branch on types anyway? [01:43:32.0021] <annevk> Historically it's been pretty easy to change exceptions around, yeah. I think you're right that simpler advice would be welcome here, but I'm not immediately sure where it would go. Web IDL or the TAG's document on APIs I suppose. [01:45:31.0840] <annevk> E.g., https://www.w3.org/TR/DOM-Level-2/range.html#RangeException was a thing. [01:47:42.0153] <sideshowbarker> hsivonen: https://lists.w3.org/Archives/Public/www-validator/2022Sep/0012.html I have the self-closing-tag check in the Tokenizer code but I guess I should have it in the TreeBuilder code instead — so I can make it namespace-aware, and so that the warning doesn’t get reported for SVG elements. [02:06:03.0372] <hsivonen> > <@sideshowbarker:matrix.org> hsivonen: https://lists.w3.org/Archives/Public/www-validator/2022Sep/0012.html > > I have the self-closing-tag check in the Tokenizer code but I guess I should have it in the TreeBuilder code instead — so I can make it namespace-aware, and so that the warning doesn’t get reported for SVG elements. Sorry. Bad review on my part. Yeah, it should go in the tree builder where the slash is acknowledged. [02:12:08.0633] <annevk> hsivonen: I don't really see negative tests for old IBM encoding labels; do you remember creating those? [02:12:51.0832] <annevk> We could maybe add some to `unsupported-encodings.any.js` though I'm not sure as we'd have to assume some kind of default I guess. We do for UTF-7 and UTF-32 though so maybe that's okay? [02:12:54.0559] <hsivonen> > <@annevk:matrix.org> hsivonen: I don't really see negative tests for old IBM encoding labels; do you remember creating those? I don't remember creating negative tests for those. [02:14:10.0740] <hsivonen> > <@annevk:matrix.org> We could maybe add some to `unsupported-encodings.any.js` though I'm not sure as we'd have to assume some kind of default I guess. We do for UTF-7 and UTF-32 though so maybe that's okay? Should be safe to assume a windows-1252 default if the content is ASCII. If in the future we do the work to change that case to result in UTF-8, we can change the tests at that time. [02:15:19.0577] <annevk> I wonder why I waited, perhaps because we also had this idea of using the replacement encoding for some. [02:44:25.0213] <sideshowbarker> hsivonen: r? https://github.com/validator/htmlparser/pull/74 [03:09:39.0795] <Domenic> > <@johannhof:matrix.org> So, if, say, ~70% of precedent is "NotAllowedError" and 30% are something else including TypeError, should we still use TypeError? I'd be more in favor of consistent, separate error types. I agree with Anne that it doesn't matter much, but my takeaway isn't to convert everything to TypeError, personally. [03:10:03.0424] <Domenic> I've ended up on "NotAllowedError" for allowed to use, "InvalidStateError" for non-fully active document... not sure about user activation. [03:12:18.0194] <johannhof> I think that would be "SecurityError" by majority vote [03:14:12.0358] <johannhof> Yeah intuitively I agree with you Domenic that just flattening all errors to one type seems a little oversimplistic? [03:15:21.0971] <annevk> I don't feel strongly, but I also rather not reveal more information than strictly necessary. The states alluded to above end up exposed in other ways as well so they are probably fine though. [03:16:45.0331] <johannhof> (also don't fully understand "NotAllowedError" vs. "SecurityError" use cases, and looking at specs I suspect most people don't) [03:16:59.0874] <johannhof> I guess there are things that aren't allowed for non-security reasons [03:17:54.0149] <Domenic> Right, although I can't imagine we've been very clear about what's a security reason vs. not, and I'm not sure I'd classify either permissions policy or user activation as a security reason :) [03:18:10.0445] <Domenic> I guess the most clear-cut "SecurityError" cases are cross-origin access stuff [03:19:46.0770] <johannhof> Yeah looking at https://webidl.spec.whatwg.org/#notallowederror those two actually seem clear cut for NotAllowedError [03:22:42.0104] <Domenic> Anyway I would personally support any consistification efforts here but it just feels like you're setting yourself up for potential compat pain. Perhaps better would be to tackle the problem going forward by having a reference of common checks => usual errors they produce. [03:24:27.0750] <johannhof> Right, I agree that this seems painful to fix across the board retroactively now. Should the TAG Design Principles require authors of "new things that could be used to throw errors" to recommend an error type in the respective spec? [03:25:07.0834] <johannhof> I filed this for "fully active" before: https://github.com/w3ctag/design-principles/issues/395 [03:30:36.0363] <annevk> hsivonen: turns out Safari still supports some x-mac-\* labels (will PR later and will take suggestions for additional labels to include) [03:31:21.0352] <annevk> * hsivonen: turns out Safari still supports some x-mac-\* labels (will PR later and will take suggestions for additional labels to include) [03:37:41.0032] <Domenic> > <@johannhof:matrix.org> Right, I agree that this seems painful to fix across the board retroactively now. Should the TAG Design Principles require authors of "new things that could be used to throw errors" to recommend an error type in the respective spec? I'm unsure how many new general "things that could throw errors" we plan to add to the platform, so not sure it's worth a Design Principles addition... [03:37:51.0944] <Domenic> Slight cleanup inspired by this discussion: https://github.com/whatwg/webidl/pull/1202 [03:38:25.0536] <hsivonen> > <@annevk:matrix.org> hsivonen: turns out Safari still supports some x-mac-\* labels (will PR later and will take suggestions for additional labels to include) Does Safari support in-content labels for all the weird stuff in the Mac Safari Text Encoding menu? [03:45:05.0134] <Sam Sneddon [:gsnedders]> (for the record) [03:50:24.0938] <hsivonen> > <@gsnedders:mozilla.org> sent an image. As noted before, it's hard to believe in the use case-drivenness of that list. (specifically: Shift JIS X0213, Big5 times 3, Hebrew times 2, Turkish times 2, both GB18030 and GB2312, Mac OS Korean) [03:51:23.0409] <hsivonen> > <@hsivonen:mozilla.org> As noted before, it's hard to believe in the use case-drivenness of that list. (specifically: Shift JIS X0213, Big5 times 3, Hebrew times 2, Turkish times 2, both GB18030 and GB2312, Mac OS Korean) Hmm. Is ISO Hebrew there with visual direction, which would make sense for times 2. [03:56:38.0717] <Sam Sneddon [:gsnedders]> > <@hsivonen:mozilla.org> As noted before, it's hard to believe in the use case-drivenness of that list. (specifically: Shift JIS X0213, Big5 times 3, Hebrew times 2, Turkish times 2, both GB18030 and GB2312, Mac OS Korean) As I think has been mentioned before, that list was essentially copy-pasted from Mail (in 2002), and the last change to the contents of the list seems to have been in 2008. I suspect the changes between 2002 and 2008 were to some degree bug-report-driven. [03:59:49.0969] <hsivonen> > <@gsnedders:mozilla.org> As I think has been mentioned before, that list was essentially copy-pasted from Mail (in 2002), and the last change to the contents of the list seems to have been in 2008. I suspect the changes between 2002 and 2008 were to some degree bug-report-driven. I'm curious about what Mail counterparty MUA motivated Shift JIS X0213. [04:00:31.0860] <Sam Sneddon [:gsnedders]> > <@hsivonen:mozilla.org> I'm curious about what Mail counterparty MUA motivated Shift JIS X0213. I mean I have no idea about the origin of the Mail list, but it wouldn't totally surprise me if that was mostly unchanged from NeXTSTEP Mail. [04:02:15.0852] <hsivonen> > <@gsnedders:mozilla.org> I mean I have no idea about the origin of the Mail list, but it wouldn't totally surprise me if that was mostly unchanged from NeXTSTEP Mail. I suppose Shift JIS X0213 might have had a narrow time window to have come from there if NeXTSTEP Mail had a Pokemon approach to encodings. [04:26:41.0270] <sideshowbarker> PSA: The W3C HTML checker now reports a warning for any HTML elements that use self-closing-tag syntax — that is, specifically just for elements in the HTML namespace, but not for SVG or MathML elements. Laissez les bons temps rouler [04:28:58.0007] <Sam Sneddon [:gsnedders]> > <@hsivonen:mozilla.org> I suppose Shift JIS X0213 might have had a narrow time window to have come from there if NeXTSTEP Mail had a Pokemon approach to encodings. oh, no, it's not NeXTSTEP in origin. I _think_ it might have just been every (almost every?) encoding supported by Carbon (I think) at the point at which it was added. [04:29:15.0451] <Sam Sneddon [:gsnedders]> But definitely: no real curation occurred. [04:38:48.0040] <Sam Sneddon [:gsnedders]> Shift JIS X 0213 was added to Safari for the sake of completeness, it seems. [04:41:03.0380] <Sam Sneddon [:gsnedders]> and actually appears to be the latest meaningful change to the menu… in 2003. [04:41:12.0538] <Sam Sneddon [:gsnedders]> * and actually appears to be the latest meaningful change to the menu… in 2003. [04:42:08.0645] <Andreu Botella> I'm checking, and GNOME Web / Epiphany also has way too many entries in the encoding menu, possibly taking after Safari [04:42:16.0617] <Andreu Botella> do they even work? [04:42:19.0930] <Ms2ger 💉💉> Party like it's 1999 [04:45:32.0142] <johannhof> > <@domenicdenicola:matrix.org> Slight cleanup inspired by this discussion: https://github.com/whatwg/webidl/pull/1202 I think that's fair, do you have any suggestion where a document that lists recommended error types for common failure scenarios could live? [04:46:02.0195] <Ms2ger 💉💉> Reminds me of those ridiculous sgml shorthands, which I mostly forgot... was it `<foo/contents/>` or something like that? [04:46:22.0610] <Sam Sneddon [:gsnedders]> > <@abotella:igalia.com> I'm checking, and GNOME Web / Epiphany also has way too many entries in the encoding menu, possibly taking after Safari historically most browsers just threw basically everything they supported in the menu [04:47:29.0976] <Andreu Botella> in GNOME Web they map to windows-1252 [05:00:14.0215] <sideshowbarker> > <@ms2ger:igalia.com> Reminds me of those ridiculous sgml shorthands, which I mostly forgot... was it `<foo/contents/>` or something like that? Yeah, something like that. And we wonder why there was only one person who ever wrote a conforming SGML parser... (and is the same person who created XSLT) [05:07:01.0730] <Sam Sneddon [:gsnedders]> > <@ms2ger:igalia.com> Reminds me of those ridiculous sgml shorthands, which I mostly forgot... was it `<foo/contents/>` or something like that? `<foo/bar/`. net syntax (null end tag, IIRC) [05:09:06.0914] <Sam Sneddon [:gsnedders]> ISO 8879 § 7.5.1.3 opens with: > The null end-tag is an interesting idea for short elements. [05:14:22.0215] <Domenic> > <@johannhof:matrix.org> I think that's fair, do you have any suggestion where a document that lists recommended error types for common failure scenarios could live? Probably best would be in the individual definitions (e.g. "allowed to use", "fully active") but if something more centralized is desired, I think Web IDL would be reasonable. [05:15:03.0828] <annevk> hsivonen: I don't know, it wouldn't surprise me [05:16:43.0451] <annevk> Domenic: thanks for landing the 'restore "with"' commit and fixing up the commit message; I had forgotten about it :-( [05:17:33.0031] <Domenic> Anytime! [05:21:05.0473] <hsivonen> > <@gsnedders:mozilla.org> ISO 8879 § 7.5.1.3 opens with: > > > The null end-tag is an interesting idea for short elements. Is The Standard online these days or do you have a copy of The Handbook? [05:21:14.0169] <Domenic> > <@sideshowbarker:matrix.org> PSA: The W3C HTML checker now reports a warning for any HTML elements that use self-closing-tag syntax — that is, specifically just for elements in the HTML namespace, but not for SVG or MathML elements. > > Laissez les bons temps rouler Hope you're ready for when the internet descends on you :D [05:32:21.0477] <sideshowbarker> Domenic: it’s my bedtime [07:55:42.0812] <Sam Sneddon [:gsnedders]> > <@hsivonen:mozilla.org> Is The Standard online these days or do you have a copy of The Handbook? The Handbook (I mean, you can get a PDF of it, behind paywalls, but also plenty of corporate/institutions/libraries have subscriptions to paywalls that include it) [08:00:26.0613] <Sam Sneddon [:gsnedders]> ah, apparently that's an expansion in the copy of ISO 8879 in the handbook, sad. [08:01:41.0995] <Sam Sneddon [:gsnedders]> ISO 8879:1986 itself has a much less interesting opening sentence: > The net is recognized as a null end tag only if the start-tag of an open element in the base document type was a net-enabling start-tag. 2022-09-28 [18:40:24.0906] <sideshowbarker> Andreu Botella: for the CSS mirror tooling, we should update the client-side redirect handling so that it preserves the fragments. Right now, as far as I can see, it’s not preserving them — the fragments get dropped then the redirect happens. I can work on a patch for it myself, unless you beat me to it. [20:38:25.0589] <sideshowbarker> aja: ↑ I think you already know this, but just wanted to note that you have the option to persistently filter out the _“Self-closing tag syntax in text/html documents is widely discouraged”_ warnings [20:51:01.0610] <aja> yeah...stumbled upon it. already habitually ignore those warnings anyway; thanks for reminder, though :) [21:10:11.0719] <aja> btw, seem to recall instance of an error handling inline style element's closing comment, rather than just warning. some day if it annoys me enough i'll actually file an issue :/ [21:12:30.0778] <aja> css @layer has issues last i checked, too. figured it'd get there soon enough if i have some patience :) [21:14:04.0140] <sideshowbarker> > <@aja:mozilla.org> btw, seem to recall instance of an error handling inline style element's closing comment, rather than just warning. some day if it annoys me enough i'll actually file an issue :/ Please do file an issue for it when you can make time [21:18:15.0167] <sideshowbarker> > <@aja:mozilla.org> css @layer has issues last i checked, too. figured it'd get there soon enough if i have some patience :) Yeah that’s likely just because @layer is new and the support hasn’t been added to the CSS-checking backend. I’ve never been the main maintainer of the CSS-checking backend; I worked on it quite a lot a few years ago, but it’s been a long time since I made any changes there. However, the main maintainer there is really good about adding support for things, whenever somebody raises an issue asking for something. [21:22:53.0586] <sideshowbarker> Jeremy Roman: the _“`data:text/html,<img name=getElementById>` … `document.getElementById` is now an `HTMLImageElement`, not a function”_ thing is pretty cool [21:23:46.0945] <sideshowbarker> (incidentally, wish the Chromium and WebKit projects would use Matrix instead of Slack…) [21:24:03.0521] <sideshowbarker> * Jeremy Roman: the _“`data:text/html,<img name=getElementById>` … `document.getElementById` is now an `HTMLImageElement`, not a function”_ thing is pretty cool [21:39:16.0168] <Andreu Botella> Currently redirects are done with meta refresh, which doesn't use any JS [21:40:27.0861] <Andreu Botella> I still like the idea of making the redirects usable without JS, and you can't cancel a meta refresh from JS [21:40:40.0136] <Andreu Botella> but I guess I could have a navigation triggered from JS before the redirect can happen [21:51:46.0327] <Andreu Botella> ... though I guess if the page takes some time to load, the meta refresh might still win [21:52:04.0517] <Andreu Botella> cc Domenic [22:42:13.0412] <Domenic> ? [22:47:37.0302] <Andreu Botella> (I thought Matrix threads showed up to clients that don't support them as replies to the original or previous message, but I checked bakkot's logs and it seems like that isn't the case) [22:48:37.0613] <Andreu Botella> anyway, in a thread I was talking to sideshowbarker about changing the redirects in my CSS mirror setup to keep hashes, which doesn't currently happen because they use a meta refresh redirect [22:49:37.0744] <Andreu Botella> I don't want to get rid of the meta refresh so the redirects worked without JS, but the alternative is probably having a `location.replace()` navigation in JS before load [22:49:59.0889] <Andreu Botella> but the meta refresh might still win over if the page takes some time to load [22:50:49.0587] <Andreu Botella> I don't understand a lot of the depths of navigation in terms of cancelling and so on, but I was tagging Domenic to check if that could be the case [22:51:52.0737] <Domenic> I think in almost all cases the meta refresh will get canceled by the JavaScript navigation starting [22:51:59.0998] <Domenic> So the meta refresh becomes only a backup for non-JS clients [22:52:47.0926] <Domenic> The only case where the meta might win would be if a network packet boundary contained the meta and the next packet contained the JavaScript and something weird goes wrong that delays the second packet all the way until we get a response from the destination [22:55:07.0698] <Andreu Botella> the spec says that the timer for meta refresh starts on page load, so something like this should be fine, right: ```html <meta http-equiv="refresh" content="0; URL=https://correct.url" /> <script> location.replace("https://correct.url" + location.hash); </script> ``` [22:58:36.0012] <Domenic> Hmm now I am not so sure, if it starts at page load, then maybe it will happen after the script call... [22:58:45.0119] <Domenic> Best to test and see what happens :) [23:01:10.0135] <Andreu Botella> seems to be working, but that's when testing locally [23:03:19.0906] <Andreu Botella> alternatively, I could use `<noscript>` [23:49:46.0019] <annevk> Domenic: shall we ask tobie if we can move webidl-grammar-post-processor to the WHATWG organization? [23:50:03.0803] <annevk> Would that break anything with npm? [23:50:45.0758] <Domenic> Wouldn't break anything. Although I wonder if perhaps it should just be in the webidl repo itself. [23:51:00.0457] <Domenic> I guess it's separate now so that pr-preview can use it more easily, but, we aren't actually using that pr-preview feature. [23:54:47.0069] <annevk> It would be kinda nice if pr-preview also ran the build script. [23:56:49.0403] <Domenic> It's much less important for Web IDL since we have inline JS that does it at runtime [23:59:09.0060] <annevk> True, I filed an issue. I don't really care which of the two options we pick, but the WHATWG org should be in charge of its "core" technologies I think [23:59:50.0041] <Domenic> Yeah seems reasonable to me [00:00:05.0044] <Domenic> annevk: want to rebase or recreate the RD PR now? It should in theory work. [00:08:04.0013] <annevk> Domenic: yeah will do [00:19:59.0693] <annevk> Domenic: it seems that ArgumentParser doesn't do the thing the Python code expects [00:20:42.0533] <annevk> With `review.py -f shortnames webidl` or `review.py -f shortnames=webidl` it ends up with either `shortnames` not being a directory or `shortnames=webidl` not being a directory [00:21:10.0536] <Domenic> It's just `review.py -f webidl` [00:21:17.0565] <Domenic> Named arguments for non-options [00:21:29.0802] <hsivonen> FYI regarding slash on MDN, there is now https://github.com/orgs/mdn/discussions/242 [00:26:11.0923] <annevk> Domenic: ooh [00:30:28.0311] <annevk> Domenic: should be published shortly [00:55:47.0690] <Domenic> Success https://webidl.spec.whatwg.org/review-drafts/2022-09/ [01:42:00.0078] <annevk> smaug: I know you wanted to change some things in the declarative shadow DOM algorithm to make it more efficient. Are those changes captured somewhere? [02:58:11.0738] <sideshowbarker> > <@hsivonen:mozilla.org> FYI regarding slash on MDN, there is now https://github.com/orgs/mdn/discussions/242 Thanks for posting https://github.com/orgs/mdn/discussions/242#discussioncomment-3749398 there [11:32:44.0046] <smaug> annevk: not exactly, since it needs profiling. But the spec issue/pr (I think the HTML one) has the possible issues mentioned. Is it about creating temporary nodes or about adopting nodes to another document, or both, not sure. Or, it is of course both, but would be nice to see some performance profiles to see how much each extra step takes. I'm waiting to get the profiles from Google. [16:31:00.0932] <karlcow> More "demons slasher" 2022-09-29 [01:42:27.0790] <sideshowbarker> PSA data about self-closing tags: When I added the warning in the HTML checker a couple days ago, I also added a use counter for checking how many documents have start tags with self-closing tag syntax. Result: Only 5.7% of the documents checked have any self-closing start tags. That is, about 57 out of every 1000 documents. That data is from all 2.2 million documents that the checker checked over the last ~48 hours. [01:53:53.0462] <sideshowbarker> zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code — but it would require bad fuglying up the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [01:54:24.0180] <sideshowbarker> * zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code — but it would require bad fuglying up the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [01:55:06.0600] <sideshowbarker> * zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code to also do #1 above — but it would require bad fuglying up the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [01:55:17.0835] <sideshowbarker> * zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code to also do #1 above — but it’d require bad fuglying up the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [01:55:30.0862] <sideshowbarker> * zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code to also do #1 above — but it’d require bad fuglying up of the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [01:55:46.0664] <sideshowbarker> * zcorpan: Would you be able to run an HTTP Archive query to see how well that 5.7% figure aligns with what HTTP Archive shows? What’d be even more useful than that figure alone is: 1. What percentage of documents have any void elements? 2. What percentage of the documents that have void elements have any with self-closing tag syntax? The use counter I put into the HTML checker is not currently able to check how many documents have void elements. It’s instead only currently able just to check how many documents have void elements with self-closing tag syntax. If I had to, I guess I could hack a temporary use counter into the HTML checker and parser code to also do #1 above — but it’d require bad fuglying up of the parser code in way that I’m hesitant to do, even if temporarily and just on a branch. So if we can instead get data back from some HTTP Archive queries — and if especially the how-many-docs-have-self-closing-tags query roughly confirms the 5.7% figure I got from the checker use counter — then that’d help to provide some strong evidence. [03:48:02.0188] <b0ggl3> Hello, I have a somewhat silly question: Is WHATWG a legal entity? The reason Im asking is that I have to quote a WHATG standard in a context that requires giving a place of publication. Is there any notion of headquarter that could be used for this purpose? [03:54:53.0612] <Sam Sneddon [:gsnedders]> > <@b0ggl3:matrix.org> Hello, I have a somewhat silly question: Is WHATWG a legal entity? The reason Im asking is that I have to quote a WHATG standard in a context that requires giving a place of publication. Is there any notion of headquarter that could be used for this purpose? it is not; there's no reasonable answer for place of publication except for online [04:02:55.0252] <b0ggl3> Ok, thanks. [06:21:08.0799] <annevk> Domenic: one thing I noticed with `review.py` is that it didn't reuse the existing origin branch when doing the update. It's not too hard to correct later as git push will tell you what to do, but it would be nice if it sorted that automatically. Would you happen to know offhand what we need to change? Otherwise I can look into it. [06:29:21.0986] <zcorpan> sideshowbarker: `<meta>` is used on 98.9% of pages per https://almanac.httparchive.org/en/2022/markup#fig-10 [06:40:24.0893] <zcorpan> sideshowbarker: 94.05% of pages use /> syntax on serialize-as-void elements, in the 10k sample dataset [06:40:54.0582] <zcorpan> ``` SELECT COUNT(DISTINCT page) AS num FROM `httparchive.sample_data.response_bodies_mobile_10k` WHERE page = url AND REGEXP_CONTAINS(body, r'(?i)(<(?:area|base|br|col|embed|hr|img|input|link|meta|source|track|wbr|basefont|bgsound|frame|keygen)(?:\s+(?:[^\/>]|\/[^>])*)?\/>)') ``` [06:48:40.0025] <zcorpan> sideshowbarker: so either your counter is backwards and counts documents that *don't* use />, or 943 validations of the 1000 were j9t validating his pages :) [09:29:41.0763] <annevk> smaug: https://github.com/WebKit/WebKit/pull/4822 [11:22:41.0864] <smaug> that is yes what I've been pondering [11:30:04.0316] <smaug> It does change the behavior of shadow DOM creation, since images start loading sooner and script execution happens too rather soon (I mean while other nodes are still being added to shadow DOM), but hopefully that would be ok. nolanlawson would streaming approach work for SF? [11:33:33.0998] <smaug> * It does change the behavior of shadow DOM creation, since images start loading sooner and script execution happens too rather soon (I mean while other nodes are still being added to shadow DOM), but hopefully that would be ok. nolanlawson would streaming approach work for SF? [12:50:53.0705] <nolanlawson> > <@smaug:mozilla.org> It does change the behavior of shadow DOM creation, since images start loading sooner and script execution happens too rather soon (I mean while other nodes are still being added to shadow DOM), but hopefully that would be ok. nolanlawson would streaming approach work for SF? Streaming is exactly what we'd like for DSD, yes. Given our heavy use of shadow DOM, the alternative would be nothing being rendered until the top-level `template` end tag is parsed (AIUI). [15:57:55.0795] <Steven Kuhn> sideshowbarker: 2022-09-30 [18:19:31.0666] <Domenic> > <@annevk:matrix.org> Domenic: one thing I noticed with `review.py` is that it didn't reuse the existing origin branch when doing the update. It's not too hard to correct later as git push will tell you what to do, but it would be nice if it sorted that automatically. Would you happen to know offhand what we need to change? Otherwise I can look into it. Maybe pass `--set-upstream-to=X`? [21:03:20.0441] <Domenic> The interop 2023 proposal for history & navigation is live: https://github.com/web-platform-tests/interop/issues/170 [21:12:12.0145] <Domenic> Is there anything in modern specs that strips usernames/passwords from URLs before fetching? Apparently we do this in at least one place in Chromium and I'm trying to figure out why... [21:41:54.0575] <sideshowbarker> > <@domenicdenicola:matrix.org> Is there anything in modern specs that strips usernames/passwords from URLs before fetching? Apparently we do this in at least one place in Chromium and I'm trying to figure out why... Not an answer, but found https://bugs.chromium.org/p/chromium/issues/detail?id=82250. But that also doesn't provide any clarity about why or what spec the behavior might be based on [21:47:01.0743] <sideshowbarker> And found https://twitter.com/mikewest/status/846308572124397569 [21:49:32.0882] <sideshowbarker> https://github.com/whatwg/fetch/pull/465 [21:51:03.0575] <sideshowbarker> Domenic: are those relevant or do you mean in some other context? [21:52:51.0321] <Domenic> These are helpful, but the code we actually have seems to strip out the URL credentials, instead of blocking the request entirely... https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/loader/fetch/fetch_parameters.cc;l=94;drc=a432cd59d51281057ba2a2673ca645a9600bb927 . I can't find any evidence of this in specs. [21:54:22.0999] <Domenic> It seems like we do this somewhat randomly... for various cross-origin images, prefetches, preloads, modules, stylesheets?? [21:56:50.0444] <Domenic> I guess I'll comment on the PR 465 [01:09:45.0891] <annevk> Commented with what I suspect is the cause [01:27:42.0828] <Domenic> Do you know what the rationale is behind which fetches set use-URL-credentials and which don't? [01:35:05.0089] <annevk> Domenic: for CORS and new APIs we wanted to avoid it [01:38:40.0241] <annevk> Domenic: stripping could work too btw, but have to be careful with redirects and service workers [01:39:04.0954] <Domenic> > If there’s an authentication entry for httpRequest and either httpRequest’s use-URL-credentials flag is unset or httpRequest’s current URL does not include credentials, then set authorizationValue to authentication entry. This is not great, "authentication entry" is a concept but I think it's saying to extract the credentials from the URL... Will file an editorial issue I guess. [01:40:33.0880] <annevk> Domenic: well an authentication entry is the user agent having authorization data for some URL, but if there's also credentials in the URL itself those might override that [01:41:05.0680] <annevk> Domenic: those used to be the semantics, but I'm not really sure what has happened in the intervening years as there's been a bunch of interventions with poor cross-browser coordination [01:41:16.0862] <Domenic> Yeah I mean I'd at least expect this to say "the authentication entry for the URL", ideally with an algorithm detailing how to extract the username/password components from the URL itself. [01:42:41.0595] <annevk> Yeah, there's definitely a bunch of XXX around this [01:52:45.0022] <Domenic> OK, two issues and a PR later, I think I'm done shaving this yak... [01:59:29.0914] <sideshowbarker> speaking of yak shaving… let me present https://github.com/whatwg/html/pull/8338 [02:00:07.0355] <sideshowbarker> PR-preview rendered output at https://whatpr.org/html/8338/syntax.html#start-tags (step 6) > Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/), which on foreign elements marks the start tag as self-closing **but on void elements does not mark the start tag as self-closing but instead is unnecessary and has no effect of any kind and should be used only with caution — especially since, if directly preceded by an unquoted attribute value, it becomes part of the attribute value rather than being discarded by the parser.** [02:03:09.0261] <sideshowbarker> * PR-preview rendered output at https://whatpr.org/html/8338/syntax.html#start-tags (step 6) > Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/), which on foreign elements marks the start tag as self-closing but on void elements does not mark the start tag as self-closing but instead is unnecessary and has no effect of any kind and should be used only with caution — especially since, if directly preceded by an unquoted attribute value, it becomes part of the attribute value rather than being discarded by the parser. [02:04:07.0616] <sideshowbarker> * PR-preview rendered output at https://whatpr.org/html/8338/syntax.html#start-tags (step 6) > Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/), which on foreign elements marks the start tag as self-closing **but on void elements does not mark the start tag as self-closing but instead is unnecessary and has no effect of any kind and should be used only with caution — especially since, if directly preceded by an unquoted attribute value, it becomes part of the attribute value rather than being discarded by the parser.** [04:17:10.0460] <karlcow> would there be a use case for this. such as, no we do not want to let you put your login and password in there, but the request is going through and the site will send you an authentification challenge instead for this URL so you can log in more securely instead of just failing. [04:36:45.0693] <Jake Archibald> sideshowbarker: https://twitter.com/mcmillanstu/status/1575579706556002304 😀 [04:41:11.0512] <sideshowbarker> > <@jakea:matrix.org> sideshowbarker: https://twitter.com/mcmillanstu/status/1575579706556002304 😀 Thanks 😆 I think I like this guy — but I think I’m also glad he and others don’t know who’s actually guilty (or where I live)… [10:53:42.0700] <Drew Hintz> Hi! Is there a process for asking for a review/merge on html5lib-python? I opened a small low-risk PR: https://github.com/html5lib/html5lib-python/pull/547 [14:31:23.0494] <sideshowbarker> Sam Sneddon [:gsnedders]: ↑ [14:34:50.0995] <karlcow> better to ask jgraham for this PR.