2022-06-01 [02:54:00.0184] For the `elementtiming` content attribute, I haven’t found a PR for adding it to the HTML spec. Don’t we need one? It’s not adequately specified in https://wicg.github.io/element-timing/#sec-modifications-DOM but from what can be gleaned from that, it seems like it would need to be added to HTML as a new global attribute. Right? [04:53:26.0459] Domenicannevk: Can we land https://github.com/whatwg/html/pull/7885 ? [07:05:31.0920] > <@yoavweiss:matrix.org> Domenicannevk: Can we land https://github.com/whatwg/html/pull/7885 ? Yes, it looks like the Fetch PR is landed, I will land the HTML PR. [07:05:51.0617] > <@sideshowbarker:mozilla.org> For the `elementtiming` content attribute, I haven’t found a PR for adding it to the HTML spec. Don’t we need one? > It’s not adequately specified in https://wicg.github.io/element-timing/#sec-modifications-DOM but from what can be gleaned from that, it seems like it would need to be added to HTML as a new global attribute. Right? Yes, any HTML global attributes with multi-implementer interest should be specified in HTML. I suspect this is a single-implementer spec? [07:09:04.0428] Hi all! I wish everyone is well! How are you all? 1. I would like to publicize my GitHub profile here are the ideas implemented in Js. Some ideas I filed, I found it very bad to implement and they didn't have a good concept. In summary, I implemented the following ideas(apis): 'BestReadOnTheWeb', 'MeasuringUserInteractionTimeWithWebsite' - I would to have positive or negative feedback of each idea - if you all wants. Note: Other ideas I've shelved too - because they're bad ideas because they depend on other things and/or ideas to get done. Link: https://github.com/raphaellouisandress - the licenses for each code are MIT. 2. I hope I helped with a few things to make the web better, safer, transparent 3. I feel that after building some of these implementations my help has ended, goodbye folks. Keep up the great work all, I really enjoyed the feedback I got here. [07:10:46.0263] sideshowbarker: there was some interest in `elementtiming` from Mozilla folks, but I'm not sure if it's enough for WHATWG HTML integration [07:11:07.0184] ^^ sefeng [07:12:29.0977] * Hi all! I wish everyone is well! How are you all? 1. I would like to publicize my GitHub profile here are the ideas implemented in Js. Some ideas I filed, I found it very bad to implement and they didn't have a good concept. In summary, I implemented the following ideas(apis): 'BestReadOnTheWeb', 'MeasuringUserInteractionTimeWithWebsite' - I would to have positive or negative feedback of each idea - if you all wants. Note: Other ideas I've shelved too - because they're bad ideas because they depend on other things and/or ideas to get done. Link: https://github.com/raphaellouisandress - the licenses for each code are MIT. 2. I hope I helped with a few things to make the web better, safer, transparent 3. I feel that after building some of these implementations my help has ended, goodbye folks. Keep up the great work all, I really enjoyed the feedback I got here. I tried to solve some problems and/or help with some proposals in wicg/whatwg/w3 [08:05:16.0017] yeah, it's okay to say we have interests informally, however I'd like this standard position issue https://github.com/mozilla/standards-positions/issues/192 to be resolved first before adding the attribute [08:10:18.0341] Yoav Weiss: ^ [13:38:23.0586] mfreed: Hi! I'm not sure [my comment here](https://github.com/w3c/csswg-drafts/issues/7319#issuecomment-1144100767) is easy to understand, let me know if you want clarifications [13:43:12.0410] annevk: Would https://github.com/annevk/orb block a response for a non-safelisted MIME type, that also came back with `Cross-Origin-Resource-Policy: cross-origin`? (Should it?) 2022-06-02 [23:39:33.0575] Eric Portis (he/him): it currently does, in https://github.com/annevk/orb/issues/30 I mention it as a possible fast path, but to match its processing model we'd have to track it across redirects [23:41:18.0547] Eric Portis (he/him): I think if we do it properly (i.e., account for redirects) it's probably reasonable to safelist such responses [03:33:48.0865] Looks like the "Libera" IRC is not the proper whatwg chat place, right? [03:34:09.0380] That might explain noone responding to my messages ;-) [03:42:00.0386] Ondřej Žára: I don't think we ever advertised anything but Freenode and this channel, and now it's just this channel [03:43:01.0782] > <@annevk:mozilla.org> Ondřej Žára: I don't think we ever advertised anything but Freenode and this channel, and now it's just this channel Yeah, I have no memories about how I got from Freenode to Libera. Whatever. [03:43:08.0335] Let me repaste my original Libera question then [03:43:15.0874] are there any general guidelines regarding "js property <-> HTML attribute" reflection for custom elements? [03:43:23.0502] for instance those interactive components whose properties change quickly (``) [03:43:50.0933] I recall people suggesting to use attributes as the source of truth [03:43:57.0242] But that might not hold any more? [03:52:30.0157] Might be a good question for #web-components:matrix.org though it's not very active. There's definitely no guidelines in the standard. I'd recommend looking at https://html.spec.whatwg.org/#reflect and seeing how it might be applicable for a custom element. At least if you want them to behave like built-in elements. Often that does use the attribute as a source of truth, but you could optimize around that a fair bit. [03:53:31.0279] Thanks for the pointers. Will read the spec part a bit, then probably re-ask in that channel. [06:58:12.0713] annevk: Ok, thanks! This would make the story for third party media hosts that want to upgrade resources without requiring every document that embeds from them to also upgrade, well, livable, I think. [06:58:27.0786] * annevk: Ok, thanks! This would make the story for third party media hosts that want to upgrade resources without requiring every document that embeds from them to also upgrade, well, livable, I think. [07:49:59.0113] Eric Portis (he/him): I mean in principle ORB shouldn't really impact anyone, though I suppose there might be some perf implications if you don't have your MIME types in order [07:50:39.0314] Eric Portis (he/him): it might be a reasonable way out however for new image formats and over the long term require something like that for all cross-origin fetches [09:03:02.0818] Domenic: will be there in the meeting real soon [10:59:03.0784] Noam Rosenthal: Just want to make sure I understand the rationale behind the LargestContentfulPaint spec. So if the image is expanded, we don't report the actual painted size, but rather we report the intrinsic size of the image [10:59:14.0669] is it because we don't want web devs to game the metric? [11:06:43.0007] annevk: “in principle ORB shouldn't really impact anyone” Half of all s load cross-origin; I’d suspect CSS background-image to have a similar breakdown. My mental model of ORB previously was: in order to adopt new image formats, lots of HTML was going to have to change, and there just wouldn’t be a way to use new image formats across origins in CSS. Big impact! Mitigated by CORP. [11:08:06.0139] Eric Portis (he/him): I see, new media formats definitely have that wrinkle atm [11:08:21.0608] Eric Portis (he/him): I'd be okay with this compromise [11:08:42.0803] Eric Portis (he/him): do you want to put it forward in https://github.com/annevk/orb/issues/3? [11:09:29.0596] annevk: will do! [11:15:35.0783] > <@sefeng:mozilla.org> Noam Rosenthal: Just want to make sure I understand the rationale behind the LargestContentfulPaint spec. So if the image is expanded, we don't report the actual painted size, but rather we report the intrinsic size of the image That’s the basic idea. We don’t want an enormously scaled 1x1 image to be considered “largest” [11:18:42.0767] Noam Rosenthal: I see, I start to understand the penalty factor thing..but if a scaled 1x1 image is the largest, what's wrong of reporting it..? [11:30:54.0985] It’s ok but you don’t want to report it as 1000x1000 [11:43:16.0228] Noam Rosenthal: why don't we if that's what gets painted? [11:43:20.0014] * Noam Rosenthal: why don't we if that's what gets painted? 2022-06-03 [00:21:30.0315] Luca Casonato: heya, https://common-min-api.proposal.wintercg.org/ doesn't list `ErrorEvent`, do you know if Deno or Node.js would be impacted by changes to it? [00:56:54.0774] > <@annevk:mozilla.org> Luca Casonato: heya, https://common-min-api.proposal.wintercg.org/ doesn't list `ErrorEvent`, do you know if Deno or Node.js would be impacted by changes to it? Deno would. We have WebSocket, which uses it. [00:57:11.0880] Good catch btw! [01:10:42.0676] Yoav Weiss: crbug.com/new is failing. Is that going to be fixed? [01:16:21.0980] Thanks for letting me know! [01:16:32.0780] I'll bug folks that actually know how that infra works [01:38:53.0752] crbug.new seems to be working [01:58:43.0097] > <@sefeng:mozilla.org> Noam Rosenthal: why don't we if that's what gets painted? It is a heuristic to make higher quality images count as larger than upscaled ones. that metric can be gamed in so many other ways though IMO. Yoav Weiss probably has more context on LCP than myself ☺️ [02:05:30.0073] > <@noamr:matrix.org> It is a heuristic to make higher quality images count as larger than upscaled ones. that metric can be gamed in so many other ways though IMO. Yoav Weiss probably has more context on LCP than myself ☺️ Think of the placeholder use case, when an image element shows a low-quality upscaled image and then loads the full-res image later. The full-res image would be considered larger for purposes of LCP than the placeholder [02:13:00.0444] Yoav Weiss: looking at https://www.w3.org/TR/largest-contentful-paint/ I see it still shows https://wicg.github.io/largest-contentful-paint as the ED URL — where instead it should be https://w3c.github.io/largest-contentful-paint/ (which the wicg URL redirects to). Should I go ahead and raise a PR with a patch? [02:14:42.0167] hmm I see the source at https://github.com/w3c/largest-contentful-paint/blob/4a0930ca74a98941237635424cd34c8a44825b2d/index.bs#L10 does already have the w3c URL [02:18:03.0957] aha I see https://github.com/w3c/largest-contentful-paint/commit/4a0930ca74a98941237635424cd34c8a44825b2d from 4 days ago already fixed it. Can you re-build and re-publish that to https://www.w3.org/TR/2022/WD-largest-contentful-paint-20220524/ ? It’s currently causing some of the mdn-spec-links automation to fail. [02:25:37.0816] we should really just auto-publish all the things.. [02:26:47.0554] yes you should :) [02:27:20.0597] I could help y’all set it up but if this in the webperf group, I think Xiaoqian could too [05:25:40.0010] smaug: ping https://github.com/whatwg/dom/issues/952 [05:27:48.0815] and Sam Sneddon [:gsnedders] (or someone from webkit, cdumez seemingly isn't here) ^ [09:09:44.0470] Noam Rosenthal: I just noticed there are three _response_ variables in https://html.spec.whatwg.org/#preload , with the outer one in step 8 being shadowed? Can that one be deleted? [09:12:29.0542] > <@domenicdenicola:matrix.org> Noam Rosenthal: I just noticed there are three _response_ variables in https://html.spec.whatwg.org/#preload , with the outer one in step 8 being shadowed? Can that one be deleted? Yea, the outer one is a leftover and should be removed since there's a `preload entry`'s `response` instead. [09:12:45.0356] Ah great. Feel free to do so in the same refactoring PR, or in a separate one. [09:13:30.0478] > <@domenicdenicola:matrix.org> Ah great. Feel free to do so in the same refactoring PR, or in a separate one. Done [12:53:06.0332] how do I overload an algorithm name in html spec? I tried the "for=foo" thing in the tag, but it didn't seem to work [13:20:21.0585] I guess data-x is my friend [14:07:36.0547] wanderview: yeah, https://github.com/whatwg/wattsi/blob/main/Syntax.md is the more-or-less full docs, it's not nearly as good as Bikeshed. 2022-06-04 [03:24:39.0556] Hey there what's up 2022-06-05 [19:05:13.0095] I'll help 10 individuals how to earn $20,000 in just 72 hours from the crypto market. But you will pay me 10% commission when you receive your profit. if interested send me a direct message via WhatsApp by asking me HOW for more details on how to get started > +1 (2297781881 2022-06-06 [00:32:17.0259] Hi [08:31:58.0188] Domenic: is https://html.spec.whatwg.org/#the-progress-element:attr-progress-value-4 only authoring requirement? [08:32:20.0816] Yes [08:32:37.0148] The paragraphs below seem to hint that value and max content attributes should be parsed.. so leading whitespace is removed [08:32:40.0512] ok [08:33:15.0809] (browsers aren't consistent with this) [08:45:26.0247] The user agent requirements are in the paragraphs marked "User agent requirements" [14:23:37.0804] Does anyone understand why https://www.w3.org/TR/xml/#NT-Char is actually "any Unicode character, excluding the surrogate blocks, FFFE, and FFFF"? Seems like, e.g., U+0000 NULL is excluded? 2022-06-07 [22:11:18.0981] Domenic: excluding control code points is quite typical [22:12:00.0645] But this infects the [^] syntax it appears: https://www.w3.org/TR/xml/#sec-notation [22:12:47.0106] As well as just the [] syntax in general [22:12:56.0430] So it looks like XML-defined EBNF is just not really usable? [22:13:53.0258] Oh great, I didn't realize that ☹️ [22:15:12.0854] How do we feel about JS-compatible RegExps... The other main alternative is to just write a parser algorithm [22:15:56.0138] Or maybe https://www.rfc-editor.org/rfc/rfc5234 [22:59:15.0973] Domenic: I think writing it out in prose might not be so bad [23:00:09.0053] Domenic: if you turn the code point sets into Infra-style definitions and then have a validating algorithm that says "if string is not a X followed by zero or more Ys" and such [02:15:15.0847] What's the status of removing sync XHR? https://github.com/whatwg/xhr/issues/20 [05:18:09.0540] annevk any chance to continue review on https://github.com/whatwg/fetch/pull/1413 at some point? yutakahirano has already given it a 👍️ [07:22:08.0734] Hi all! Can someone help me? [07:23:15.0058] I have a question, if anyone can answer I would be happy [07:32:24.0871] I would like to know if we could create a library in javascript to generate user interaction data [07:32:56.0569] This would be an alternative to cookies etc. [07:33:36.0413] This can be interesting for data analysis etc [07:33:59.0411] concept: https://discourse.wicg.io/t/draft-idea-spec-proposal-an-interesting-open-free-libre-proposal-for-a-scalable-sustainable-secure-private-accessible-business-model-compared-to-alternatives-such-as-topics-cookies-flocs-and-other-user-tracking-technologies/5906/3 [07:35:59.0925] I would like to know if this idea is good or bad, I want to hear all sides, all criticisms, everything that can be improved or corrected [07:45:02.0012] Everything I've written is still conceptual, draft [08:37:56.0790] Noam Rosenthal: ah, from the title change I guess you have made a change in approach now [08:38:42.0488] /me notices Domenic's comment there about formatting [08:38:46.0964] annevk: yes, as we talked about, there's no longer a "conclude" call and fetch reports timing automatically, except for in the case of navigation and early-hints [08:39:17.0466] I really wish someone would write a Bikeshed source code formatter we could use, ideally mostly compatible with existing conventions to not mess up blame too much [08:39:20.0315] ... accompanied by the HTML PR https://github.com/whatwg/html/pull/7722 [08:39:51.0603] Source code formatter is on my list of "learn Rust" projects. Seems... unlikely to happen. [08:40:57.0953] > <@annevk:mozilla.org> I really wish someone would write a Bikeshed source code formatter we could use, ideally mostly compatible with existing conventions to not mess up blame too much Is there an open issue for what's required? I can fiddle with it. I know a bit of Rust [08:58:57.0758] Noam Rosenthal: so I'm not sure what's happening with the review-resolve cycle but I'm finding the same issues as Yutaka it seems, e.g., timing global seemingly having an unaccounted null value; except this specific Yutaka issue was marked as resolved (whereas some others were not but do appear addressed) [09:00:13.0616] Noam Rosenthal: as for the formatter, essentially something that takes a WHATWG-style `*.bs` file, parses it, and then serializes it according to the rough formatting guidelines in `README.md` [09:00:31.0877] Domenic might have more informed thoughts 🙂 [09:01:23.0692] Yeah, no open issue. It's hard because parsing/serializing bs (or Wattsi-style HTML) is not an identity function. [09:01:27.0473] I guess Yutaka also r+'d it and there was no forced rebase so hmm [09:02:49.0302] Another problem with HTML formatters is that it's hard to know what whitespace is significant. E.g. HTML Tidy often creates `foo.\n

