07:06
<MikeSmith>
well that's weird
07:07
<MikeSmith>
$ git fetch
07:07
<MikeSmith>
fatal: Cannot fetch both refs/pull/610/head and refs/heads/pr/610 to refs/remotes/origin/pr/610
07:11
<MikeSmith>
botie, inform Ms2ger seems like the "pr/610" branch you created conflicts with the existing name that git creates for anybody who has followed https://github.com/whatwg/html/blob/pr/610/TEAM.md#fetching-and-reviewing-pull-requests-from-forks to set up automatic fetch of branches for PRs from forks
07:16
<MikeSmith>
botie, inform Ms2ger seems like the "pr/610" branch you created conflicts with the existing name that git creates for anybody who has followed https://github.com/whatwg/html/blob/pr/610/TEAM.md#fetching-and-reviewing-pull-requests-from-forks to set up automatic fetch of branches for PRs from forks
07:16
<botie>
will do
07:21
<MikeSmith>
botie, inform Ms2ger if you rename that branch I think that will fix the problem
07:21
<botie>
will do
08:44
<annevk>
philipj: thanks for the review
08:52
<botie>
Ms2ger, at 2016-02-03 07:17 UTC, MikeSmith said: seems like the "pr/610" branch you created conflicts with the existing name that git creates for anybody who has followed https://github.com/whatwg/html/blob/pr/610/TEAM.md#fetching-and-reviewing-pull-requests-from-forks to set up automatic fetch of branches
08:52
<botie>
for PRs from forks and at 2016-02-03 07:22 UTC, MikeSmith said: if you rename that branch I think that will fix the problem
08:58
<Ms2ger>
jgraham_, r? https://critic.hoppipolla.co.uk/r/6019
09:01
<Ms2ger>
MikeSmith, no clue what you're on about
09:04
<annevk>
Ms2ger: you named a branch pr/610 which conflicts with an automatic local branching generating mechanism we use
09:05
<annevk>
Ms2ger: it seems that branch is already merged though so we can simply delete it
09:05
<annevk>
hmm or maybe you didn't do that and it was someone else
09:05
<annevk>
might have been Domenic who merged it
09:07
<Ms2ger>
In what repo?
09:07
<annevk>
Ms2ger: whatwg/html
09:07
<Ms2ger>
I don't have access there, so wasn't me :)
09:07
<annevk>
I see
09:07
<annevk>
MikeSmith: I deleted the branch
09:22
<MikeSmith>
annevk: thanks
09:23
<MikeSmith>
Ms2ger: sorry for blaming you
09:23
<Ms2ger>
Np
09:38
<annevk>
Does anyone remember why we call entities "named character references"?
09:38
<jgraham_>
Ms2ger: r+
09:39
<Ms2ger>
Ta
09:44
<MikeSmith>
annevk: I thought Hixie minted that
09:45
<MikeSmith>
"entities" was the original, what they were called from the SGML days
09:45
<MikeSmith>
right?
09:46
<annevk>
I have no idea anymore
09:48
<annevk>
It hasn't been quite a decade yet, but the HTML parser exists for nine years now: https://annevankesteren.nl/2006/12/html-parser
09:49
<JakeA>
jsbell: wanderview: so add() & addAll() should reject on response !ok or if the response is opaque (since we can't leak OK)
09:49
annevk
finds https://annevankesteren.nl/2006/10/html-wg
09:51
<Ms2ger>
> But am I just being paranoid in observing that the announcement doesn�t read as an endorsement of HTML5 but as an announcement to develop another spec that incrementally improves HTML?
09:51
<Ms2ger>
Well fuck
09:51
<annevk>
Oh look, the parser is a decade old now: https://annevankesteren.nl/2006/01/parsing
09:51
<annevk>
We didn't even celebrate
09:52
<annevk>
🎉🎂
09:52
<annevk>
Ms2ger: that rare time hsivonen makes an observation, pay attention
09:54
<annevk>
philipj: you don't like my idea of just defining an algorithm in the HTML standard for how to extract CLDR data for quotes?
09:55
<annevk>
philipj: if you think that's too difficult I'm willing to give that a shot
09:55
<annevk>
philipj: by drawing inspiration from what was done ECMAScript 402
09:55
<annevk>
for*
09:57
<philipj>
annevk: that would amount to removing the CSS block from the spec, right?
09:57
<philipj>
annevk: the thing is, I saw that block copied into a test in Blink, so it's been of some use at least once
09:58
<annevk>
philipj: yeah, can basically drop all the build code
09:58
<annevk>
philipj: I see
09:58
<annevk>
hmm
09:59
<philipj>
annevk: how would this ES 402 thing work? I looked at a spec someone linked to yesterday and couldn't find what I was supposed to find
09:59
<philipj>
someone=you I think
10:01
<MikeSmith>
"I would urge you to wait until the WG is actually formed and the charter and membership are apparent before assuming it means victory for the forces of good."
10:01
<annevk>
philipj: I haven't looked in detail, but that spec has some relation to CLDR too
10:02
<annevk>
philipj: though it doesn't directly depend on it since there could be alternative implementations
10:02
<annevk>
philipj: so you'd have some phrasing around using the locale quotation mark for locale /x/ or some such I suppose, haven't done the work yet
10:03
<annevk>
philipj: but if the CSS is of use, perhaps we should just bear the cost, I wonder though what the implementation does
10:03
<zcorpan>
DOMTokenList change was picked up pretty quickly
10:05
<philipj>
annevk: so are there APIs for getting the locale-dependent quotation marks?
10:06
<zcorpan>
getComputedStyle?
10:06
<annevk>
philipj: nope, it'd be inspired by
10:06
<philipj>
annevk: oh, ok...
10:06
<annevk>
philipj: although maybe quotation marks are setup wildly different from currency in which case it wouldn't help I suppose
10:06
<annevk>
but I was assuming that would not be the case
10:11
zcorpan
-> dubai -> stockholm
10:12
<philipj>
annevk: looks like there's not agreement about whether the computed style for the quotes property has the quotes actually used or not
10:12
<philipj>
Gecko does, Blink not
10:12
<annevk>
philipj: I don't really know how the quotes property works, let's check what CSS says
10:14
<annevk>
philipj: per https://drafts.csswg.org/css-content-3/#propdef-quotes it should be the specified value
10:14
<philipj>
annevk: in Blink, there's a table of quotes in the source code, with a comment saying "Table of quotes from http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#quote";
10:14
<annevk>
philipj: I see, so Blink doesn't use CLDR directly either
10:14
<annevk>
hmm
10:15
<philipj>
annevk: no. I would have expected to find a call to libicu, but nope, that's not how it works
10:15
<annevk>
seems weird from an engineering perspective to embed multiple sources of truth with your software
10:15
<philipj>
can we just nuke this "feature" and let people use CSS? :)
10:15
<philipj>
I'm not sure that libicu actually has this data, just guessing
10:16
<annevk>
well, if JavaScript can get CLDR data...
10:16
<annevk>
I guess they might exclude the quotes stuff though when shipping
10:16
<philipj>
well, *can* JavaScript get the quotes data? what's the API?
10:17
<annevk>
I don't think there's an API at the moment
10:17
<annevk>
We could maybe email www-international and see what they say about all this
10:17
<annevk>
They likely have more of a clue
10:19
<philipj>
yeah
10:20
<philipj>
In the meantime, I'd like to make it precompiled, because I keep having to redownload the cldr repo every day whenever I've changed the html-build commit
10:23
<annevk>
Yeah I think that's great
10:23
<annevk>
That way we also know when the output changes so we can file bugs on browsers
10:28
<annevk>
Domenic: retweeted @webkit
10:28
<annevk>
Domenic: do you still have trouble logging in due to needing to know the email address? If so, I'll add them all
10:47
<annevk>
JakeA: see https://github.com/whatwg/html/issues/552 on <style scoped>
10:51
<mounir>
heycam|away: any chance you can have a look at https://github.com/heycam/webidl/pull/85 ?
10:51
<JakeA>
annevk: I agree that out-of-order CSS loading is desirable in some cases, but isn't <link async> a simpler answer? I guess I never got the benefit of style scoping since selectors already let you scope styles
10:52
<JakeA>
Eg, if CSS had a way to refer to the parent of the <style> or <link>, there's your scoping
10:53
<JakeA>
:container .foo { ... }
10:59
<annevk>
JakeA: that'd be pretty cool
10:59
<annevk>
JakeA: <link async> doesn't exist yet
10:59
<annevk>
JakeA: btw, now you can PR the HTML standard for adding those promise properties, e.g., <img>.loaded, or whatever name it'll be
11:02
<JakeA>
annevk: yeah, hoping to find time to make an HTML PR this quarter. I thought it'd be the <link> in <body> thing but that's more contentious than I thought
11:04
<annevk>
JakeA: oh is it?
11:04
<annevk>
JakeA: removing <style scoped> seems a little contentious, but then only Gecko implements it
11:06
<JakeA>
annevk: https://groups.google.com/a/chromium.org/forum/m/#!topic/blink-dev/ZAPP8aTnyn0
13:19
<Ms2ger>
https://gregwhitworth.github.io/css-table-3/
13:25
<annevk>
Interesting, it says that something about the WHATWG stylesheet is wrong
15:09
<Domenic>
annevk: honestly I haven't tried since the one; adding the emails would be great
15:10
<annevk>
Domenic: do you have a little bit of time?
15:10
<annevk>
Domenic: I want to talk cross-origin objects
15:10
<Domenic>
annevk: just woke up, so not too much :)
15:10
<annevk>
Because I'm confusing myself
15:10
<Domenic>
annevk: but if this is the best timezone wise I can make it work
15:11
<Domenic>
In fact yeah let's do now, meeting-day kicks off in 2 hours
15:11
<annevk>
Basically the problem is the own property thing
15:11
<annevk>
So IDL sets up Location, and also a LocationPrototype
15:11
<annevk>
Does that mean we also need to overwrite all the internal methods of LocationPrototype somehow?
15:13
<Domenic>
annevk: maybe. Without overwriting them, people will be able to treat Location.prototype as an ordinary object, e.g. try to do Location.prototype.assign.call(otherLocation, ...)
15:13
<Domenic>
It depends on what you are trying to prevent
15:14
<Domenic>
Your CrossOriginGetPrototypeOf already returns null for cross origin
15:14
<Domenic>
So anything that proto-walks will stop before it sees Location.prototype
15:14
<annevk>
Yeah, but if you store Location.prototype and then set document.domain you still have it
15:15
<Domenic>
yeah. but i'm unclear what threat model that gives you
15:15
<annevk>
Though perhaps the "platform object" security check fails at that point
15:16
<annevk>
Note that for Location this also applies to the same-origin case
15:17
<annevk>
To make it appear as if things are configurable
15:17
<Domenic>
So it would really help to have a concrete model of what we're trying to prevent
15:18
<Domenic>
and then we can tell if the existing spec sufficiently does that
15:18
<annevk>
I think what this is instead is having some carefully crafted extensions to SOP due to compat issues
15:19
<annevk>
I see your point though, let me try to write something up
15:20
<annevk>
Of what I think we want to accomplish
15:20
<Domenic>
I see, you are saying that other objects just fail at step 2 of perform a security check
15:20
<Domenic>
Well, LocationPrototype and WindowPrototype should fail at that same step
15:20
<Domenic>
So I guess the question is whether that's desired
15:21
<Domenic>
I think it probably is
15:21
<Domenic>
Also "carefully crafted extensions to SOP due to compat issues" is a great way of framing this whole thing and I hope to see it in an intro paragraph at some point.
15:22
<annevk>
Yeah, though we do want to get to those functions in the cross-origin case to be able to pretend they are own properties instead
15:22
<annevk>
But I'll write it up and then maybe you can help design it
15:46
<annevk>
Wrote something up, time to do some other stuff for a bit
16:28
<JonathanNeal>
Why is it the spec https://www.w3.org/TR/css3-background/#special-backgrounds recommends authors specify the canvas background for the BODY element rather than the HTML element?
16:32
<wanderview>
JakeA: we're ok with Cache.addAll() failing opaqueredirect responses, right? That won't mess up offline support for sites requiring navigation redirects?
16:34
<wanderview>
I guess they can just avoid the convenience methods
17:55
<annevk>
MikeSmith: any idea what is up with Bugzilla?
17:55
<MikeSmith>
nope
17:55
<MikeSmith>
not responding?
17:55
MikeSmith
checks
17:55
<MikeSmith>
redirect loop it seems
17:55
MikeSmith
alerts systems team
18:07
<MikeSmith>
annevk: systems team is aware of the problem but I think waiting on the particular person who maintains the bugzilla instance
18:08
<MikeSmith>
who likely is eating dinner or so atm
18:09
<tobie>
I'd like the Sensor constructor to throw when instantiated outside of the top level browsing context (for now). What should I throw, a SecurityError?
18:10
<tobie>
Note the constructor already throws a SecurityError if outside of https.
18:11
<annevk>
seems fine
18:14
<tobie>
ty
18:14
<MikeSmith>
tobie: incidentally, you writing wpt tests for that as you're writing/developing it?
18:14
<tobie>
MikeSmith: that's a good question.
18:15
<MikeSmith>
you could pioneer that and set a good example for others
18:15
<miketaylr>
i need to write some wpt tests...
18:15
<MikeSmith>
WDD (WPT Driven Development)
18:16
<tobie>
or WPTDD
18:16
<MikeSmith>
miketaylr: the lavish rewards it brings are worth the pain
18:16
<tobie>
MikeSmith: ^ this
18:16
<miketaylr>
MikeSmith: yeah i can imagine my .NET mag awards already
18:17
<miketaylr>
might write the acceptance speech before the test
18:17
<tobie>
miketaylr: these things give you Emmys nowadays.
18:17
<MikeSmith>
we need an award, a statuette of jgraham
18:17
<tobie>
^ worst nightmares
18:18
<miketaylr>
never needed a 3d printer before today
18:18
<MikeSmith>
hahah
18:18
<MikeSmith>
WPTSD, WPT Post Traumatic Stress Disorder
18:19
<MikeSmith>
annevk: bugzilla is back
18:21
<MikeSmith>
"might write the acceptance speech before the test" deserves an award on its own
18:21
<Domenic>
i think this idea actually has legs
18:21
<Domenic>
a 3d-printed statue of jgraham handed out each year to the best test-writer in a formal ceremony over the internet
18:22
<Domenic>
i would write more tests
18:22
<darobin>
hahahaha
18:22
<darobin>
that would be wonderful
18:22
<darobin>
I would write all the tests
18:22
<darobin>
especially if the statue came with lavish hair
18:23
<darobin>
I think there may be precedent for writing WPT tests during the spec writing
18:24
<darobin>
maybe AnssiK did that for Vibration?
18:24
<darobin>
that might have been pre-WPT, but using testharness
18:24
<Domenic>
i kiiiind of did it for streams, just, not in WPT format... so now I am converting them all to WPT... good job me
18:24
<darobin>
"just not in WPT format" pretty much sums up the story of the project
18:25
<miketaylr>
i have a q1 goal to write some for the compat spec, hopefully that doesn't end up as "start day before q1 ends"
18:25
<darobin>
does it say Q1 of any specific year?
18:25
<miketaylr>
oh snap, good point
18:25
<miketaylr>
excited to win the Q1 2020 jgraham-y
18:27
<jgraham>
I'd go with "test-y"
18:27
<darobin>
no no
18:27
<darobin>
jgrahammy
18:27
<darobin>
it has to be
18:28
<MikeSmith>
yep
18:28
<MikeSmith>
this is the most productive brainstorming we have done for years
18:28
<darobin>
and they say standards are slow
18:28
<MikeSmith>
haha
19:52
<nikkibee>
https://fetch.spec.whatwg.org/#cors-check I don't understand how this can ever resolve past step 2. I cannot find anywhere where `Access-Control-Allow-Origin` is set in the Fetch specification, and so far in my testing no other function I call for Response sets it
19:53
<nikkibee>
https://fetch.spec.whatwg.org/#http-access-control-allow-origin this says the http response can include the header, but where does that happen? I don't see where to read next
20:01
<annevk>
nikkibee: the server specifies it
20:01
<annevk>
nikkibee: the client doesn't really control the response
20:02
<annevk>
nikkibee: it just gets one
20:02
<nikkibee>
annevk: I see. what specification talks about this? I'd like to figure out what Fetch is calling that needs to handle this
20:03
<JakeA>
wanderview: yeah, happy for add to fail in that case
20:03
<annevk>
nikkibee: I don't really understand your confusion
20:03
<nikkibee>
annevk: I don't know when Response gets its headers set
20:04
<nikkibee>
so I don't know where to add this header, since it's not being set, and I need it for Cors Check to work
20:05
<annevk>
nikkibee: oh, step four of https://fetch.spec.whatwg.org/#http-network-fetch
20:05
<annevk>
nikkibee: are you implementing a server or a client?
20:05
<annevk>
nikkibee: a client doesn't add this header, it just receives it as part of a response
20:05
<nikkibee>
annevk: okay, the implementation for step 4 in Servo calls something outside of Fetch so I'll see what's going on there
20:06
<nikkibee>
annevk: I don't know how to answer that, sorry
20:06
<Domenic>
"To request an account, ask an autoconfirmed user on IRC (such as one of these permanent autoconfirmed members)"
20:06
<Domenic>
I am an autoconfirmed member, and someone is asking for my help signing up to the wiki. How do I do it?
20:07
<annevk>
Domenic: https://wiki.whatwg.org/wiki/WHATWG_Wiki:How_to_create_a_user_account (linked from the main page)
20:07
<Domenic>
waah waaah
20:08
<annevk>
nikkibee: so part of the problem here might be integration between Fetch and HTTP being not exactly ideal
20:08
<annevk>
nikkibee: there's a bit of handwaving
20:08
<annevk>
nikkibee: I don't know if I'll ever get the HTTP folks to provide adequate hooks though
20:10
<nikkibee>
annevk: anything outside of Fetch is kind of over my head, but I'd rather not have the Cors Check function just return success so that I can continue. I don't know what the HTTP hooks could be like or how it would help
20:11
<annevk>
nikkibee: well, things would be more clear
20:12
<annevk>
nikkibee: but anyway, the way this works is that Fetch sets up a connection, transmits a Request over it and a Response comes back
20:12
<annevk>
nikkibee: the Response will have headers set and such
20:12
<annevk>
nikkibee: which may be correct for CORS, or not
20:13
<nikkibee>
I'm getting a better idea of it, thanks
20:13
<annevk>
nikkibee: some of those details are defined by HTTP, some by Fetch, where they get close it's not as tightly defined as I would like
20:13
<nikkibee>
I've been focusing on the small details so the big overview is harder for me
20:13
<nikkibee>
I see
20:13
<annevk>
no worries
20:14
<annevk>
I guess this is the first time someone approaches this with a Fetch-first perspective
20:14
<nikkibee>
heh!
20:14
<annevk>
usually folks know the HTTP bit
20:14
<nikkibee>
I haven't really paid attention to headers until now, when a header is absolutely required
20:15
<nikkibee>
I didn't find it mentioned in the fetch spec so I figured it was handled already and went ahead with coding Cors Check, I guess that was a bit shortsighted
20:29
<miketaylr>
annevk: want me to open an issue against DOM?
20:29
<annevk>
miketaylr: PR?
20:29
<annevk>
miketaylr: either way is fine
20:29
<miketaylr>
that too
20:29
<annevk>
miketaylr: happy to help, but it's sleepy time here
20:30
<annevk>
miketaylr: that's pretty horrid though, much worse than webkitMatchesSelector
20:30
<miketaylr>
annevk: go to bed, i'll file an issue and try to have a PR tomorrow-ish (and you can tell me all the ways i did it wrong in review)
20:30
<annevk>
good times
20:30
<miketaylr>
welcome to the jungle
20:32
<miketaylr>
*jongel https://www.w3.org/Bugs/Public/show_bug.cgi?id=13898
20:37
<Domenic>
this is the worst https://github.com/whatwg/compat/issues/24
20:43
<tobie>
Looking at the automotive stuff and TAG feedback of their pub/sub pattern (rough e.g. vehicle.subscribe ("speed", callback))…
20:43
<tobie>
and curious about folk's thoughts here.
20:44
<tobie>
I'd imagine this would be best designed as an EventTarget…
20:45
<tobie>
But feedback seems to consider this a matter of taste.
20:45
<tobie>
And points to MutationObservers as a good example of callback based observing.
20:46
<Domenic>
I think it ... does not reflect well ... that the TAG is spending time on this API.
20:46
<tobie>
Well… that's another story altogether, really. :)
20:47
<tobie>
I don't disagree, but I could reformulate the question without mentioning the AM spec at all.
20:48
<tobie>
I'm interested in the long term view for events on the Web…
20:48
<Domenic>
fair
20:48
<tobie>
…and the possibility of a convergence with node EventEmitters.
20:48
<Domenic>
I think the story is "use addEventListener" and maybe one day observables will become a thing
20:49
<tobie>
OK, so this is my understanding too.
20:49
<caitp>
I thought that netflix dude was really committed to making that happen
20:49
<tobie>
Which is why I'm utterly confused when I hear the TAG (or members of the TAG) say: just create your own pus/sub system, it's cool.
20:50
<Domenic>
as long as nobody does it on specs that are actually going to be implemented...
20:51
<tobie>
heh
21:05
<tobie>
What's blocking observables?
21:14
<Domenic>
it's unclear whether they're a good primitive at all.
22:14
<tobie>
Domenic: Is there agreement that some form of event dispatcher thingy is a good primitive to have, though?
22:14
<Domenic>
tobie: unclear it needs to be in the language, I guess.
22:14
<Domenic>
each ecosystem already has one; inventing a third is of unclear benefit
22:16
<tobie>
Domenic: what's the stroy with streams, there?
22:16
<tobie>
Can I use some of the node.js stream stuff inside of service workers?
22:18
<tobie>
e.g. a zip lib to store zipped filed in the cache storage?
22:19
<tobie>
(arguably contrived example)
22:26
<Domenic>
tobie: yeah working toward that (although the API surface is a bit different than Node streams)
22:26
<Domenic>
right now behind experimental web platform features we allow you to compose streaming responses fed from a service worker to the main page
22:27
<tobie>
sorry, my question was badly formulated:
22:28
<tobie>
In the future, can I grab a nodejs module that does zipping and use it in a service worker?
22:28
<tobie>
Or will the streams APIs be incompatible?
22:32
<Domenic>
they will be incompatible: https://github.com/whatwg/streams/blob/master/FAQ.md#what-are-the-main-differences-between-these-streams-and-nodejs-streams
22:37
<tobie>
Domenic: is there a path to convergence? Or is this just: these are two incompatible platforms; live with it.
22:38
<Domenic>
tobie: node streams is in active discussions right now about addressing their shortcomings, and one of their primary champions is a fan of whatwg streams, so i anticipate some gradual movement over time.
22:38
<tobie>
\o/
22:41
<tobie>
Is convergence an end goal, though?
22:42
<tobie>
Basically, is someone actively looking at the pieces that are missing to make a large chunk of node.js code runnable in the browser?
22:45
<Domenic>
i don't think that's really a goal, no
22:45
<Domenic>
node made its own weird or ahead-of-the-curve choices which most implementers find absurd
22:45
<Domenic>
shims suffice pretty much
22:53
<tobie>
So there are shims that let me transparently do that?
22:55
<Domenic>
yeah, browserify bundles a bunch
22:57
<tobie>
Right but they're shims for basic things like the file system, no?
22:59
<tobie>
Also implies nodejs => Web, not nodejs <=> Web, plus their a transpiling step, etc.
23:01
<tobie>
Anyway, misspelling "there are" that badly seems to indicate it is time to go to sleep.