2021-02-01 [04:18:28.0000] Is the only place pointer-events is defined really only in the SVG spec?! [04:26:29.0000] Is the only place SVG is defined really only in the SVG spec?! (Yes, unfortunately so.) [04:27:43.0000] HAH but it applies to HTML too though [04:28:47.0000] HTML gets some maintenance, which is nice [04:29:55.0000] I like also how the SVG draft doesn't have a security or privacy section :D [05:16:00.0000] JakeA: hey I'm creating the "create a Response object" abstraction per your suggestion and am finding some difficulties with fetch() [05:17:09.0000] JakeA: in particular it creates a Response before having a response [05:17:17.0000] JakeA: and I'm not even sure how that works in all cases [05:18:25.0000] annevk: remind me why I suggested that šŸ˜€ [05:18:29.0000] I forgot the context [05:20:15.0000] JakeA: I think I found a way to make it work and clarify the situation [05:20:37.0000] JakeA: you suggested it because creating Request/Response is quite boilerplate-heavy and prone to error [05:20:59.0000] JakeA: I also just filed an issue against Background Fetch on one such an error (forgetting about guard) [05:21:10.0000] JakeA: PR up in a bit [05:21:14.0000] ohh cheers! [05:21:37.0000] (PR will be for Fetch, to be clear, but will make it easy to fix things downstream) [05:33:52.0000] JakeA: https://github.com/whatwg/fetch/pull/1157 (highlighted the problem I ran into) [05:47:55.0000] JakeA: you don't have concerns about the response [05:48:02.0000] JakeA: responseObject variable in fetch()? [05:53:07.0000] annevk: maybe I'm missing something? "Abort Fetch" already allows the responseObject to be null. I'd put a signal check in before responseObject is set to make it clear that an object shouldn't be created if it's been aborted [05:58:33.0000] JakeA: what I'm wondering is how variable binding works; that once you do "add these steps to request's signal" if that flattens responseObject to null, so those steps will never see a Response object [05:58:59.0000] JakeA: I think that's what happens in JS unless you do a closure [06:02:43.0000] annevk: I would expect responseObject to reference the variable in the parent scope, whatever it's set to at the time of those steps being called, not at the time of the steps being created. But yeah, I guess I'm treating it like a JS closure. But if it didn't have closure-like behaviour then the `Set locallyAborted to true.` line is wrong too, no? [06:03:45.0000] JakeA: yeah good point, okay, let's assume this works until someone wants it rewritten [06:04:10.0000] JakeA: I'll figure out the realm argument and I guess I'll add a standalone type for guard [06:26:38.0000] /me screams into the void: REALMS [06:27:21.0000] hahah [06:28:47.0000] annevk: I tried to cheat a bit on background-fetch https://wicg.github.io/background-fetch/#realms [06:28:58.0000] JakeA: btw if you have further input on the media range WPTā€¦ I think my next step there is generate one test file per scenario, but still no good ideas for pass/failure [06:30:05.0000] JakeA: thatā€™s prolly mostly correct except that context object will disappear [06:30:59.0000] annevk: yeah, I still had to pass it around algorithms. I tried to reduce typing a bit with stuff like https://wicg.github.io/background-fetch/#create-record-objects "All platform objects must be created in realm." [06:30:59.0000] And then you need to ensure you always have a this (e.g., you donā€™t if you create in a task) [06:32:08.0000] /me opens a tab to https://github.com/web-platform-tests/wpt/pull/27272 as a reminder [07:26:29.0000] JakeA: have you actually declared GitHub notification bankruptcy? As I have some other PRs... https://github.com/whatwg/fetch/pull/1151 is very simple [09:24:59.0000] annevk: for the status code tests, did you see Safari passing them? https://wpt.fyi/results/fetch/h1-parsing/status-code.window.html?diff&filter=ADC&run_id=5747393746173952&run_id=5657424113434624 indicates it fails all of them, but it's the same for all browsers... [09:25:38.0000] Domenic: Release 119 (Safari 14.1, WebKit 15611.1.10.1) passes all of them for me [09:25:47.0000] Fascinating [09:26:05.0000] Domenic: Version 14.0.2 (15610.3.7.1.10, 15610) does as well [09:26:07.0000] I wonder if it's an infra issue [09:26:33.0000] Do Chrome and Firefox fail all of them for you, like CI says? [09:27:11.0000] Domenic: no, I think it might be Python [09:27:24.0000] OK, yeah, that makes sense then [09:27:25.0000] Domenic: I didn't think about making the Python file Python 3 compatible [09:27:57.0000] And that doesn't fail locally or any CI... [09:28:44.0000] Yeah... the WPT infra team seems pretty nice about proactively going around and fixing any Python2-isms for us, and they have a plan to go 3-by-default soon I guess, at which point it will be enforced I hope [09:29:40.0000] I might try to fix this for them [09:52:00.0000] Domenic: This week Iā€™m trying to find out what the level of implementor interest is for https://github.com/w3c/webcrypto/issues/73 (ā€œUsing the Subtle Crypto Interface with Streamsā€). Wondering if you have any thoughts. [09:52:50.0000] Thanks for all the reviews Domenic (there's a couple more in Fetch if you're interested and also another one in URL); I'm gonna take a break for a bit as it's been a long day (mostly fun triage stuff) [09:53:22.0000] MikeSmith: Chrome seems pretty burned on touching WebCrypto again from what I can tell. But it might fit with projects like CompressionStream etc., from the streams folks. Maybe ping ricea@? I suspect the biggest determining factor though would be whether we have web developers telling us that it's critical for their applications. [09:53:39.0000] Same for Fx [09:54:08.0000] Also, if there are editors available, WebAppSec has plenty of specs that could use some maintaining... [09:54:36.0000] annevk: I am working on WebAppSec too, actually. As of this month [09:54:43.0000] \o/ [09:56:30.0000] Domenic: annevk: about Web Crypto feedback, thanks. Iā€™d like to get implementor comments on record in the issue tracker, so I reckon Iā€™ll @-mention some [09:57:16.0000] annevk: for Gecko, maybe Martin Thompson and Sylvestre Ledru [09:57:37.0000] or lemme know if you have other suggestions [10:00:11.0000] btw, https://github.com/w3c/webcrypto/issues/73 has 56 thumbs ups, though no comments from anybody saying it rises to the level of being critical for their apps [10:00:38.0000] unless you count vague stuff like https://github.com/w3c/webcrypto/issues/73#issuecomment-290314738 [10:00:45.0000] > If streaming/progressive encryption isn't implemented, it's going to hugely limit the scope of usage of the API. I really need that kind of functionality for the software I work on. [10:01:53.0000] https://github.com/w3c/webcrypto/issues/73#issuecomment-395968210 [10:02:05.0000] > You just can't upload 3GB files in memory to hash them in a single block. Right now if you have this use case you are forced to look into other library options. [10:02:40.0000] there do seem to be a lot of devs that need to do things with multi-gigabyte files [10:14:55.0000] I thought wpt was already Python 3 by default [10:14:56.0000] https://github.com/web-platform-tests/wpt/pull/27081 [10:15:31.0000] MikeSmith: mt seems fine [10:17:07.0000] andreubotella: curious, not sure what's going on then [12:22:22.0000] Hmm we should probably incorporate the monkeypatches in https://w3c.github.io/webappsec-mixed-content/#fetch 2021-02-02 [23:24:36.0000] How do one post a redbale stream using a fetch request ? [23:24:37.0000] When I try and do that in chrome, the request pyload comes out as : "[object ReadableStream]" [23:24:38.0000] And the content-length is 23 [23:25:30.0000] I am specifcially trying to place multiart related request , and to do that I ave created a stream [23:26:00.0000] which I post to a database which expec a mutipart/related request [23:26:15.0000] *readable stream [23:41:27.0000] Anurag: not supported yet [23:41:57.0000] Anurag: maybe by the end of this year it'll be cross-browser, Chrome is (soon?) running some experiments [00:04:58.0000] Ok thank you annevk, I was confused by the Firefox documentation that one can post readablestream [00:07:18.0000] You mean MDN? I guess they didn't try that code then... [00:15:55.0000] yes Mozilla Firefox [00:15:58.0000] https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch [00:16:18.0000] The document here says that in fetch body , we can pass redable Stream [00:17:32.0000] Anurag: MDN is not specific to Firefox, anyway, I'll let the MDN folks know [00:18:25.0000] oh great! [00:18:25.0000] Is there any reference than how do one post multipart/related body content type ? [00:18:46.0000] I was able to find tons of examples on internet for how to do multipart/form-data [00:19:04.0000] but for "multipart/related" request there are no examples, or the one do not works. [00:21:58.0000] Anurag: even with streams that wouldn't work automatically; you'll have to write some serialization code I guess, either to an ArrayBuffer or Blob and then pass that to fetch( [00:22:00.0000] ) [00:23:15.0000] Yeah I did exactly that, I created a readable stream and pushed my data into it using the redablestream controller. [00:23:57.0000] Anurag: okay, well all you have available at the moment is buffer things locally until you have a complete request or use WebSocket [00:24:27.0000] ok [00:24:44.0000] let me try that. [00:24:44.0000] Thank you ! [02:21:08.0000] annevk: hah, sorry for missing that fetch PR. Yeah struggling to divide my time right now šŸ˜€ [02:42:45.0000] JakeA: thanks, I'm gonna change "creating a Request object" to use Request/create similar to ReadableStream syntax for that [02:42:56.0000] JakeA: but otherwise I think that is good now [02:45:15.0000] annevk: Makes sense! It isn't always clear to me when something should be 'for' another object. I guess it makes sense here because constructors are owned by a type. Does it have link text that makes sense when using it? [02:50:04.0000] JakeA: now pushed [02:50:40.0000] JakeA: yeah you can use "Let _r_ be the result of creating a {{Response}} object, given ..." [02:52:09.0000] annevk: That seems ok. It seems a little weird to me that the "a {{Response}} object" bit isn't in the link text itself, but no biggie [02:52:17.0000] JakeA: there are no hard rules for for="" unfortunately; I normally wouldn't use it for something like this, but since there's precedent and it looks kinda nice I think it's okay to endorse this pattern, it is kinda similar to constructors indeed [02:53:32.0000] (the upside of it not being in the link text is that you can use {{ }} around it and not have to use , afaik) [02:54:07.0000] yeah, that's worth it [02:55:13.0000] JakeA: maybe at some point you, Domenic, and I can take some time to document some of these spec-writing patterns somewhere [02:55:31.0000] Stuff that's not far enough along for Infra, but would still be useful for people to learn/copy from [02:56:18.0000] I heard Google has some spec writing course that this could complement as well, I'd think [02:56:57.0000] annevk: Sounds good. Fwiw, in cases where there's a pattern, I try to provide a usage example https://w3c.github.io/ServiceWorker/#example-cfaebd87 [02:57:09.0000] There's a spec writing course?? I should probably go on it [02:57:57.0000] annevk: FYI https://stackoverflow.com/questions/66007054/why-doesnt-cors-preflight-request-prompt-for-or-reuse-a-connection-where-clie [02:58:56.0000] dunno what to tell them but see my comment there and if I got anything wrong please post a comment correcting i [03:00:05.0000] ā€œWhy [was something designed a certain way]ā€ questions like that are only marginally on-topic for SO anyway [03:01:19.0000] JakeA: btw, the one comment I didn't address was your signal question; I'm not sure I understand it [03:02:21.0000] MikeSmith: so reading that I didn't know that the user would be prompted before the request is made, that seems awkward [03:03:52.0000] oh [03:03:57.0000] yeah [03:04:09.0000] MikeSmith: but I do wonder why anyone would want to inflict client certificates upon their users [03:04:18.0000] well [03:04:21.0000] Microsoft [03:04:24.0000] I guess [03:04:28.0000] enterprise [03:05:17.0000] Enterprise does appear to want to inflict terrible UX upon users [03:05:27.0000] Ryan Sleevi or Eric Lawrence probably could give the ugly details, since I know they have had to deal with related bugs [03:05:50.0000] I know neither cares for this feature either šŸ™‚ [03:05:58.0000] yeah [03:07:46.0000] and yeah, in my personal experience in previous jobs, ā€œenterpriseā€ and ā€œintranetā€ are pretty synonymous with horrible UX, and apps with really bad UI [03:24:38.0000] MikeSmith: couldn't resist leaving a short reply there, but probably not gonna put more time into it [03:25:21.0000] JakeA: I think the signal thing was already handled unless I'm still missing something [04:31:55.0000] annevk: https://github.com/whatwg/html/pull/6336 is waiting for the Build check. Does it need a rebase, or just close and reopen? [04:35:23.0000] zcorpan_: I don't know [04:35:38.0000] annevk: ok i'll try close and reopen first [04:45:31.0000] annevk: it's green now. ok to merge? [04:47:46.0000] zcorpan_: I guess I'd ask Domenic to do it just in case [04:47:57.0000] ok [06:19:41.0000] annevk: thanks yeah [06:20:58.0000] thatā€™s the problem with this kind of question on SO and why itā€™s off-topic: thereā€™s no answer that is going to ā€œsolveā€ the question (at least not to the satisfaction of the OP) [06:22:04.0000] SO is supposed to be for questions about a specific programming problem somebody is trying to solve, not something that anybody could show up with an opinion about [06:22:51.0000] MikeSmith: yeah whatwg/fetch would actually be a better venue, but I'm not sure it would be super productive [06:23:00.0000] MikeSmith: we might well have to change this though [11:02:49.0000] IDL uses Travis CI and it's just... 2021-02-03 [17:22:16.0000] Domenic: in documents you author other than HTML, you generally donā€™t use any hard margin? I mean, not like the 100-character limit we use for the HTML spec source [18:07:42.0000] MikeSmith: yeah, I guess not. At least, never in Markdown if I can avoid it. [18:07:53.0000] Definitely in JS and other programming languages... [18:08:00.0000] Not sure what I do for HTML, but I guess usually no wrapping [18:08:13.0000] yeah I meant mostly for markdown or HTML [18:08:40.0000] for mdn/content source, we are not enforcing any line wrapping [18:09:35.0000] at first, last month when we started with the new system, I though I would not like the lack of wrapping [18:10:50.0000] but then I spent time figuring out how to get my vim set up to handle it well ā€” specifically, how to get it vim to soft-wrap regardless of the window size, and how to soft-wrap indented blocks right [18:11:19.0000] and now I have kind of come around to really liking it [18:12:13.0000] it eliminates one less busywork thing to worry about [21:39:26.0000] Yeah, I think we should give up on wrapping too. With GitHubā€™s diffing and PR preview thereā€™s far less of a need [23:17:12.0000] Multiple commits from one PR works as well: https://twitter.com/fetchstandard/status/1356849141624799233 [00:26:14.0000] annevk: crossOriginIsolated is a guarantee that this page does not have opaque content in the same process, right? [00:28:33.0000] It feels like it shouldn't also be other things like a sessionStorage or history.back boundary. [00:30:14.0000] JakeA: there can still be opaque content, but it "consented" [00:30:53.0000] JakeA: I'm not sure how those are the same, after all, it will also have access to localStorage and such [00:33:47.0000] cool, we're on the same page I think [02:36:49.0000] Domenic: https://wpt.fyi/results/fetch/h1-parsing/status-code.window.html is now correct btw [03:16:27.0000] JakeA: I think we discussed this before, but why are you tracking things per browsing context rather than per top-level browsing context for session history? Or do browsers also track something at the browsing context level? cc smaug____ [03:17:37.0000] JakeA: is that to avoid having to re-identify the