07:20
<rniwa>
annevk: I gotta tell you upgrading custom elements is a mess :(
07:26
<annevk>
rniwa: not surprised really
07:30
<rniwa>
annevk: I filed a whole bunch of issues on the github if you didn't see
07:31
<rniwa>
annevk: I think https://github.com/w3c/webcomponents/issues/421 is the most fatal one
07:31
<rniwa>
with https://github.com/w3c/webcomponents/issues/419 coming after that
07:31
<rniwa>
(along with https://github.com/w3c/webcomponents/issues/420)
07:33
<annevk>
I just had breakfast
07:33
<rniwa>
annevk: no worries, just FYI'ing
07:34
<annevk>
I'll get to them today
12:05
<Ms2ger>
zcorpan, heyo
12:05
<zcorpan>
hi
12:05
<Ms2ger>
If you feel like it at some point, https://github.com/w3c/csswg-test/pull/1060 and https://github.com/w3c/csswg-test/pull/1061
12:06
<annevk>
Can someone tell me where it is defined that new WebSocket("wss://example.com:80/test";, { protocols:"test" }) throws?
12:10
<Ms2ger>
> If any of the values in protocols occur more than once or otherwise fail to match the requirements for elements that comprise the value of Sec-WebSocket-Protocol fields as defined by the WebSocket protocol specification, then throw a SyntaxError exception and abort these steps. [WSP]
12:10
<Ms2ger>
I guess?
12:11
<Ms2ger>
No idea why
12:13
<annevk>
Except that [WSP] defines it to be any kind of random value
12:13
<annevk>
As long as it meets the token production
12:14
<zcorpan>
annevk: step 4 or 5 of http://heycam.github.io/webidl/#es-sequence maybe?
12:14
<zcorpan>
the idl is [Constructor(DOMString url, optional (DOMString or sequence<DOMString>) protocols), Exposed=(Window,Worker)]
12:14
<zcorpan>
not dictionary
12:15
<annevk>
oooh doh
12:15
<Ms2ger>
Doh
12:15
<annevk>
Thanks
12:16
<Ms2ger>
Also, time to merge WSP back into HTML?
12:16
<annevk>
Ms2ger: see https://github.com/whatwg/fetch/issues/235 for some kind of intermediate solution
12:17
<annevk>
Ms2ger: I suppose we could put the entire protocol in Fetch, but ...
12:17
<annevk>
I'm working on a "monkey patch" solution at the moment, that replaces most of the client handshake section so that it shares all logic with Fetch
12:18
<annevk>
Solving the HSTS, Mixed Content, cookie, upgrade insecure requests, etc. problems
12:18
<Ms2ger>
Sounds sensible
12:39
<ondras>
8
12:39
<ondras>
oops sorry
12:51
<zcorpan>
someone with Edge want to test https://github.com/whatwg/html/issues/823 ?
14:55
<smaug____>
annevk: I'm a bit lost with https://github.com/w3c/webcomponents/issues/362
14:55
<annevk>
smaug____: shoot
14:55
<smaug____>
if the notification is only about inserted / removed from a document, why we need any params?
14:56
<smaug____>
ownerDocument should always tell the document, and ancestor is easy to find, especially if there is something like nodeRoot or such
14:57
<annevk>
smaug____: you're right about ownerDocument, that's easy enough
14:57
<annevk>
smaug____: there's node.rootNode now, but how does that help crossing shadow tree boundaries?
14:58
<smaug____>
so what is newAncestor about?
14:58
<smaug____>
in the node to which some other node was added as a child?
14:58
<smaug____>
s/in//
14:59
<annevk>
smaug____: "insertion steps" used to get passed "newParent", when we realized we needed to notify descendants too we made that "newAncestor"
15:00
<annevk>
smaug____: it's the parent of the node that had its parent node change
15:00
<annevk>
smaug____: same for oldAncestor in the "removing steps"
15:00
<annevk>
smaug____: there might not be a reason to pass either to script though, but I'm fairly certain UAs expose these internally
15:00
<smaug____>
do we need to notify descendants about the node to which the subtree was added?
15:01
<nox>
Yes.
15:01
<smaug____>
why?
15:01
<nox>
Because there are things that must be done only when you are a child of newAncestor, and some you need to do when you are unbound from the tree.
15:01
<annevk>
nox: note that this conversation is about the custom elements API, not the internal API, although I'm still uncertain why they need to be different
15:02
<smaug____>
Gecko doesn't tell to descendants to which node a subtree root was added
15:02
<annevk>
smaug____: and removal?
15:03
<nox>
annevk: Oh. I don't know anything abotu custom elements so I'll just shut up.
15:04
<smaug____>
annevk: same there. subtree root gets param that it has now null parent node, and descendants effectively are just notified that their ancestor chain has got shorter (something got removed from a parent)
15:05
<annevk>
smaug____: I see, so maybe I should change the internal API
15:06
<annevk>
smaug____: so that "insertion steps" only get passed newParent for the "root" and not the descendants
15:06
<annevk>
smaug____: and the same for "removing steps"
15:06
<annevk>
smaug____: that would still argue for sometimes passing newParent/oldParent to connected/disconnected, no? When they're root
15:09
<smaug____>
thinking
15:10
<smaug____>
maybe newAncestor isn't that bad. One can always check if parentNode == newAncestor and that means we're at the top of the subtree
15:11
<annevk>
smaug____: the main problem is that it could leak a closed shadow tree, as I pointed out there
15:13
<annevk>
Hmm, maybe not? If something closed has something open attached, is it still perceived as closed all the way down from the closed tree's host?
15:14
<annevk>
Well, that matters and it matters whether closed means just closed from where it is hosted or also closed from everything the closed thing hosts...
15:16
<smaug____>
what if closed (A) has something closed (B) attached. that should still work since B can see A. Closed-ness hides things only from top(root)-down
15:18
<annevk>
Yeah, I guess there's no problem then with closedness
15:23
<annevk>
smaug____: updated the issue with your feedback
15:32
<smaug____>
is there some easy way to make github's commenting area to work sanely when there are some <tags>s in the text?
15:38
<Domenic>
zcorpan: https://github.com/whatwg/html/issues/823 updated, Edge strips
15:39
<annevk>
smaug____: use ` and ` to escape code
15:39
<annevk>
smaug____: I meant, wrap code in `
15:41
<zcorpan>
Domenic: thanks. so currently 3 vs 1
15:42
<zcorpan>
Presto also strips
15:52
<zcorpan>
annevk: any opinion what the "trim" step should be called after dropping trimming? "parse"? "resolve"?
15:58
<zcorpan>
possibly this algorithm should be rewritten to not use GOTO, but don't want to do that today
15:59
<annevk>
zcorpan: Parse or maybe "URL" seem good
16:00
<zcorpan>
i'll go with parse. the string can contain "URL=" which could make URL confusing.
16:02
<Ms2ger>
zcorpan, https://github.com/w3c/csswg-test/pull/1061 seems ready to merge
16:03
<zcorpan>
Ms2ger: thx done
16:03
<Ms2ger>
Thank you
17:00
<zcorpan>
down to 0 *participating* notifications... good time to call it a day and work on my snatch
18:02
annevk
created a public TODO document: https://gist.github.com/annevk/4a7b51b8669c0dca4c53
18:03
<annevk>
Not entirely sure yet whether that's useful, but if anyone has feedback, most welcome
18:38
<TabAtkins>
MikeSmith, annevk: I've found it useful to add explainer sections to some of my specs for complicated bits, giving some explanation and examples of common usage. Flex and Grid both have them, for example. Would probably be useful in Fetch.
19:34
<zcorpan>
TabAtkins: re https://github.com/whatwg/html/issues/807#issuecomment-193405543 it's (for not-gigantic files) simpler than that; just click "edit", it seamlessly creates a fork and a new branch and gives you a "make a PR" button
19:34
<TabAtkins>
Ah, indeed.
20:42
<Jasper>
I often see URIs on the web which contain Unicode characters in them, which is wrong. I know the typical thing to do is to UTF-8-encode them and then urlencode on the results, but is there any specification for that?
20:42
<Jasper>
Or is the behavior of Firefox, e.g. more complicated?
20:56
<annevk>
Jasper: https://url.spec.whatwg.org/
20:57
<Jasper>
I thought I had a cursory look at that and didn't find anything
20:57
Jasper
looks closer
20:58
<annevk>
Jasper: what you mentioned is approximately what happens for path and query components
20:59
<annevk>
Jasper: host has IDNA handling, fragment might leave things as-is atm
20:59
<annevk>
Jasper: URL parser defines the details