` which is undesirable by our standards. [09:03:33.0299] But like `
  • \n

    ` is technically different than `

  • ` (different DOM structure, with a text node in the middle for the former) but we consider them both OK [09:03:57.0374] * But like `

  • \n

    ` is technically different than `

  • ` (different DOM structure, with a text node in the middle for the former) but we consider them both OK [09:04:14.0807] * Another problem with HTML formatters is that it's hard to know what whitespace is significant. E.g. HTML Tidy often creates `foo.\n

    ` which is undesirable by our standards. [09:04:28.0886] > <@annevk:mozilla.org> Noam Rosenthal: so I'm not sure what's happening with the review-resolve cycle but I'm finding the same issues as Yutaka it seems, e.g., timing global seemingly having an unaccounted null value; except this specific Yutaka issue was marked as resolved (whereas some others were not but do appear addressed) That comment was resolved with a reply, ‘timingGlobal’ is null in the case of early hints, I will look at it again though to make sure [09:05:23.0960] Noam Rosenthal: as written fetch's _timingGlobal_ argument is either "client" or a global object afaict (though the usage side suggests "none" can be valid and the algorithm suggests null can be valid) [09:06:29.0969] Domenic: you need to push something for https://github.com/whatwg/dom/pull/1079 [09:06:37.0241] > <@annevk:mozilla.org> Noam Rosenthal: as written fetch's _timingGlobal_ argument is either "client" or a global object afaict (though the usage side suggests "none" can be valid and the algorithm suggests null can be valid) Ok, I will revise it and the usage to state null should be valid [09:07:09.0865] Noam Rosenthal: to be clear I think it would be better if you made that "none" for consistency with "client" [09:07:40.0022] Noam Rosenthal: if we're doing enum or object let's not also add null to the possible types [09:07:55.0656] > <@annevk:mozilla.org> Noam Rosenthal: to be clear I think it would be better if you made that "none" for consistency with "client" Sure, fine with me [09:08:22.0588] I usually prefer whims [09:08:28.0202] Enums [09:09:37.0341] > <@annevk:mozilla.org> Domenic: you need to push something for https://github.com/whatwg/dom/pull/1079 Done, thanks. Working on PotentialCustomElementName now. [09:21:46.0445] annevk: fixed comments. re. request vs. fetch: the idea is that all timing-related things are associated with fetch and not with a request. So if the request is forwarded by a service worker the timing info, initiiator and reporting global relate to the service worker and not to the original fetcher [09:23:27.0067] Noam Rosenthal: does that mean we need to change the fetch params when we hand it over to the SW? [09:24:00.0658] annevk: no need. new fetch params are created when the SW calls `fetch()` [09:24:47.0796] Noam Rosenthal: well yes, if it does that, but that's also the case for bits on request so I'm not sure how that's an argument for this setup [09:26:38.0550] annevk: you mean the TAO bit etc.? I think they should also move to fetch-params [09:26:53.0215] also those are a bit different because they're not passed from the outside [09:28:50.0213] To me it seems cleaner if the request was something somewhat immutable and transient that kind of matches with the `Request` object, and doesn't need to be "reset" when forwarded by the SW. In the case of timing though, it currently doesn't really have any observable difference [09:31:35.0017] currently we keep bumping into these issues of ambiguity between request and fetch-params, I'm hoping that by making request somewhat immutable & transient we can avoid them, but maybe it's hard to accomplish because of thing's like request's client [09:34:47.0271] annevk: but if you think it's preferable to make `timingGlobal`& `initiator` request-associated I could go with it, it keeps the current separation of fetch taking a request + callbacks as parameters [09:52:21.0972] Noam Rosenthal: so to me the string field seems very similar to "destination" (and should probably be an enum like it) [09:52:41.0235] Noam Rosenthal: and longer term we want to figure out how they relate going forward [09:53:21.0860] Noam Rosenthal: I'm less sure about the other fields and I do like the idea of moving some stuff out of request as it's quite overloaded [10:03:14.0968] annevk: ok, I will move both to being request-associated. Maybe changing it to an enum is more involved though for this patch, an initiator type could potentially be any element name [10:03:50.0597] I see, yeah, please file a follow-up? [10:03:53.0771] annevk: I forget, in the case of iframes, is request's client the container or the reserved environment of the iframe? If it's the former I can probably do away with `timingGlobal` [10:05:00.0390] Noam Rosenthal: hmm, that's a very good question; I'm not sure [10:05:20.0886] (the code in HTML for that is a bit hard to follow) [10:05:46.0912] For the initial request you kinda need both I think, but I'm not sure what is written down and whether that maps to what implementations do [10:06:17.0940] As in, you need the parent for referrer thingies, but you don't want the parent for SW selection, say [10:14:25.0143] annevk: yea both are passed, and the client is the container. https://html.spec.whatwg.org/#process-a-navigate-fetch [10:14:29.0262] (2) [10:15:39.0225] annevk: it means that I can do away with `timingGlobal` - it's always `client`, and in the early hints case request's `client` is a reserved environment which doesn't have a global object, I can infer that instead of pass it from outside [10:16:26.0093] for the cases where there are no reporting (e.g. cross-origin style subresources) initiatorType can be null or `do not report` etc [11:21:32.0479] annevk: done, though currently fetch doesn't build due to some biblio thing? [11:57:46.0155] Yoav Weiss: For this test https://github.com/web-platform-tests/wpt/blob/master/largest-contentful-paint/initially-invisible-images.html, wouldn't you expect an `green-1x1.png` entry first and then the `yellow.png` one? [12:22:00.0511] @sefeng: According to the spec, I think you're right and that's what I'd expect, because "potentially add an LCP entry" is called after the image is loaded [12:26:08.0907] Okay, yeah, that assertion is going to fail for non “yellow” images, I’ll make some changes to the test [12:27:33.0505] Thanks! 2022-06-08 [18:32:43.0788] Why does https://wicg.github.io/background-fetch/#header-syntax and https://fetch.spec.whatwg.org/#simple-range-header-value only handle a subset of RFC 7233? [18:34:26.0963] Opened https://github.com/whatwg/fetch/issues/1450 before I realized background fetch didn't handle the `suffix-byte-range-spec` [18:35:54.0243] I didn't really have a strong reason for opening the issue... I was mostly just curious [00:27:55.0825] dlrobertson: Jake Archibald hopefully remembers [05:21:59.0562] I'll look at the commit message PR thread... maybe there will be useful info there as well [05:45:33.0713] annevk: Fetch build isn't passing because a few RFCs were merged into `HTTP-SEMANTICS`, I posted a fix: https://github.com/whatwg/fetch/pull/1451 [05:53:07.0064] * I'll look at the commit message and PR thread... maybe there will be useful info there as well [05:55:19.0482] dlrobertson: if there's nothing there I'd be inclined to treat this as a bug; it's definitely a problem that we don't call it out in a note or some such [05:55:52.0425] dlrobertson: I also thought that instead of "simple" we could use "single" or "single-range" to describe the semantics more clearly once we adjust this [05:55:56.0649] Noam Rosenthal: thanks! [05:56:12.0912] > <@annevk:mozilla.org> dlrobertson: I also thought that instead of "simple" we could use "single" or "single-range" to describe the semantics more clearly once we adjust this Ah! I like that [05:56:57.0532] I'd seen your note about renaming that, but hadn't thought of anything [05:59:33.0531] Noam Rosenthal: I'm going to take that PR and adjust it a bit, I think that'll be quicker than review 2022-06-09 [23:52:02.0256] About the new static Response.json() which can't be documented in MDN/BCD yet: https://github.com/mdn/browser-compat-data/issues/16613 [23:56:41.0385] Oops [23:58:44.0810] _“hope this doesn't happen much”_ indeed [00:01:38.0602] foolip: Another possible option is to make a subfeature of `api.Response.json` named `"static"` — which is ugly and backwards but at least we wouldn’t need a separate filename or new subdirectory (and no mass updates of existing data) [00:01:50.0201] foolip: perhaps you could do something like api.Response$statics.json, but stuffing prototype in all of the existing members would be correct [00:02:27.0804] * foolip: Another possible option is to make a subfeature of `api.Response.json` named `"static"` — which is ugly and backwards but at least we wouldn’t need a separate filename or new subdirectory (and no mass updates of existing data) [00:04:50.0457] It would solve the problem, and would have the benefit that it tells BCD consumers what's static and what's not, but it would be a big change. It's notable that it's not done even for the javascript.* data, even though .prototype. is in the page titles (but not URLs) there, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/groupByToMap for example. [00:09:52.0911] yeah in hindsight I guess it all should have been done that way from the beginning but at the point is seems like the correcting it globally would maybe be a case of the cure being worse than the disease [00:15:38.0059] As far as my `"static"` subfeature hack, one side effect of it is that the current tooling would cause the compat data for the static method to show up in the BCD table for the instance method at https://developer.mozilla.org/en-US/docs/Web/API/Response/json#browser\_compatibility as an additional subfeature. We wouldn’t want that of course — but I know the code for generating the BCD tables very well, and it would be easy to add some special-handling to it to cause it ignore any case of `"static"` as a subfeature but not ignore it when it’s called directly as a feature — that is, ignore it for the MDN page that specifies its relevant BCD feature/query is `api.Response.json` but not ignore it if the MDN page specifies its relevant BCD feature/query is `api.Response.json.static`. [00:16:20.0376] * As far as my `"static"` subfeature hack, one side effect of it is that the current tooling would cause the compat data for the static method to show up in the BCD table for the instance method at https://developer.mozilla.org/en-US/docs/Web/API/Response/json#browser\_compatibility as an additional subfeature. We wouldn’t want that of course — but I know the code for generating the BCD tables very well, and it would be easy to add some special-handling to it to cause it ignore any case of `"static"` as a subfeature but not ignore it when it’s called directly as a feature — that ignore it for the MDN page that specifies its relevant BCD feature/query is `api.Response.json` but not ignore it if the MDN page specifies its relevant BCD feature/query is `api.Response.json.static`. [00:16:44.0153] * As far as my `"static"` subfeature hack, one side effect of it is that the current tooling would cause the compat data for the static method to show up in the BCD table for the instance method at https://developer.mozilla.org/en-US/docs/Web/API/Response/json#browser\_compatibility as an additional subfeature. We wouldn’t want that of course — but I know the code for generating the BCD tables very well, and it would be easy to add some special-handling to it to cause it ignore any case of `"static"` as a subfeature but not ignore it when it’s called directly as a feature — that is, ignore it for the MDN page that specifies its relevant BCD feature/query is `api.Response.json` but not ignore it if the MDN page specifies its relevant BCD feature/query is `api.Response.json.static`. [00:17:18.0887] * yeah in hindsight I guess it all should have been done that way from the beginning but at the point is seems like correcting it globally would maybe be a case of the cure being worse than the disease [00:17:31.0146] * yeah in hindsight I guess it all should have been done that way from the beginning but at this point is seems like correcting it globally would maybe be a case of the cure being worse than the disease [00:17:42.0584] * Yeah in hindsight I guess it all should have been done that way from the beginning but at this point it seems like correcting it globally would maybe be a case of the cure being worse than the disease [01:06:20.0407] dlrobertson: what other parts of the range syntax do browsers support? [01:30:36.0660] (I've replied to the issue) [03:28:38.0282] annevk: About the controller PR, I ended up spelling out all the initiator types, it does feel cleaner than a string. The PR build passes now and I went through all the comments again, I think it's ready. [05:38:47.0411] > <@jakea:matrix.org> dlrobertson: what other parts of the range syntax do browsers support? Thanks! I'll comment in the issue as well [05:45:52.0193] tl;dr I think this would in practice only be used for blob slicing (and we don't have to support this) [06:33:36.0801] * tl;dr I think this would in practice only be used for blob slicing (and we don't have to support this form of range there) [07:20:32.0316] foolip: sideshowbarker: IMO the more we can move the ecosystem away from incorrectly thinking of prototype/instance methods and properties as static ones the better... I'm excited that this is providing a forcing function. I hope one day strings like "Document.createElement" never appear in anyone's infrastructure... [07:45:05.0337] > <@domenicdenicola:matrix.org> foolip: sideshowbarker: IMO the more we can move the ecosystem away from incorrectly thinking of prototype/instance methods and properties as static ones the better... I'm excited that this is providing a forcing function. I hope one day strings like "Document.createElement" never appear in anyone's infrastructure... It’s just a lot of work, and even if done there isn’t another agreed-upon shorthand, so I think we’ll keep seeing this for a long time… [07:46:41.0060] Someone would have to go on a long and dedicated cleanup campaign to sort this out across MDN, BCD and maybe other places. [08:39:58.0594] Shorthand doesn't seem necessary, `.prototype` is not a lot of extra characters [08:40:23.0415] I agree this is a lot of tech debt. Like all tech debt, it was waiting to bite us one day. You can keep paying interest or you can pay down the principal. [08:40:29.0010] * I agree this is a lot of tech debt. Like all tech debt, it was waiting to bite us one day. You can keep paying interest or you can pay down the principle. [08:40:48.0264] * I agree this is a lot of tech debt. Like all tech debt, it was waiting to bite us one day. You can keep paying interest or you can pay down the principal. [09:47:58.0663] Hi all! What do you all think of this idea? [09:48:04.0812] https://github.com/WICG/scroll-to-text-fragment/issues/185 [09:48:43.0561] I open an issue - I would like to know the opinion of everyone here. [09:49:03.0943] `https://example.com/#:~:text=character_start&character_end&elementHTML` [09:49:21.0092] `https://example.com/#:~:text=characters&words&lines&without_white_space¶graphs&spaces&sentences` [09:50:12.0494] My idea is to search text snippets according to character size or html reference [09:50:28.0983] `https://en.wikipedia.org/w/index.php?title=Cat#:~:text=38,7,1,32,1,6,1` [09:50:49.0425] "characters": "38", "words": "7", "lines":"1", "without white space":"32", "paragraphs": "1", "spaces": "6", "sentences":"1", "string": "Like almost all members of the Felidae" [09:52:21.0524] `https://en.wikipedia.org/w/index.php?title=Cat#:~:text=0&38&h3` [10:18:46.0239] please, I would like to know the opinion of everyone here. [10:47:16.0742] is anyone online? [10:53:57.0136] Is this idea good or bad? [10:57:29.0004] if you think this idea is bad, an alternative would be this idea/concept: https://discourse.wicg.io/t/proposal-built-in-e2e-encryption-into-web-browsers/5897 - Hi all! A question is it possible to use the FIDO protocol and hardware keys through E2E in browsers? [10:58:31.0672] another doubt/concept: 3. Integrating css+js+html into a single language will allow what many call Embedded markup as RTF - Rich Text Format? [10:59:30.0850] 4. What do you all think of this idea of having an official standard for importing/exporting passwords in browsers? [11:24:51.0867] raphaellouis: I think you should consider that if you are not getting responses, then this forum might not be the best place for your ideas. In general people most interested in hearing about a proposal for a specification are already on the specification's issue tracker. Or people interested in hearing new general ideas are already subscribed to the WICG discourse. Going to an unrelated standards forum's chat room and linking to your idea is maybe not a good way of interacting with that standards forum. [11:28:41.0210] * I agree this is a lot of tech debt. Like all tech debt, it was waiting to bite us one day. You can keep paying interest or you can pay down the principle. [12:21:56.0904] @Domenic thank you for feedback 2022-06-10 [05:13:14.0856] How do I check / ensure that a concept in the HTML spec is exported? I'm looking for a `template` element's content. I see that there exists `template contents`. Do I want to supply a patch that adds an `id=` attribute here? [06:12:01.0977] freddy: you want to make that , ID should be generated already [06:16:01.0985] Do these editorial things need an issue or would a pull request suffice? :) [08:18:38.0575] ``` If imageRequest is not a data URL [RFC2397] and if the timing allow check fails for imageRequest’s resource, run the report image element timing algorithm, passing in the triple (element, imageRequest, now), 0, and root as inputs. ``` [08:21:20.0946] Element Timing API spec has this ^, the `timing-allow-check` correctly covers loading a cross origin image case I believe, but I don't think it covers `make renderTime 0 if there are cross origin redirects, regardless the timing-allow-origin header`? [08:21:45.0389] Yoav Weiss: ^ [08:22:17.0069] Here's the test case https://github.com/web-platform-tests/wpt/blob/master/largest-contentful-paint/multiple-redirects-TAO.html#L19 [08:26:49.0669] Hmm.. I'm almost out for the week, but I'll get back to you [08:28:05.0581] no worries, I can always file a github issue [08:32:14.0773] freddy: PR is fine [09:46:09.0662] Yoav Weiss: could be I interpreted the test wrong, still looking 2022-06-13 [22:30:52.0385] annevk: Looking forward to your feedback on https://github.com/whatwg/fetch/issues/1438#issuecomment-1150755587. [00:57:50.0353] Yutaka Hirano: sounds like a good plan; I can look at the PR later today [01:20:47.0395] annevk: Thanks! [03:42:20.0466] sefeng: The spec's "timing-allow check" link should probably point directly to https://fetch.spec.whatwg.org/#concept-tao-check [03:42:27.0136] which does take redirects into account [03:42:54.0378] if the Chromium implementation doesn't, can you please file a bug? (Or land a WPT that would fail once we roll it in) [03:48:07.0005] sefeng: The comment you're pointing at in the WPT doesn't say that TAO for the redirects is ignored, just that the final resource is not impacting TAO passes or not, because it does [07:54:50.0867] annevk: regarding the struct on environment that would contain the various bits of StorageKey... do you have a preference on the name of the struct? what information do you see living in there besides nonce and cross-site-ancestor? [09:11:00.0426] wanderview: top-level origin and origin, although I'm a little torn on origin given that it's still somewhat inconclusive what networking should do [09:11:27.0059] But maybe it's okay enough that networking just ignores that part when creating its key [09:12:52.0278] Given all of that I was thinking "authority" would be fitting and we'd ignore parts of it in specific contexts, but I'm definitely open to other ideas [09:18:17.0029] Luca Casonato: hey, for full duplex, the tests you pointed to, does the server there support full duplex? [09:36:41.0029] I added some thoughts to the full duplex issue directly, I think it's worth looking into, but I wonder if the existing setup already got us stuck with half duplex, e.g., due to the blobs [11:36:01.0548] > <@annevk:matrix.org> Luca Casonato: hey, for full duplex, the tests you pointed to, does the server there support full duplex? If it is the Deno.dev one, yes 2022-06-14 [02:22:08.0249] annevk: for the fetch issue, can we count on client to always be task destination? `useParallelQueue` seems to change that, e.g. for sync XHR but I guess it's not in use much? [02:23:16.0352] I guess it's OK in that case to use the parallel queue as the task destination anyway (thinking out loud) [02:37:19.0734] Noam Rosenthal: I'm not sure, I suspect that in general we have to do more of that and less useParallelQueue [02:37:51.0271] Noam Rosenthal: the effect could be that if you have to use a parallel queue you don't get automatic timing reporting? [02:38:17.0134] I suspect you're more familiar with callers at this point, I haven't reviewed those in quite a while [02:39:24.0516] annevk: only sync-xhr uses parallel queue from what I could gather. Also there are barely any callers of `processResponseEndOfBody` once we do the automatic reporting. From what I see it's OK to use the regular task destination and perform both operations [02:39:56.0604] That would be great [02:40:08.0873] I'll make sure to take another look later today [02:40:40.0694] > <@annevk:matrix.org> I'll make sure to take another look later today Thanks, I'll have the new revision up shortly [04:02:35.0174] Does anyone know folks from Github? [04:03:42.0704] It seems to be relying on very specific bfcache behavior https://bugzilla.mozilla.org/show_bug.cgi?id=1772739#c10 [04:35:34.0919] Luca Casonato: I saw you agreed to forbidding H/1 connections for upload streams, are you going to look at the full duplex issue still? I think we should solve that, although I suppose I could merge this PR and we'd leave the "blocking" label there for now; Yutaka Hirano thoughts? [05:35:24.0152] annevk: yeah that sounds good. I am at https://webengineshackfest.org/2022/ until tomorrow, and then at another conf on Thursday, so I won’t get to the full duplex streaming until Friday [05:57:09.0411] Ooh cool, still hope to be able to visit that one year; enjoy! [06:43:34.0159] > <@smaug:mozilla.org> It seems to be relying on very specific bfcache behavior https://bugzilla.mozilla.org/show_bug.cgi?id=1772739#c10 Related, https://github.com/whatwg/html/issues/7253 [08:29:41.0786] > <@annevk:matrix.org> Ooh cool, still hope to be able to visit that one year; enjoy! Thanks 😊 [11:19:11.0381] Domenic: Thinking about my next partitioning PR, I think we need to populate environment's top-level origin for SharedWorker. In implementation, though, we only populate the origin with the top-level site. Its the only consistent value to use when top-level site partitioning is in use. (We don't want different values depending on which document first created the worker.) Does that sound like a reasonable approach to take in the spec as well? [11:57:37.0246] wanderview: I *think* so. I'd prefer to get annevk's feedback, but from what I can tell from e.g. https://github.com/whatwg/html/pull/5491#issuecomment-638989208 and related comments, we have so far punted on defining top-level origin for workers until storage partitioning was in place, and we knew that we would eventually need it to ensure that e.g. network caches work well. Or at least, we would need enough info to feed into "obtain a storage key" / "obtain a storage key for non-storage purposes". Which I guess is just the site. What's unclear to me is whether this means "top-level origin" is not a good primitive, and if so what we would do about it. But e.g. it is used in origin form for window-specific things like showPicker() or COOP enforcement. So maybe the best we can do is say that it's sometimes an origin and sometimes a scheme-and-host, and maybe rename it slightly to reflect that? [12:04:08.0581] right, this issue only effect SharedWorker and ServiceWorker... but right now I'm not aware of anything that actually depends on top-level origin specifically instead of top-level site [12:04:51.0592] its possible some extension stuff in chromium would see slightly different behavior for requests coming from those workers 2022-06-15 [22:15:46.0949] wanderview: if you created a shared or service worker from a document with a nonce, presumably they too should have a nonce? [02:43:13.0724] https://github.com/gzuidhof/coi-serviceworker [02:43:32.0752] * https://github.com/gzuidhof/coi-serviceworker [07:20:52.0492] annevk: yes, the nonce would propagate and be part of the storage key as well [08:24:05.0566] wanderview: I might have misunderstood and thought you were asking if we needed to pass anything on in addition to top-level origin... I think we have some things where we want to use top-level origin as opposed to site, e.g., if we want to disallow something in "third party" documents ideally we'd use cross-origin as a way to determine that. Some of that might be applicable to workers as well, but it's hard to come up with a concrete example [08:33:49.0695] annevk: I just discussed this with Domenic and he was going to write up an issue [08:54:34.0013] https://github.com/whatwg/html/issues/8014 [12:14:39.0523] annevk: would an initial PR to add "authority container" with just an origin and then a follow-up PR to add top-level site to the container be reasonable? 2022-06-16 [00:05:24.0237] wanderview: yeah I think so, would love to hear from Google security folks too [07:39:06.0543] not sure what the question for the security folks is [11:51:53.0272] wanderview: "could you please evaluate this idea and let us know your thoughts?" [11:53:38.0469] "this" == the refactor to add auth container? or some other part of what we have been talking about? [12:43:41.0531] Domenic: to solve https://github.com/whatwg/html/issues/7976 we need to solve https://github.com/whatwg/html/issues/1013 , right? Especially if we only want to allow adding new render-blocking things if the "current script" was itself render-blocking [13:11:12.0701] zcorpan: I don't understand the connection [13:13:01.0815] Domenic: when import() runs, how can it tell whether the running script is render-blocking? (Assuming we don't want async scripts in to be able to add render-blocking imports, or from setTimeout and such) [13:13:58.0686] I guess the web-exposed mechanism for #1013 is not necessary, but the same internal mechanism [13:31:46.0785] I thought import(..., { blocking: "render" }) would just set the render-blocking flag on the script when it runs [14:11:29.0374] Domenic: See https://github.com/whatwg/html/issues/7976#issuecomment-1145105267 it should not set the flag if the script was in . Which makes me think the import() steps need to check if the