| 01:04 | <MikeSmith> | annevk: will look at https://github.com/whatwg/html-build/pull/39 |
| 01:04 | <MikeSmith> | annevk: oh, merged already |
| 03:46 | <cvrebert> | MikeSmith: What's the policy on merging things in the test suite repos? Their CONTRIBUTING files are just licensing legalese. |
| 04:37 | roc | reads http://homepages.cwi.nl/~steven/Talks/2015/11-06-xml-amsterdam/ |
| 04:37 | <roc> | sigh |
| 04:42 | <caitp> | i guess they aren't fans of js? |
| 04:46 | <roc> | I suspect he isn't a fan of anything that happened on the Web this century |
| 05:02 | <Hixie> | this talk is great |
| 05:02 | <Hixie> | "You can tell by reading the HTML5 spec that it was written by programmers" |
| 05:03 | <Hixie> | meanwhile programmers whine that html is unimplementable and obviously written by theorists |
| 05:04 | <cvrebert> | "CSS is another example of a successful declarative approach" LOL |
| 05:05 | <Hixie> | this talk is so naive it's hilarious |
| 05:05 | <Hixie> | for example, where are the "Advantages of the Procedural Approach"? or the "Disadvantages of the Declarative Approach"? |
| 05:06 | <Hixie> | it's been 10 years now. you'd think they'd understand what went wrong with xforms. |
| 05:06 | <roc> | plus his "declarative" and "procedural" examples aren't even nearly specifying equivalent behavior |
| 05:07 | <roc> | plus his procedural example is padded by specifying non-negative integers, which aren't covered by the declarative example at all |
| 05:10 | <Hixie> | i think the best part of this talk is that it fails to address any of HTML's actual failings or any of the actual risks to the Web platform. |
| 05:10 | <Hixie> | it literally could have been given almost verbatim 10 years ago |
| 05:11 | <Hixie> | the "100 year web" slide in particular |
| 05:12 | <Hixie> | maybe steven doesn't know that i wrote the HTML spec specifically to address that problem (though i was thinking more on the 1000-year timeframe) |
| 05:12 | <Hixie> | and that that is why the text looks like his "Procedural numbers: HTML5" slide |
| 05:13 | <Hixie> | (i don't understand the internal inconsistencies he's referring to in the "Inflation" slide. Is it the bolded text on the previous slide?) |
| 05:14 | <Hixie> | (maybe he subscribes to the "everything should be conforming" camp or the "anything not conforming must be left undefined" camp, but in that case, his "100 year web" slide misses the point even more) |
| 07:05 | <annevk> | That set of slides captures the nuance of Fox News |
| 07:41 | <annevk> | JakeA: finally got around to filing https://github.com/w3c/beacon/issues/14 |
| 07:51 | <JakeA> | annevk: would you expect backgroundSync to have the same restrictions? It doesn't right now |
| 07:51 | <annevk> | JakeA: of course |
| 07:51 | <annevk> | JakeA: that's what we talked about, how that would be broken |
| 07:52 | <annevk> | JakeA: your argument was sendBeacon() throw the first stone, but I don't think that's true in contemporary implementations and we better prevent it from happening |
| 07:54 | <JakeA> | annevk: this makes backgroundSync kinda useless. Eg, I send an email in the elevator when leaving work, put phone in pocket, phone switches from wifi to cell, my message isn't sent |
| 07:55 | <annevk> | JakeA: yeah, needs to be optin |
| 07:55 | <annevk> | I gave this feedback when we started out too, I'm pretty sure |
| 07:55 | <annevk> | But then you decided amongst yourself on a different UX model without taking that into account |
| 07:57 | <JakeA> | annevk: also don't browsers prefetch pages as they're typed into the address bar? Typing into the address bar can make requests to sites you weren't intending to visit. Isn't this the kind of thing we invented private browsing modes for? |
| 07:57 | <JakeA> | It was taken into account |
| 07:57 | <annevk> | I don't think all browsers do that |
| 08:00 | <JakeA> | annevk: the only way I can see of making background sync opt-in is to prompt on browser/tab close |
| 08:01 | <JakeA> | Which gets complicated on mobile in terms of when a tab is closed |
| 08:14 | <annevk> | JakeA: yeah I was thinking something like that too |
| 08:14 | <annevk> | JakeA: it's not ideal to be sure |
| 08:14 | <annevk> | JakeA: we should have a somewhat larger debate about this |
| 08:15 | <annevk> | JakeA: whether it's okay for closed tabs to continue to have some insight into user behavior |
| 08:15 | <JakeA> | annevk: where's good? Background sync github? |
| 08:15 | <annevk> | JakeA: maybe public-webappsec? |
| 08:15 | <annevk> | JakeA: that's the only list I know with security minded folks already subscribed |
| 08:19 | <JakeA> | annevk: makes sense. I'm filming this morning, but can draft something up this afternoon |
| 09:12 | <zcorpan> | how does assignments on github work? i can't assign jungkees in https://github.com/whatwg/html/issues/321#issuecomment-155357371 |
| 09:14 | <Ms2ger> | It only works for people who have push access |
| 09:14 | <Ms2ger> | Other people can't fix issues, obviously |
| 09:14 | <Ms2ger> | Servo uses an "assigned" label |
| 09:23 | <jgraham> | fwiw I was considering using a bot to create one label per reviewer for wpt. You could do something similar with assignments |
| 09:23 | <cvrebert> | https://github.com/isaacs/github/issues/100 |
| 09:24 | <jgraham> | (i.e. r?jgraham would set a label reviewer:jgraham a=jgraham would set a label assigned:jgraham) |
| 09:24 | <jgraham> | (or something) |
| 09:24 | <jgraham> | (the point being that then people could see their review queue/assignment queue) |
| 09:34 | <annevk> | We should add jungkees to the non-push access group |
| 09:34 | <annevk> | I'll do that |
| 09:37 | <abreton> | hello |
| 09:37 | <botie1> | salut, abreton |
| 09:37 | <abreton> | I am wondering if there is a way to make a worker inherit the CSP from the calling document? |
| 09:41 | <annevk> | abreton: not currently, as far as I know |
| 09:42 | <abreton> | annevk: ok thanks |
| 09:55 | <MikeSmith> | cvrebert: whose CONTRIBUTING files? |
| 09:56 | <cvrebert> | MikeSmith: web-platform-tests , csswg-tesy |
| 09:56 | <cvrebert> | *csswg-test |
| 09:56 | <MikeSmith> | the policy is basically that we don't merge things in that are unnecessary or redundant, so if there's anything in that class, we shouldn't merge it |
| 09:57 | <MikeSmith> | or should revert it if it's already been merged |
| 09:57 | <cvrebert> | MikeSmith: What about review requirements? |
| 09:58 | <MikeSmith> | Hixie: I guess it is pretty much the same talk he's been giving for 10 years now |
| 10:02 | <MikeSmith> | cvrebert: the review requirements are, it's a the discretion of the owners / core reviewers in the end |
| 10:02 | <MikeSmith> | cvrebert: which for wpt amounts to Ms2ger and jgraham |
| 10:02 | <MikeSmith> | for csswg-test I don't really know what the review requirements are |
| 10:03 | <MikeSmith> | but for wpt a good rule is that if you have any doubt, ask Ms2ger or jgraham |
| 10:07 | <cvrebert> | MikeSmith: Noted. |
| 10:13 | <Ms2ger> | sup? |
| 10:18 | <cvrebert> | Nothing specific. |
| 11:37 | <JakeA> | annevk: you mentioned a web components meetup that we might want to combine with a serviceworker f2f, any details on the components meetup? |
| 11:52 | <annevk> | JakeA: I don't think anything's been decided yet |
| 11:52 | <annevk> | JakeA: there was a poll of sorts started on public-webapps |
| 11:55 | <JakeA> | annevk: ahh ok. I'll see if it's coming together in a month or so, if not I'll take MS up on their offer of hosting |
| 12:44 | <zcorpan> | i wonder if https://github.com/whatwg/html-build should say to fork html, clone the fork, and then clone html-build. i know build.sh will clone html itself, but if you want to submit a PR for html you have to fork it |
| 12:45 | <zcorpan> | MikeSmith: ^ |
| 12:47 | <gsnedders> | is there any reason why it isn't a submodule of html? |
| 12:51 | <zcorpan> | i dunno |
| 13:00 | <MikeSmith> | the html-build script will clone the html repo if it doesn't find an existing clone in the local environment or you don't point it at one |
| 13:01 | <MikeSmith> | at least that is the intent, though there's an open html-build PR that I need to finish work on |
| 13:02 | <zcorpan> | yeah i see https://github.com/whatwg/html-build/pull/29 now |
| 13:04 | <zcorpan> | but i still think our READMEs should instruct to fork html. iirc there was some contributor that got confused about this and we needed to start over with forking html |
| 13:06 | <zcorpan> | i suppose this is https://github.com/whatwg/html-build/issues/26 |
| 13:06 | MikeSmith | looks |
| 13:06 | <MikeSmith> | yeah |
| 13:07 | <MikeSmith> | sorry, I was working on this stuff pretty actively til roughly one month ago |
| 13:09 | <MikeSmith> | getting back to working again on making it right as soon as possible is a high(est) priority for me personally |
| 13:13 | <MikeSmith> | as far as why we've not set it up at as submodule already, I guess that's because none of us who worked on it initially are big fans of submodules |
| 13:25 | <zcorpan> | i can PR the html-build readme to add a first step saying to fork html if the goal is to PR html |
| 13:46 | <wanderview> | JakeA: annevk: so are we intending to allow service workers to be registered for file:// documents (or event wss:// somehow?) |
| 13:47 | <JakeA> | wanderview: registered? No. Intercepting file:// is more interesting though. I can see us intercepting wss in future too, but it'd be a different event |
| 13:48 | <wanderview> | JakeA: I don't see where we block file:// in the spec any more |
| 13:48 | <wanderview> | JakeA: it seems to just use the "Is origin potentially trustworthy" check, which allows file://, wss:// |
| 13:49 | <JakeA> | wanderview: ohhh, we should specifically prevent file I think. Having a SW running in someone's file system sounds really unsafe |
| 13:50 | <wanderview> | JakeA: ok, I will file a separate issue for that... I had commented in the big "secure context" issue, but I think we should fix this sooner |
| 13:50 | <JakeA> | agreed |
| 13:51 | <wanderview> | JakeA: if we want to allow file:// and wss:// to be intercepted, we also need to relax the restrictions in cache API |
| 13:53 | <JakeA> | wanderview: file:// maybe, but not sure what it means to put a wss:// in a cache. Will those be represented by request/response or something else? |
| 13:53 | <wanderview> | JakeA: not sure... I was just thinking the usual cache patterns in SW should work with FetchEvent.request even if its a wss: scheme... |
| 13:54 | <wanderview> | or at least not explode |
| 13:54 | <wanderview> | I guess we already have some things that conditionally fail... like cache.add() with a POST |
| 13:56 | <JakeA> | wanderview: I don't know enough about the wss protocol to know if request/response makes sense or if it'd need its own event |
| 13:57 | <wanderview> | ok |
| 13:57 | <wanderview> | neither do I... lets burn that bridge later :-) |
| 14:08 | <wanderview> | JakeA: what about an https://foo.com window, that has an iframe with a data:// URI.. I believe the iframe inherits the parents origin there... should the iframe be allowed to register a SW for https://foo.com? |
| 14:11 | <wanderview> | JakeA: or for a javascript:// window that inherits the origin of its opener... shoudl that be allowed to register using its opener's origin? |
| 14:23 | <wanderview> | I guess the origins should just be compared and if the origins are set properly, then it shoudl work |
| 14:25 | <annevk> | wanderview: JakeA: intercepting anything but http/https URLs doesn't work per Fetch |
| 14:26 | <annevk> | wanderview: JakeA: nothing for those URLs gets even close to checking a service worker for a response |
| 14:27 | <wanderview> | annevk: sure... but I don't see anything in .register() currently that would prevent the service worker from registering and controlling such a page |
| 14:31 | <JakeA> | wanderview: yes to both your questions - I think this is how it works already |
| 14:31 | <wanderview> | ok, thanks |
| 14:48 | <annevk> | zcorpan: a constructor cannot return a promise |
| 14:48 | <zcorpan> | annevk: ok. why not? |
| 14:49 | <zcorpan> | though since we need some opt-in mechanism, we can make it be a static method on Worker or so instead |
| 14:49 | <jgraham> | Presumably because a construtor is supposed to construct an instance? |
| 14:50 | <annevk> | zcorpan: well, I guess technically it probably can, but a constructor is expected to return an instance |
| 14:50 | <zcorpan> | yeah |
| 15:13 | <wanderview> | the Promise() constructor can return a promise :-) |
| 15:16 | <wanderview> | JakeA: sorry for more dumb questions... do we intentionally let https://foo.com window to execute .register('javascript://...')? where the service worker script inherits the origin from the window? |
| 15:19 | <JakeA> | wanderview: the SW cannot be a blob/data url, so I guess javascript should be out too |
| 15:19 | <JakeA> | Otherwise you're not proving you can put script on that origin |
| 15:19 | <JakeA> | Wouldn't javascript:// fail the same origin check? |
| 15:20 | <wanderview> | JakeA: no... because I thought javascript:// URIs were supposed to inherit the origin |
| 15:20 | <wanderview> | JakeA: what blocks blob: and data: URLs for the script? I didn't see that last time I looked |
| 15:22 | <wanderview> | JakeA: oh, hmm... I guess the URL spec does not do the origin inherit for data: or javascript:... but it seems it might give you a real origin for a blob: |
| 15:23 | <JakeA> | wanderview: maybe we need to explicitly fail for non http or https schemes |
| 15:23 | <wanderview> | JakeA: yea, I'll add it to the issue I wrote |
| 15:23 | <JakeA> | I'm sure we used to explicitly restrict those |
| 15:23 | <wanderview> | JakeA: yea, it got lost at some point |
| 15:26 | <JakeA> | Thanks for spotting those! |
| 15:27 | <JakeA> | Being able to use a non-network resource as a service worker is a big security issue and footgun |
| 15:27 | <wanderview> | JakeA: np! we are trying to implement the secure context thing which made me start to wonder... we are only blocking file:// right now because we store the SW script in Cache API which rejects it |
| 18:03 | <annevk> | wanderview: are you suggesting Worker should be a promise subclass? :-P |
| 18:04 | <wanderview> | I didn't know we were talking about Worker, but if you say so |
| 18:04 | <wanderview> | I mean, if you think it should be a subclass, ok |
| 18:04 | <wanderview> | :-) |
| 18:05 | <annevk> | Well, I'm joking |
| 18:06 | <annevk> | I wonder if conceptually it makes sense for a worker to be an asynchronous iterable |
| 18:07 | <annevk> | Since it's really just a sequence of message events |
| 18:15 | <caitp> | clearly it should be a subclass of Observable<T> |
| 18:21 | <Ms2ger> | TabAtkins, sounds like you fly too much |
| 18:22 | <TabAtkins> | That was my problem, actually. I *always* fly American out of SFO, so I didn't even check the airport this time. |
| 18:23 | <Ms2ger> | And thank you for https://pbs.twimg.com/media/CTc9sbTUYAAYhar.png |
| 18:23 | <TabAtkins> | Rolled into SFO this morning and checked my terminal, went "lol SFO doesn't have an A terminOH FUCK" |
| 18:24 | <TabAtkins> | Can confirm that list is accurate, have received live scorpions. |