2021-04-01 [05:40:16.0000] quick poll (for those who don’t mind sharing): [05:40:55.0000] in a console (devtools or node, doesn’t matter which), what do you get for the following: [05:40:59.0000] Intl.DateTimeFormat().resolvedOptions().timeZone [05:52:13.0000] "Europe/London" [05:52:40.0000] "Europe/Prague" [05:56:44.0000] thanks [05:58:26.0000] ondras: are you actually in Prague or near, or instead somewhere else, and the system is picking that? [05:59:15.0000] I am in Prague, it is correct [05:59:17.0000] or in other words, is that what you’d expect it to say [05:59:21.0000] ah OK thanks [05:59:21.0000] right [05:59:29.0000] (tried firefox, Chrome, and Node) [08:23:56.0000] "America/New_York", which is, indeed, where I am [08:44:59.0000] Exception: Intl is not defined [09:04:02.0000] Europe/Paris for me, which is correct. [15:43:43.0000] MikeSmith: "America/Los_Angeles" for me, and I'm def not in LA, but that *is* the standard timezone name for American Pacific time. (I'm in SF area.) [15:44:24.0000] (It's what I know to look for when I'm selecting timezones using this naming system.) [16:04:22.0000] TabAtkins: interesting — I would have assumed the IANA DB had an America/San_Francisco zone, but apparently not [16:04:27.0000] https://en.wikipedia.org/wiki/List_of_tz_database_time_zones [16:07:32.0000] there are 8 different America/Indiana/* zones — but I guess those must all have some quirks related to most of Indiana being on US/East offset [16:11:26.0000] I am trying to document some of this for MDN [16:14:27.0000] from a user point of view, it’s a bit surprising if, for example, you went into the Date & Time: Time Zone widget in System Settings, and it asked you to pick the closest city, and you picked San Franciso ... but then your system ends up with its timezone set to America/Los_Angeles rather than America/San_Francisco [16:33:03.0000] Yeah these are definitely programmer-facing names, not user-facing names 2021-04-03 [05:04:38.0000] new Date('2021-03-29').toISOString() [05:04:41.0000] "2021-03-29T00:00:00.000Z" [05:04:51.0000] new Date('2021/03/29').toISOString() [05:04:52.0000] "2021-03-28T15:00:00.000Z" [05:05:07.0000] fun stuff [06:50:59.0000] hello good people, I'm currently the maintainer of the HTML5/wasm export of Godot Engine. We've been recently bitten by CORS headers limitations in `fetch`. [06:50:59.0000] I know there are security implications with CORS, but I'm wondering if there is one specifically for why `Content-Length` is whitelisted while `Content-Encoding` is not. And if it would make sense to open an issue on the whatwg/fetch github for that. [06:50:59.0000] To give some context we were using `Content-Length` to improve memory allocation when `Content-Encoding` was not set (so we knew that Content-Length reflected the acutal bytes to be read). You can read some more in this PR: https://github.com/godotengine/godot/pull/47597 [09:51:16.0000] fales[m]: you'd probably get a good answer by filing on whatwg/fetch and waiting for annevk to come back from his OOO time. However I'll note in general that the allowlist is just legacy exceptions and if anything we'd want to reduce it over time (i.e. remove Content-Length) instead of expand it. [09:51:34.0000] s/I'll note that/my impression is that/ (annevk would be better to confirm) [12:50:25.0000] Domenic: thanks for your reply. I'll think about opening an issue then, but I see the point in reducing the allowlist instead of expanding it. [14:36:45.0000] Does the spec expect all UAs to support Ecmascript? If not, what do UAs that do not support Ecmascript generally do when the specs make mentions to things like Javascript Realms? [14:41:47.0000] My understanding is that the spec only needs to keep track of realms because callbacks must be associated to some realm, and so you don't have to care about them if you don't support scripts [14:42:09.0000] Ok, thanks 2021-04-07 [06:36:59.0000] does coop or coep require https? [06:38:14.0000] smaug____: yeah, step 2 https://html.spec.whatwg.org/multipage/origin.html#obtain-coop [06:38:40.0000] ah, there, thanks [06:40:06.0000] smaug____: both do. for coep, step 2 in https://html.spec.whatwg.org/multipage/origin.html#obtain-an-embedder-policy [06:40:45.0000] wpt tests to verify this exist [08:41:34.0000] Hi Domenic! thanks for the quick response on HTML/NavigationTiming. Navigation Timing is ready to merge, but right now it shows errors as it waits for ReSpec to be synced with the new changes in HTML. I am not sure how it works in terms on when ReSpec catches up with HTML, but I think it happens daily. I can merge it in the moment it does... /cc yoav [08:52:44.0000] I *think* respec is using specref, which seems to update multiple times a day: https://github.com/tobie/specref/commits/master [08:54:06.0000] it's claiming to be run hourly: https://github.com/tobie/specref#hourly-auto-updating [08:54:52.0000] tobie would know more [08:56:53.0000] ah yes seems like specref does it, which should happen hourly-ish. I'll wait for the next specref push to verify navigation timing [13:23:37.0000] noamr: have your issue been fixed? 2021-04-08 [21:15:30.0000] Can anybody think of any methods or properties that return Boolean objects rather than just a true/false boolean primitive? [21:16:20.0000] Context is that in MDN we have many cases of web-platform APIs where we have them documented as returning Boolean objects [21:17:36.0000] ...and it seems like that is wrong in almost all the cases where we have it documented that way, because the relevant methods and properties actually return true/false boolean primitives [21:18:13.0000] tracking bug is https://github.com/mdn/content/issues/3898 [22:02:11.0000] tobie: no, seems like specref is still not up to date with latest HTML... the documentation says it updates hourly, specref.org says it updated around 24 hours ago. it's unclear to me what to do in this case... thanks :) [02:15:14.0000] ok, seems to be caught up now. thanks! [08:21:11.0000] MikeSmith: no, Boolean objects are evil and are never to be used (and it's impossible to return them in IDL) [11:09:54.0000] I recall someone sharing on Twitter (probably) interesting cases with history back/forward that aren't interoperable, like removing iframes and then clicking back. Can't find it now. Does it ring a bell? Domenic? [11:10:10.0000] That's JakeA... it's a mess. Let me find his latest. [11:10:31.0000] Well, most of the recent issues in https://github.com/whatwg/html/issues/created_by/jakearchibald are of that flavor [11:11:02.0000] https://www.youtube.com/watch?v=nZb0U3rFQXw is a good watch [11:11:23.0000] Domenic: thanks [11:14:56.0000] context is https://github.com/web-platform-tests/wpt/issues/16359 [11:39:57.0000] zcorpan: there's also https://youtu.be/W6lvQvdeF8U [11:40:42.0000] JakeA: yeah HTTP 203 was probably what I had seen :) [11:41:38.0000] zcorpan: been trying to figure out what to do with cancelled beforeunload prompts today 😞 [11:41:45.0000] It's tricky [11:44:04.0000] JakeA: is it interoperable? [11:49:45.0000] zcorpan: oh absolutely not. It isn't even consistent within a single browser 😀 https://github.com/whatwg/html/issues/6446 [11:50:08.0000] JakeA: fun! 2021-04-09 [22:15:30.0000] Domenic: thanks for feedback about Boolean objects [22:15:36.0000] will get MDN updated [22:18:56.0000] oh wow I just now accidentally discovered that in GitHub comments you can surround a range of text into backticks just be selecting it and typing ` [22:19:26.0000] pretty sure that’s not documented [23:53:08.0000] MikeSmith: they added some formatting stuff in the past couple of months. Eg, now if you start a list, and press enter, it automatically inserts the start of the next list item. Eg `- ` [23:53:56.0000] Although, I don't like that it does it for numbered lists. In markdown I prefer starting each list item with `1. `, rather than giving it the proper number. That means I can rearrange items without manually updating the numbers. [23:56:13.0000] JakeA: yeah I had accidentally discovered the list auto-bulleting thing a while back [23:56:47.0000] and yeah for numbered lists it would be better if it didn’t try to be quite so smart [01:47:45.0000] annevk: did we change it so and are always navigation requests now? [01:51:26.0000] Oh, I see it https://github.com/whatwg/fetch/pull/948 [07:51:25.0000] JakeA: so currently I guess a session history is definitely BCG scoped. After your work though it'll span BCGs, right? For app history we only want to show the current-BCG subset, so will there be a way to differentiate which session history entries are in the current BCG? [07:57:20.0000] Domenic: why do we want to scope it like that? I thought the BCG was for protecting resources in memory like images etc from meltdown/spectre attacks [07:57:58.0000] JakeA: well, good question; csreis seemed to prefer that and I didn't really question it... I'll move this to GitHub. [07:59:10.0000] JakeA: well, the history state seems kind of like sensitive data too in that regard? [07:59:34.0000] Like if one BCG is not-COI and thus untrusted/Spectre-able, it should not be able to read app history state from a COI BCG that is otherwise protected from Spectre [07:59:47.0000] Domenic: is it any more sensitive than what can be exchanged in IDB? [07:59:58.0000] Fair... [08:01:19.0000] Domenic: I currently have the concept of a "session" which limits history visibility & session storage, but it can span BCGs. The session changes when a cross-origin navigation happens outside the control of the page (url bar, selecting a bookmark etc etc) [08:01:58.0000] If a session changes, it must change BCG, but a session can span many BCGs [08:18:21.0000] (fwiw I keep having to remind myself that isolation is there to protect no-cors data) [10:52:38.0000] MikeSmith: teeny tiny wattsi PR https://github.com/whatwg/wattsi/pull/142 [10:53:30.0000] hober: will take a look [10:53:52.0000] MikeSmith: thanks! :) [10:58:51.0000] oh, you don't need to! Domenic just merged it. thanks, Domenic! [10:59:14.0000] Oh, no problem! I was just monitoring my inbox and saw it pop up... [11:00:36.0000] hober: I could still build fine in my environment prior to that patch, with macOS 11.2.3 (20D91) [11:03:09.0000] but anyway I can also still build fine with the patch merged [11:03:14.0000] so it’s all good [11:07:44.0000] Thanks for checking MikeSmith [14:10:46.0000] great. thanks again, both of you. 2021-04-10 [11:02:51.0000] Hi [11:10:07.0000] Hi 2021-04-12 [01:49:09.0000] annevk: Would you mind merging https://github.com/web-platform-tests/wpt/pull/26740 ? [02:07:14.0000] andreubotella: you got it [02:07:39.0000] Oh, I see now that it was marked as needs spec decision, but maybe that happened while I was away? [02:10:03.0000] annevk: There wasn't a lot of work done on this while you were OOO, but it seemed like there was some consensus in doing things that way [02:16:19.0000] I'm messing around with the render blocking status of resources, and confused by the "non-blocking" script flag in HTML: https://html.spec.whatwg.org/multipage/scripting.html#non-blocking [02:16:20.0000] It seems like when dynamically adding script resources and setting their async attr to true, their non_blocking is unset [02:18:52.0000] and I'm trying to understand why that would be the case.. [02:19:32.0000] ^^ JakeA [02:20:23.0000] from memory, that bit of the spec is really confusing [02:20:44.0000] I think it's kind of overloaded as a bit of bookkeeping, and the non_blocking flag is set later [02:30:07.0000] It doesn't in our impl as far as I can tell [02:30:26.0000] (or maybe it's set after I report the render blocking status) [02:31:14.0000] I guess my question is: should dynamic scripts with async=true be materially different than dynamic scripts with no async attribute? [02:31:34.0000] in terms of execution order, priority, etc [02:36:27.0000] welcome back annevk! when you have time I want to tie loose ends with FETCH/RT (https://github.com/whatwg/fetch/pull/1202 for now) [02:45:17.0000] @yoav I don't think they should be different [02:46:10.0000] JakeA: ok, so there's no way to "turn off" the blocking nature of a dynamic script once you touched it? [02:46:27.0000] once you touched its async attribute [02:46:48.0000] yoav: I don't think so. async=false is still non-blocking, but it changes execution order [02:47:27.0000] it may be "non-blocking" but its non-blocking flag is unset [02:47:40.0000] (which caused me some confusion) [02:47:53.0000] yeah, I get confused by that too [04:46:55.0000] JakeA: when you get a chance, https://github.com/w3c/ServiceWorker/pull/1575 is ready for another look [07:28:47.0000] noamr: hey, I hope I'll get to it by Wednesday, maybe tomorrow; there's a lot [07:29:17.0000] annevk: sure, whenever you get to it. thanks. [08:13:46.0000] annevk: thoughts on https://github.com/WICG/app-history/issues/71 would be much appreciated; JakeA and I seem to have different ideas from creis about the boundaries of cross-origin isolation and extra perspective would be great. [08:19:16.0000] Domenic: I guess these URLs would not leak with the current history API because the parent process manages them? [08:19:25.0000] Domenic: and they are not directly exposed? [08:19:41.0000] annevk: yeah, it seems like the question is whether same-origin URLs are sensitive [08:19:43.0000] Domenic: if so, creis has a point [08:20:35.0000] Like, should we have some sub-origin concept where URLs that are same-origin but COI are considered sensitive from the non-COI parts of the origin... [08:22:20.0000] Domenic: so say you are on example.com/sensitive-id and the navigate to example.com/ which includes an ad, and the former protects itself with COOP+COEP and also prevents referrer leaking, then the latter would now be able to obtain something new [08:22:59.0000] annevk: yes. If we consider example.com/sensitive-id and example.com to be in an adverserial relationship then indeed something leaks. I just kind of thought we never did that, because the origin was our security boundary. [08:23:31.0000] Domenic: well example.com includes an ad, perhaps via