2019-05-01 [04:08:52.0000] Soni: does https://whatwg.org/faq#adding-new-features help? [04:09:07.0000] Soni: there's also https://whatwg.org/working-mode [15:14:31.0000] Anyone know if beidson (https://github.com/beidson) represents WebKit in W3C repos? Only evidence I can find is his approval of https://github.com/web-platform-tests/wpt/pull/8898 [15:15:18.0000] I ask is because I'm trying to determine if https://github.com/w3c/IndexedDB/issues/255#issuecomment-470255862 is a public signal for Safari to impl a small feature 2019-05-02 [23:00:09.0000] domfarolino: yup [23:00:44.0000] domfarolino: see also @bradeeoh [03:38:58.0000] In https://w3c.github.io/ServiceWorker/#run-service-worker-algorithm , step 4.13 says "If callbackSteps is provided, run them with evaluationStatus on the original thread that invoked this algorithm, while continuing in parallel with these steps." [03:39:01.0000] How does that work? [05:54:37.0000] Ms2ger: that doesn't seem entirely correct, it'd have to queue on the original thread [05:54:56.0000] That sounds more like something that could work, certainly [05:55:03.0000] Could you file it? [05:56:26.0000] not right now [05:59:28.0000] https://github.com/w3c/ServiceWorker/issues/1403 [09:32:13.0000] Ta [11:21:39.0000] I have question regarding Readable​Stream [11:21:39.0000] as part of the Web API, is this the right place? Is someone available to look into my question? [11:34:12.0000] Anyone reading? [11:38:35.0000] you're more likely to get a useful answer by asking your question, rather than by asking if you should ask your question.... [11:48:31.0000] Aight, I try to release the lock of a Reader (ReadableStreamDefaultReader). I do not manage to synchronize for the read to be out of the way. Of I use the promise, returned from the read, I get an error the read is not settled. [12:05:55.0000] So I try to cancel a Readable stream. Therefor I need to release the reader first. I I try to unlock the reader I get an error there is read going on. So I wait until the read promise resolves, I unsure no other read will done. Then I get an error the read has not settled yet. I can go arround the problem by setting a timeout (works for Chrome, Safari, Edge, not for Firefox). [12:07:11.0000] This where the error is thrown: https://github.com/Borewit/readable-web-to-node-stream/blob/891285d073ecb77f8537d02d96feb4ae050b2157/src/index.ts#L76 [12:08:25.0000] If I increase time ¨sleep timer¨ one line before, from 1 msec to 1 sec, it becomes more likely to pass: https://github.com/Borewit/readable-web-to-node-stream/blob/891285d073ecb77f8537d02d96feb4ae050b2157/src/index.ts#L76 [12:32:31.0000] So the expect error is: ¨TypeError: Cannot release a readable stream reader when it still has outstanding read() calls that have not yet settled¨ 2019-05-03 [05:45:00.0000] Have Travis timeouts shortened? HTML isn't building successfully on master for unclear reasons [06:07:16.0000] annevk: Maybe the new validator.jar fetching location? [06:11:49.0000] Domenic: well, but it's only affecting commits as of an hour ago [06:12:07.0000] And it seems to be failing in random places [06:12:09.0000] Hmm yeah I guess we did do some commits after that, true. [06:14:40.0000] Yeah that is weird. Error code 28 is not documented anywhere. [06:15:06.0000] Just re-run them and hope it's a temporary error somewhere in the pipeline? [06:15:31.0000] I can try again, but really gotta go now [06:16:03.0000] I can take care of it [08:34:50.0000] Seemed like a temporary error, although interesting to note that if you try to re-deploy something that's already deployed, our build appears to hang at the rsync step. [09:28:54.0000] Ta [09:29:29.0000] foolip: how long do IDL changes take to get reflected on WPT? [09:31:13.0000] annevk: about a day if reffy is working and if Luke or I see reviewing https://github.com/web-platform-tests/wpt/pulls/autofoolip [09:31:25.0000] I haven't this week, is it one of those PRs? [10:39:25.0000] foolip: no, html [10:41:32.0000] foolip: thanks for explaining 2019-05-06 [12:05:51.0000] Would someone be able to clarify what is meant by "the field of web technologies" in the contributor agreement? 2019-05-07 [08:18:26.0000] Domenic, hey, where were you planning to use IDL modules? [08:31:38.0000] Ms2ger: kv-storage. I'm thinking at least a PR there that uses 3-4 of your Web IDL PRs. [08:39:43.0000] Domenic, feel free to start from https://github.com/WICG/kv-storage/compare/master...Ms2ger:idl?expand=1 [08:40:06.0000] Oh :) [08:41:05.0000] (I don't have time to work on it today) [08:41:22.0000] Is there, uh, much left to work on [08:41:50.0000] The async iterator I guess [09:04:18.0000] annevk: https://github.com/web-platform-tests/wpt/pull/15818 is not waiting on me, right? There's some spec work to do before it's merge-ready? [12:10:05.0000] Domenic: we could consider landing if all browsers pass [12:10:47.0000] annevk: looks like Firefox has a 3/4 pass https://github.com/web-platform-tests/wpt/pull/15818/checks?check_run_id=77530288 [12:11:05.0000] Domenic: but yeah, need to decide on an approach 2019-05-08 [17:57:11.0000] Domenic: about https://freenode.logbot.info/whatwg/20190506#c2160727 [17:57:44.0000] > oliverdunk: Would someone be able to clarify what is meant by "the field of web technologies" in the contributor agreement? [17:58:26.0000] do you know if that person ended up submitting a PR or raising an issue? [17:58:59.0000] or did they just go away without us hearing anything more from them? [18:01:56.0000] OK, I find https://github.com/oliverdunk [18:39:05.0000] MikeSmith: yep, being discussed in the long thread [18:48:41.0000] OK [18:49:09.0000] /me needs to catch up on GitHub notifications [18:55:53.0000] https://jameshfisher.com/2019/04/27/the-inception-bar-a-new-phishing-method/ [18:57:27.0000] Firefox has the same problem [18:58:08.0000] is there even a “don’t ever hide the address bar” user option? [08:34:32.0000] annevk: ping on Infra reviews (for tomorrow) [08:37:10.0000] Domenic, for synthetic modules, do you think IDL would be a good spec to put them in? [08:38:13.0000] Ms2ger: yeah, I think for now at least, maybe with a "this may be upstreamed to 262 as part of the JS standard library proposal" note. And maybe eventually it may be the right place for it anyway, if we end up specifying that the JS spec's built-in modules also should use Web IDL. [08:39:03.0000] Ok, I'll see if I have time tomorrow [08:40:14.0000] Awesome, thank you! [12:26:08.0000] Domenic: can you review https://github.com/web-platform-tests/wpt/pull/16734 ? I don't think I have the right domain knowledge for this one [12:27:00.0000] zcorpan_: for sure, will do tomorrow [12:27:09.0000] thx [13:41:42.0000] Have had a bit of a backlog for a while, but can prioritize those Infra PRs. They look interesting 😊 [14:19:49.0000] I've surveyed the landscape of focus stuff. Expect a brain dump on an initial plan tomorrow. 2019-05-09 [00:17:04.0000] Oooh, exciting [05:34:32.0000] zcorpan++ for requestSubmit() tests review [06:04:10.0000] class MyEventTarget extends EventTarget { constructor(stuff) { super(); } } <--- is this correct? [06:04:33.0000] because Safari says "function is not a constructor (evaluating 'super()')" [07:00:23.0000] ondras: if it runs in Firefox I'd say it is [07:00:31.0000] (not the best answer, granted) [07:01:23.0000] :) [07:01:29.0000] yeah, it works in FF and Chrome [07:17:45.0000] ondras: might wanna search bugs.webkit.org for EventTarget [07:17:57.0000] annevk: okay, will try [07:31:19.0000] perhaps this is somewhat relevant: https://bugs.webkit.org/show_bug.cgi?id=67312 [07:31:24.0000] will issue a new bug probably [07:33:08.0000] ondras: https://bugs.webkit.org/show_bug.cgi?id=174313 [07:33:35.0000] /me searched for EventTarget, then inline search for constructor [08:02:43.0000] Gah why does the W3C stylesheet still do terrible things to tables. https://pr-preview.s3.amazonaws.com/heycam/webidl/pull/722.html#synthetic-module-records [08:08:42.0000] annevk: ah. I searched for "EventTarget super" [08:08:44.0000] :/ [08:26:38.0000] TabAtkins: if you could provide some sort of quick fix for https://github.com/w3c/tr-design/issues/104#issuecomment-490950952, for specs which don't need to conform to pubrules (e.g. EDs, community group reports, IDEA status) that would be much appreciated. [08:37:14.0000] Domenic: Looking into it again. The problem is that the styling issue we're trying to solve is hard. :( [08:37:38.0000] TabAtkins: I mean it would be good enough for me if tables just weren't wrapped in overlarge, or if overlarge didn't do any centering at all. [08:38:26.0000] Thanks for looking at it though. It is like my number one problem reading specs these days. (Probably other people have many other problems...) [08:38:40.0000] The point of overlarge is to provide a scrolling wrapper, so a wide table doesn't screw up the entire spec when reading on mobile. [08:41:30.0000] Does it need to be a centered scrolling wrapper? [08:42:23.0000] (Tangent: IDL both includes all the ED stylings manually, *and* links to the W3C ED stylesheet. It looks like this is just a result of the webplatform boilerplate doing that for some reason: https://github.com/tabatkins/bikeshed/blob/master/bikeshed/boilerplate/webplatform/header.include . I should fix that and see if anyone else copypasted that same error.) [08:42:54.0000] Yes please, I was noticing something weird going on in that vein, but didn't dig in too hard. [08:42:58.0000] Domenic: People really like centered tables, ¯\_(ツ)_/¯ [08:43:17.0000] Citation needed? They are pretty terrible in all fixed-width specs... [08:54:12.0000] I should create a filter for sheriffbot I suppose [08:55:32.0000] sleevi’s claim of it actually working is thus far proven false to me [08:58:32.0000] Ms2ger: https://webassembly.github.io/spec/web-api/ does not contain the words "ArrayBufferDetachKey" [08:59:00.0000] Ah, I think it was supposed to be https://webassembly.github.io/spec/js-api/ [08:59:03.0000] I'll fix [08:59:27.0000] I wonder if IDL detach was only ever used by HTML [08:59:38.0000] This seems possible [09:00:05.0000] Domenic, yes, should be js-api [09:00:49.0000] Yeah, though maybe some audio thing detaches? [09:01:10.0000] Streams detaches, but uses ES directly [09:01:33.0000] Does it anticipate throwing? [09:01:59.0000] I guess everything using ES directly is also problematic [09:02:20.0000] It does not [09:03:03.0000] Streams needs editorial love [09:06:51.0000] You gotta write up this “I’m on the IDL train now” post 😊 [09:07:30.0000] Besides https://github.com/whatwg/streams/issues/963 ? [09:09:53.0000] Domenic: yeah, more like a personal journey thing [09:10:27.0000] Yeah... Just gotta re figure out how my blog works [09:10:35.0000] 😊 [09:28:19.0000] lol [09:28:53.0000] this is why i wrote myself a composer [11:01:52.0000] Oh man, I think I fixed the table CSS to satisfy every single design constraint we had. [11:02:05.0000] Gobbless display:grid [13:06:33.0000] can someone explain "All same-agent Window objects together represent a group of Window objects that can synchronously access each other, though sometimes only after setting the document.domain attribute (in)appropriately." in the HTML spec to me... cause it seems the definition of "same-agent Window objects" doesn't contain the domain comparison [13:19:57.0000] dtapuska: looking [13:20:23.0000] dtapuska: it does contain the domain comparison in step 6 [13:21:01.0000] that is the comparison of the host attribute in the tuple [13:21:16.0000] host and domain are different attributes in the security origin tuple [13:21:44.0000] See definitions of https://html.spec.whatwg.org/#same-origin [13:21:59.0000] https://html.spec.whatwg.org/#same-origin-domain [13:23:09.0000] and https://html.spec.whatwg.org/#isplatformobjectsameorigin-(-o-) [13:23:51.0000] I want to rewrite isplatformobjectssameorigin as if agent windows are the same.. but I can't because the definition of same agent windows seems flawed but the note talks about it [13:25:59.0000] it can't just compare domain of the security origin, since it needs to allow any two origins that could end up same-origin-domain if their domain attribute was modified in some manner [13:26:07.0000] i.e. the current value of the domain attribute is irrelevant [13:32:42.0000] Ah I get it then... because in order to modify domain it needs to be same_site 2019-05-10 [19:48:01.0000] Domenic: would you think https://github.com/whatwg/html/issues/4356 is somehow related to the Focus meta-bug stuff 👀? [19:49:05.0000] cybai: I guess so, in that it'll be more obvious why browsers differ and are allowed to differ. It won't solve the interop problem though, unless miraculously all browsers decide to have the same focus model independent of OSes [19:55:04.0000] Domenic: yeah! thanks! I was confused what a focusable area while I filed that issue. Happy to see that meta-bug :D About the interop problem, I see; it would be great if all browsers decide to have same focus model independent of OSes 😂 [20:28:58.0000] Anyone know if CSS images have a default referrer policy of no-referrer? Trying to see if this test is asserting correct behavior: https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/security/resources/referrer-policy-conflicting-policies.html [22:06:16.0000] domfarolino: they don’t [22:07:43.0000] domfarolino: but that seems to be testing something else [22:09:10.0000] It seems that the document's referrer policy will be the empty string since it is unset, and https://www.w3.org/TR/referrer-policy/#referrer-policy-empty-string (the example) I think indicates that it should be treated as no-referrer-when-downgrade. [22:09:23.0000] I guess I don't see why the request should have no referrer at all, hmm [22:28:02.0000] domfarolino: the meta sets it to origin, but the fetch is cross-origin [22:28:18.0000] domfarolino: I’m assuming the second bit btw [22:29:34.0000] domfarolino: that the meta has taken effect assumes something about delivery of the document I think [22:30:29.0000] annevk: Ok, I was assuming it hasn't taken effect at the time of image fetching, as per "Checks that an CSS image that was created before a referrer policy was set". I am not sure if the fetch is x-origin [22:35:00.0000] domfarolino: oh hmm, perhaps localhost is special? [22:35:17.0000] annevk: Ah, I found https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/security/referrer-policy-conflicting-policies.html?g=0&l=5, which I guess explains things [22:35:26.0000] domfarolino: anyway, the default is not no-referrer [22:36:22.0000] I guess the page is loaded via https, but the image request is made to an insecure origin, and therefore no-referrer-when-downgrade kicks in and results in no-referrer [22:38:32.0000] So it is cross-origin [22:39:41.0000] It’s weird to me the meta can take no effect, CSS is parsed sync, but this means fetches also have to be prepared sync; maybe one day CSS will define that… [22:39:46.0000] yes, but I think the value of, or even inclusion of the meta tag is irrelevant. i think what is being exercised is the "downgrade" part, where no referrer is included in requests from secure => non-secure [22:40:30.0000] interesting [23:36:01.0000] annevk: so do you think it is _defined_ that the document’s RP at the time of fetching the CSS image there is the default empty string, since meta hasn’t “taken effect” yet? [23:38:12.0000] domfarolino: time of fetching or creating the request for the fetch is not defined [23:39:23.0000] annevk: Wow I’m surprised even creating the request is not defined [23:39:37.0000] That seems..not great lol [23:40:14.0000] CSS’s interaction with non-CSS is shaky [23:47:54.0000] I see [23:57:59.0000] Domenic: I'm a little surprised https://github.com/whatwg/html/pull/4603 got landed as we still have the Streams/IDL issues, or will someone file follow-ups? [01:07:03.0000] FYI: https://github.com/whatwg/sg/issues/90 [03:54:50.0000] const portal = document.createElement('portal'); [03:54:50.0000] portal.src = url; [03:54:51.0000] portal.activate(); [03:54:51.0000] ^ post this, if I need to navigate back to the parent page, what should I do? [03:56:09.0000] (might be a very silly question, but not able to find it in the explainer) [03:57:28.0000] I believe what you want is adoptPredecessor, defined on the portalactivate event. That returns a portal containing the website you came from. [04:03:21.0000] oliverdunk: neat, let me give it a shot, portalHost also would be useful? [04:05:11.0000] howdoi: Are you asking so you can communicate with it? I assume portalHost would become undefined on the context that's been activated, and become defined on the context you are coming from. [04:06:10.0000] /me oliverdunk: yes, first up trying to figure out the navigate back. (too much of a grey area) [04:11:20.0000] You'd want to listen to the portalactivate event, and when it fires, call adoptPredecessor on the event and store the returned element. When you're ready, you could then call activate on the element you're storing somewhere to go back. I'm not sure if you need to actually embed the portal for it to stay loaded. [04:15:59.0000] What I am trying to do is a SPA, with multiple portals and seamless navigation between them... [04:19:03.0000] That's definitely possible, is there something about my explanation that you're struggling to understand? Happy to elaborate. [04:45:02.0000] oliverdunk: thanks a ton, trying it now [04:48:50.0000] Ms2ger I saw that you had PR Preview report an error to you recently. Was it helpful and did it let you fix the issue easily? [04:49:03.0000] Ms2ger: what can be improved about it? [04:49:28.0000] I did? [04:49:48.0000] Ms2ger: https://github.com/whatwg/html/pull/4603 [04:50:35.0000] Ms2ger: if you look back at the edits to the OP [04:51:51.0000] I think that may have been in response to Domenic's edit [04:52:51.0000] Ms2ger: oh! Well, Domenic if you have comments/suggestions, you're welcome. [06:52:55.0000] oliverdunk: still around? [06:53:03.0000] Indeed :) [06:53:40.0000] nice, just came across portal.replaceWith() [06:56:16.0000] That should work, although it's a ChildNode thing, rather than a portal thing: https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/replaceWith [06:57:34.0000] oliverdunk: so here is what I understood: [06:57:34.0000] 0. Say, example.com, has a portal to example.xyz [06:57:34.0000] 1. On click of a button in example.com, we activate the portal. [06:57:34.0000] 2. If example.xyz I shall have portalactivate event and get ref to example.com from adoptPredecessor [06:57:34.0000] 3. Now I can navigate back to example.xyz on need. [06:57:34.0000] Correct me if I am wrong. [06:58:48.0000] Yep, exactly. The only caveat is that I think you need to insert the portal returned by adoptPredecessor into the DOM. I could be wrong, but I believe that if you don't, the portal will be closed. [06:59:03.0000] /me it's the same replaceWith, heh heh, forgot that portal is also an HTMLElement [07:00:07.0000] okies, trying to make two plain html pages and emulate this use case [07:00:55.0000] or rather post these two pages on two diff ports and test [07:02:10.0000] It sounds like what you've got should work, let me know if you have more questions. Off topic: closing a portal sounds really sci-fi and I love it. [07:04:11.0000] oliverdunk: holy goodness, I felt the same about portal closing! [07:05:57.0000] also, where I can read more about CORS, CSP and other security concerns for portal? [07:11:31.0000] I believe it's still up for debate, issues like https://github.com/WICG/portals/issues/17 and https://github.com/WICG/portals/issues/22 may be worth a read. The spec has an empty section for this at the moment: https://wicg.github.io/portals/#security-considerations [07:14:57.0000] hmm, interesting [07:15:16.0000] window.addEventListener('portalactivate', () => {}) is not getting trigged, but the portal is loading [07:16:25.0000] annevk: can I get a green check mark on the JSON parse PR? Will rebase and merge if so. [07:16:55.0000] Domenic: ah yes, will do that [07:16:56.0000] howdoi: Looks good to me. You're aware that it only fires after the activate() call? [07:18:27.0000] oliverdunk: yes, but if page-1 is loading it via is in't like activate? [07:19:19.0000] Nope, at that point all you've got is window.portalHost. activate means when the portal becomes full screen, takes over the address bar etc. [07:22:17.0000] but I don't see page-1 contents, I just see page-2 the contents when I load page-1 which has the portal element in it [07:23:55.0000] So you're embedding page2 into page1 as a portal the same size as the viewport? [07:24:32.0000] yup [07:25:26.0000] So the idea is that page1 is almost like an invisible host that just manages sending you between the pages? [07:26:42.0000] Finally, I would like to have multiple portals in page1, let me reduce the the viewport and see, I get the point [07:28:34.0000] Rather for now, let me have a button which on click loads the portal, there by invoking activate [07:28:52.0000] Is your goal multiple portals on page1 displayed in a grid? Or multiple full size portals with only one visible at a time? [07:28:58.0000] Or something else entirely :P [07:29:12.0000] I was trying to gauge the difference between explicit activate call vs [07:29:58.0000] hah hah, grid of portals, that should go fullscreen on user actions [07:34:52.0000] Failed to execute 'activate' on 'HTMLPortalElement': The HTMLPortalElement is not associated with a portal context, what, but why? [07:35:27.0000] Is this going from page2 back to page1? It sounds like you the portal was closed because it wasn't added to the DOM. [07:38:51.0000] it wasn't added, right! [07:39:14.0000] now I am seeing an unexpectedly closed the connection. [07:40:22.0000] Where's that? [07:40:22.0000] localhost:3000 is the main page, localhost:3001 is the portal page; in the main page I have a button on click loads the portal [07:42:13.0000] howdoi: can you go through where exactly the error appears? Although it sounds like a server error rather than something wrong with your JavaScript. [07:43:50.0000] oliverdunk: both the main page and the portal page loads fine independently, from page one on button click I create a portal element, assign the src to the portal page, append it to the html and invoke activate; but after I click the button it loads a fullpage with an unexpectedly closed the connection. [07:44:22.0000] duh! my bad, `https` hmm [07:45:26.0000] https://usercontent.irccloud-cdn.com/file/kjLQUyRp/hmm%2C%20I%20had%20given%20it%20as%20https%3A%2F%2F%20instead%20of%20http%3A%2F%2F [07:47:15.0000] So, now on click the portal loads fullscreen, but portalactivate event is not getting triggered yet [07:47:55.0000] also, when the portal loads, devtools close [07:51:02.0000] I'm seeing the same, that looks like a bug. Not sure why the event isn't called. [07:53:09.0000] There's definitely a portalactivate event listener registered, and then you call activate()? [07:56:22.0000] oliverdunk: yes, should we report the devtool bug? {I am sure someone else would have} [07:57:31.0000] I couldn't see anything: https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3ABlink%3EHTML%3EPortal+. I decided not to bother, as it'll almost definitely be picked up as they work on DevTools support - no harm in doing so if you want to, though. [07:59:15.0000] okies, for now focusing on get this thing done [08:06:34.0000] oliverdunk: the `portalactivate` not triggering could be a bug too? [08:07:02.0000] let me relaunch canary, I was on 76.0.3789.3 [08:08:09.0000] same [08:08:28.0000] It seems pretty fundamental to me and I'd be surprised if it wasn't spotted. I'm also not having any trouble on my end. Are you able to share your code? [08:08:53.0000] sure [08:13:19.0000] oliverdunk: https://gist.github.com/hemanth/ebb6a2e01f10c515162b4af7efd91474 format is screwed [08:20:07.0000] Huh. I guess portalactivate is being called before your event listener was registered. [08:23:11.0000] Not certain if that's something that should be fixed or not, probably worth making an issue for. In the meantime, you could add a delay - or for a more robust solution, have the second page post a message to the host when it's ready. [08:28:56.0000] `portalactivate` should be in portal page itself right? [08:29:41.0000] Yep. By issue I meant one on the spec by the way, rather than a chrome bug. [08:37:01.0000] oliverdunk: did we find a bug in spec!?! [08:38:48.0000] Bug is maybe pushing it, but a potential omission! It makes sense that the event is missed - but I can see other people doing what you've done, so perhaps the "default" behaviour of the browser should be overridden. Worth saying that I'm not involved in the spec at all - just a fan of portals like you. [08:39:16.0000] Did you want to open an issue? If not I'm happy to do so. [08:44:43.0000] oliverdunk: I am :) I just opened one with devtools [08:48:41.0000] oliverdunk: https://bugs.chromium.org/p/chromium/issues/detail?id=961740 I guess I am missing something trivial, but let us see [08:53:56.0000] I feel bad, but in looking for your first issue, I stumbled onto https://bugs.chromium.org/p/chromium/issues/detail?id=961142 - didn't think to look under DevTools . If you can you probably want to close yours as a duplicate. For the second it's probably better at https://github.com/WICG/portals/issues. Chrome's implementation is fine, the discussion to be had is about if the spec should have a special case for when the page hasn't [08:53:56.0000] loaded yet. [09:15:10.0000] Domenic: https://github.com/web-platform-tests/wpt/blob/master/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js#L461 isn't quite right, I think [09:16:09.0000] postMessage and timers use different task sources, so any ordering between those can't be guaranteed [09:16:38.0000] Yeah, that makes sense. Can we find any DOM manipulation task source replacement for postMessageTask? [09:17:37.0000] let me try to find and fix the test (first in Gecko wpt) [09:17:59.0000] Thank you! [09:18:18.0000] oliverdunk: I got in touch with the spec authors let us see what they have to say, before we file an issue? [09:19:09.0000] Sure [09:38:14.0000] A simple DOM manipulation task source task: data:text/html, [09:38:18.0000] hacky, but simple [10:11:09.0000] Perfect :) [10:52:13.0000] https://w3c.github.io/ServiceWorker/#cache-addAll Under the process the response substeps -- specifically the bit about Vary --I'm guessing that "If fieldValue matches '*'" means, match the literal string '*"? So addAll wont' cache anything that has "Vary: *"? (but it will cache for other, non-wildcard values of Vary?) [12:42:09.0000] [nvm], confirmed that it's screening out `Vary: *`, which apparently people use, as a form of cache control?? 2019-05-11 [11:46:50.0000] hey so, I was meeting with developer friends online and we got to talking about shadow dom and a number of conversations came up for which I couldn't recall some of the rationale for answers we came up with so I began digging back in history and I think I wound up with just different questions... [11:47:23.0000] Is the reason that we shaped a lot of the characteristics of shadow dom the way we did (you can't remove them, we throw rather than replace or something if you try to do it again) bound up in the original talks from circa 2011 where the proposals had mutple shadow roots [11:48:50.0000] or is there a real good reason why you can't specifically say 'yes, I really do intend to replace any shadow root that might exist with this one instead' [11:52:26.0000] I realize that seems to beg for a use case at some level since it seems like you could just replace the _contents_ of a shadow root, so for context it was bound up in reasoning and discussion about all sorts of aspects about 'native' shadow roots and what things would throw and why and them trying to come up with some way around challenges [14:02:10.0000] the portal is not associated with a predecessor browser context, when would this happen? [15:28:51.0000] var portal = e.adoptPredecessor(); [15:28:51.0000] document.body.appendChild(portal); [15:28:51.0000] But now, I am able not able to do any actions on the appended child....am I missing something? [15:29:56.0000] also, we can't invoke `e.adoptPredecessor();` twice in `onportalactivate` ? 2019-05-12 [09:32:49.0000] /me ƒ SMSReceiver() { [native code] } wow! [10:06:24.0000] annevk: out of curiosity, am I right in thinking that the comment you asked me to modify won't be rendered anywhere? I guess the idea is for implementors to look at the source for additional notes? [10:47:03.0000] It’s mostly for those maintaining the standard [10:47:34.0000] Implementers won’t view source [11:28:58.0000] Thanks :) I should setup ZNC, my Mac goes to sleep a lot... 2019-05-13 [23:20:11.0000] can anyone please point me to a RFC where the SameSite attribute is defined? [23:20:41.0000] the recent Chrome cookie treatment recommends putting SameSite=None on cookies that are to be used as 3rd party, but MDN says that None is not a valid value [23:23:29.0000] ondras: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-5.3.7 [23:24:28.0000] TimothyGu: thanks! this is only a draft, right? how does one find what draft is the proper draft? :) [23:25:12.0000] ondras: that's the most current one. If you click on "Tracker" at the top of the draft then you can find the history/status [23:26:33.0000] In particular, it's been there in some form since 2014 though the first document to call it SameSite is draft-west-first-party-cookies-05 in 2016 [23:26:42.0000] TimothyGu: nice, thanks. still a bit overwhelming, but I will try to understand the timeline at the top :) [23:26:59.0000] my current issue is the 'None' value [23:27:09.0000] that is recommended by Google [23:27:21.0000] (but rejected by Chrome up to 66) [23:28:52.0000] ondras: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7 defines the meaning of None [23:29:00.0000] ondras: it was only implemented in Chrome in https://chromium-review.googlesource.com/c/chromium/src/+/1573081 [23:29:31.0000] ondras: which per https://chromiumdash.appspot.com/commits?commit=324657c38b04e13532d952c90674bc453b634706&platform=Linux is only in 76 [23:29:41.0000] yes [23:29:48.0000] to be released in July [23:30:10.0000] but support for non-{lax,strict} values was added in https://chromium.googlesource.com/chromium/src/+/5fbb75e93162093522879e707a13295b7452ef06%5E%21/#F2 [23:30:27.0000] so if I start sending samesite=none, chrome66 and older will reject those [23:31:35.0000] ondras: do you have any idea how much market share Chrome <66 has? [23:31:40.0000] no [23:32:08.0000] but i suppose that might include older android devices/browsers [23:32:17.0000] that are extremely popular here in Czech Republic :/ [23:32:57.0000] ah… [23:33:31.0000] my initial plan was to start adding somesite=none to our cookies that are to be used in a 3rd party manner [23:33:42.0000] but I will have to re-consider [23:35:44.0000] ondras: I suppose some telemetry would be useful for your case [23:40:53.0000] perhaps [23:41:32.0000] or, well, not forcing the None value when it even is not yet accepted as a RFC? :) [23:43:13.0000] ondras: I would strongly encourage looking at implementation status rather than RFC approval as if a feature is ready [23:43:43.0000] :/ okay [23:44:11.0000] it's pretty common for a standardized feature to get hung up on approval due to bureaucratic matters [23:46:19.0000] is this the case? [23:46:29.0000] that, I don't know :) [23:50:12.0000] the draft we are talking about, https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-5.4, it defines a storage model [23:50:21.0000] I might not be good at reading RFCs [23:50:36.0000] but it looks to me like the model says "samesite=none" equals to no samesite attribute [23:51:00.0000] (step 13) [23:51:09.0000] do I interpret this correctly? [23:51:16.0000] I think so [23:51:35.0000] okay. so this is the behavior chrome76 is not going to follow? [23:52:55.0000] ondras: Why do you say Chrome 76 isn't going to follow that behavior? [23:53:18.0000] TimothyGu: because they are going to implement "no samesite attribute equals to samesite=lax" [23:53:30.0000] or that is what I understood [23:56:17.0000] ondras: implementing ≠ enabling by default [23:56:48.0000] ondras: from https://web.dev/samesite-cookies-explained/ it just seems like 76 adds a flag. there's probably going to be a bit of time before Lax is made the default [23:58:25.0000] ondras: also, the proposed change to make lax default is captured in https://tools.ietf.org/html/draft-west-cookie-incrementalism-00#section-3.1 [23:59:03.0000] I expect it to be quite a while before these changes to the default are implemented [00:01:10.0000] TimothyGu: okay, thanks for explanation [03:21:46.0000] @ondras What do you mean by rejected? From the article: "any clients that do not recognize SameSite=None as of yet should ignore it and carry on as if the attribute was not set." - by which it means, the browser hasn't been updated so still uses the less secure default, which will work third party. [03:24:40.0000] oliverdunk: well Chrome up to 66 ignores (does not store) cookies with SameSite=xyz (or None or any other non-Lax non-Strict value) [03:26:16.0000] https://medium.com/compass-security/samesite-cookie-attribute-33b3bfeaeb95 [03:26:33.0000] this article describes the behavior; probably with chrome 62 or 63 [03:26:47.0000] my further testing on browserstack confirmed the said behavior up to 66 [03:37:20.0000] ondras: Gotcha, so Chrome didn't have that behaviour until the patch you linked. You should get in touch with the article's authors as it seems like an important thing to note :) [03:51:29.0000] oliverdunk: okay, why not [05:05:28.0000] oliverdunk: please ping me once the agreement thing is sorted and I'll get back to the DOM PR, leaving it for now [07:36:14.0000] No worries, will do! [07:49:27.0000] he did anyone see this q -> https://freenode.logbot.info/whatwg/20190511#c2171308 - maybe @annevk or @Domenic knows? [07:49:48.0000] bkardell: I had a really hard time understanding that... could you try something more brief? [07:50:30.0000] sure... so, back in original proposals Dimiti and team worked out complex multi-shadow root ideas [07:50:49.0000] then at some point the decision was 'nah, let's just have one and it would throw if you did another' [07:51:38.0000] but there's also no way to remove it and native ones can look like they have none but throw (iirc) [07:53:43.0000] there was some discussion about how you would go about trying several things and the question was asked 'why is it that way' and.. I honestly couldn't recall beyond what I just said. Why can you not delete or remove a shadow root? [07:55:15.0000] I looked, but I couldn't find anything beyond those early discussions which never asked _this_ question, but were based on you can only have one, not many [07:55:40.0000] any better? [08:02:53.0000] "why can you not delete or remove a shadow root", is the question? [08:03:01.0000] Are you asking about your own shadow root, or someone else's? [08:09:38.0000] can you help me understand the distinction? [08:10:11.0000] how do I know about ownership? unless you mean author defined (any author) vs native? [08:27:36.0000] I mean custom element author vs. custom element user. [08:29:56.0000] bkardell: a lot of this boils down to more choices meaning more complexity [08:30:20.0000] bkardell: and cutting down on complexity that wasn't justified to the extent people needed it to be [08:31:34.0000] bkardell: it's not really "nah", it's that doing it requires answering "how" and that not necessarily being straightforward [08:34:04.0000] no I just meant 'nah' was the decision on multi-root designs for the time being - those discussions I recall - but I don't recall why there is no corresponding way to detach/remove one [08:34:27.0000] bkardell: that was not a "nah" decision, there were a lot of complexity arguments put forward [08:35:17.0000] I think maybe something is getting lost/overread... 'nah' is just intended as 'we decided not to for now' and nothing more [08:35:33.0000] "nah" makes it sound like it wasn't duly considered [08:35:36.0000] I see [08:35:49.0000] ok, sorry, didn't intend to give that impression, was trying to be brief [08:35:52.0000] Whereas there are good reasons not to go there [08:36:17.0000] yeah, no I agree - there was a lot of complexity in those proposals [08:36:55.0000] but I don't recall one about whether you could remove the one we decided to have - but you can't [08:37:12.0000] that is what I am asking about - do you recall discussions on that? I can't find any [08:37:19.0000] and I can't recall [08:38:11.0000] I can see issues, e.g., it's no longer clear how ShadowRoot.prototype.innerHTML works [08:38:46.0000] A ShadowRoot not having a host would likely complicate other algorithms too [08:39:13.0000] but wouldn't removing it just cause it to be freed? [08:39:35.0000] bkardell: that doesn't sound like JavaScript [08:40:56.0000] hmm... I am confused by the appropriate level of detail I should be providing to be clear possibly [08:42:40.0000] like element.removeShadowRoot() (or better name) could return no ref to the removed root - are you saying that doesn't sound like JavaScript? [08:46:48.0000] Yes, because it already has a ref [08:49:08.0000] got it [08:49:18.0000] sorry, I see what you mean now [08:53:30.0000] Domenic, hey, did you end up working on IDL/kv-storage? [09:11:08.0000] Ms2ger: no, after seeing you'd already done most of the work, it felt less urgent... I guess it'd still be worthwhile for one of us to factor out the module pieces that could land sooner, leaving the rest in prose? I dunno. [09:11:38.0000] bkardell: I wasn't around for early discussions, so if the question is "do you recall such discussions" I don't. (What I meant by brevity is mostly stating concrete questions.) [09:12:21.0000] bkardell: if the question is "why can you not delete or remove a shadow root", it depends on you. A custom element user removing a shadow root is an encapsulation violation. A custom element author removing a shadow root doesn't seem to add much over allowing them to just replace the contents with whatever they want. [09:13:37.0000] "A custom element author removing a shadow root doesn't seem to add much over allowing them to just replace the contents with whatever they want." - yeah, I agree [09:13:55.0000] thanks [09:23:43.0000] @Domenic on asking concrete questions, will try to do so in the future :) [09:41:01.0000] TabAtkins: $ bikeshed update / Updating via manifest... / Local data is already up-to-date (2019-05-06 04:51:06.668829). Done! [09:41:06.0000] Where are my updated dfns :(( [09:41:57.0000] Oh jeez, my computer just have fallen over at work. [09:42:36.0000] And between vacation, IO, and sick wife, I haven't been to the office since then [09:43:04.0000] I need to figure out how to put this on something external. 😑 [09:46:13.0000] I should be able to run it manually from my laptop tho, I'll check on that in a sec [09:53:18.0000] haha I see [09:55:42.0000] Domenic: Okay, data should be pushed up now. [09:57:15.0000] (Remember that you can always run `bikeshed update --skip-manifest`, if you want to force a full update manually without relying on the manifest data.) [09:57:59.0000] (But thank you for the ping anyway.) [09:58:38.0000] Ah, I did not know that, although I suppose I could have checked the docs [10:01:24.0000] Or `bikeshed update -h` ^_^ [14:16:47.0000] TabAtkins: btw, the more I touch specs, the more I appreciate bikeshed, it's really nice :) [14:16:54.0000] <3 [16:05:26.0000] Is there a way in spec land to determine whether an image was created/inserted by the parser as opposed to by script etc? I know