02:07
<wanderview>
Domenic: is the streams reference implementation in npm anywhere? I'm thinking about converting some of my old stream modules to the new spec as an experiment
02:08
<wanderview>
I see some whatwg-stream stuff in npm... but it seems old
02:10
<wanderview>
I guess maybe this one is what I want... but only updated once it appears... a month ago: https://github.com/h13i32maru/eo.whatwg-streams
03:35
<frewsxcv>
"To be invited, just send an email or ask us on IRC" can i take anyone up on this offer? :)
03:35
frewsxcv
is 'frewsxcv' on github if so
03:46
<caitp->
hang around for a few hours, someone will probably wake up or come back from a night of drinking soon
03:48
<frewsxcv>
a room full of users who write standards drinking on a wednesday night. i think i'm going to like it in here
03:51
<caitp->
if you're going to write standards, what better way to do it
06:03
<annevk>
roc: ah thanks!
06:03
<annevk>
I knew there was someone
06:22
<Domenic>
wanderview: yeah I don't think I've published. File a bug and I'll do so as soon as I get some free time (either today if TC39 ratholes on something boring, or Monday)
06:34
<annevk>
frewsxcv: invited to what?
06:34
annevk
is missing context
08:11
<MikeSmith>
annevk: whatwg github
08:12
<MikeSmith>
I did the invite thing for frewsxcv after he inquired here earlier
08:12
<MikeSmith>
or at least I think I did
08:12
<MikeSmith>
I pushed some button
08:36
<annevk>
MikeSmith: I'm not sure we should just give anyone access there though
08:36
<MikeSmith>
annevk: I checked and frewsxcv seems to be working on rust
08:37
<MikeSmith>
and otherwise seems clueful
08:37
<annevk>
ok
08:37
<MikeSmith>
and also I didn't add him to any teams because I don't know what he's interested in helping with
08:38
<annevk>
Oh I see, I thought it was about Owners
08:39
<MikeSmith>
ah
08:39
<MikeSmith>
yeah I wouldn't add anybody to Owners
08:40
<MikeSmith>
actually frewsxcv also seems to be contributing to servo too https://github.com/frewsxcv?tab=activity
08:49
<annevk>
cool cool
09:09
<annevk>
JakeA: I created https://github.com/whatwg/fetch/issues/27 for all aborting a fetch stuff to come together
09:16
<annevk>
Domenic: ^^
09:16
<Domenic>
yeah
09:18
<hsivonen>
annevk: cool to see XML5 implemented
09:30
<JakeA>
annevk: cheers, going through it now. Probably the highest priority thing we have
09:35
<hsivonen>
MikeSmith: why is the saxtree subtree of the htmlparser hg repo imported into a git repo of its own under github.com/validator?
09:39
<JakeA>
annevk: fetch(url, controller(c => c.abort())) should be fetch(url, {controller(c) { c.abort() }}) I think
09:39
<MikeSmith>
hsivonen: oh I thought I had removed that
09:39
<MikeSmith>
hsivonen: was experimenting
09:39
<MikeSmith>
will delete it now
09:40
<JakeA>
annevk: or fetch(url, {controller: c => c.abort()});
09:46
<hsivonen>
MikeSmith: I see
09:53
<annevk>
JakeA: I like that last one, will correct, thanks
09:54
<hsivonen>
MikeSmith: the SNI patch has now been deployed on validator.nu. Thank you.
09:54
<hsivonen>
(Still running old Java without new TLS)
09:54
<MikeSmith>
ah cool!
09:54
<annevk>
JakeA: done
09:55
<hsivonen>
I still have a hard time believing that Ubuntu 14.04 doesn't have OpenJDK 8 in backports
09:56
<MikeSmith>
hsivonen: the Apache HTTP Commons docs are inscrutable. If it weren't for stackoverflow I don't think I ever would have figured out how to migrate to the new API
09:56
<hsivonen>
MikeSmith: did you ask or was there already an answer there?
09:57
<MikeSmith>
hsivonen: there was an answer there alreadyーone of those where the person who submitted it basically said, This is based on several hours of frustration, trial-and-error, etc.
09:58
hsivonen
can imagine several hours of frustration with HttpClient
09:58
<MikeSmith>
yeah
09:58
<MikeSmith>
hsivonen: anyway given the track record of the maintainers of that library, it seems likely they're going to change the API again. They did in a breaking way even between, the 4.36 release and the 4.4 release, apparently
09:59
<hsivonen>
well, at least way back when it was better than the JDK's built-in HTTP client
09:59
<MikeSmith>
yup
09:59
<MikeSmith>
I did some looking around for possible alternatives but I couldn't find anything that looked superior and well-documented
10:07
<annevk>
hsivonen: not just implemented, he's also actively patching the specification
10:07
annevk
was impressed
10:11
<hsivonen>
It'll be interesting to see how much code internal subset handling is going to be (even if it ends up being just skipping over it)
10:12
<MikeSmith>
does the spec (yet) say anything about what do with namespaces?
10:14
<annevk>
MikeSmith: they're parsed and supported, from what I remember
10:14
<JakeA>
annevk: crazy thought while I'm reconsuming the various threads. Have we considered request.abort? As in var r = new Request(url); fetch(r); r.abort()
10:15
<annevk>
JakeA: yeah we have
10:15
<JakeA>
hah, ok *gets back to reading*
10:15
<annevk>
JakeA: the problem is that fetch() copies /r/ and mutates it a fair bit
10:15
<annevk>
JakeA: the copy that is
10:16
<annevk>
JakeA: it would also get weird with the cache API as wanderview pointed out
10:17
<JakeA>
hah, just got to that bit of the thread. Tell you what, I'll read it all before having any more "ideas"
10:22
<annevk>
Oh also, I'm going to moderate that particular issue if this will take a while. Cleaning up stuff and simply deleting off-topic rants if any appear
10:35
<Domenic>
yes please -_-
10:41
<annevk>
First comment already seems to have missed part of the post but I'll let it slide...
10:42
<Domenic>
moderate him harshly, he has already lost all goodwill
10:54
<annevk>
zcorpan: I guess the relevant Mozilla people for that DOMQuad question are on public-fx?
10:55
<zcorpan>
annevk: bz is cc-ed at least
10:55
<zcorpan>
roc: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0129.html
10:56
<annevk>
if we haven't shipped I'd say r+
10:56
<zcorpan>
you have shipped
10:56
<annevk>
that is pretty sad
10:57
<annevk>
zcorpan: also these complicated constructors?
10:57
<annevk>
zcorpan: that are impossible per IDL?
10:57
<annevk>
seems hard
10:57
<zcorpan>
annevk: yeah, webidl designed dictionaries for a single settings argument, not for this sort of overloading
10:58
<zcorpan>
we could change webidl, but it might still be ugly to have overloading
10:58
<annevk>
zcorpan: no I mean, did Gecko ship with the weird design?
10:58
<Domenic>
always remain skeptical of overloading :P
10:59
<zcorpan>
annevk: ah no i think it requires an actual DOMRect. but can check
10:59
<annevk>
zcorpan: or do we only return instances of these objects from certain methods?
11:01
<annevk>
http://lxr.mozilla.org/mozilla-central/source/dom/webidl/DOMPoint.webidl looks like it has overloading
11:01
<annevk>
zcorpan: ^^
11:01
<annevk>
same for http://lxr.mozilla.org/mozilla-central/source/dom/webidl/DOMQuad.webidl
11:01
<annevk>
only http://lxr.mozilla.org/mozilla-central/source/dom/webidl/DOMRect.webidl is cleanish
11:02
<zcorpan>
annevk: yeah but the DOMQuad doesn't accept a dictionary as a rect
11:03
<annevk>
yeah so we should use-counter that
11:03
<annevk>
and some of the other stuff too
11:03
<annevk>
:-(
11:44
<annevk>
So there's URL.createObjectURL(...) and a proposed URL.createFor(...). I was thinking URL.from(...) would be more JavaScripty but it returns a string, so maybe not...
12:18
<annevk>
JakeA: from your post I can't quite make out what happens when the promise is already fulfilled but the fetch is not
12:19
<annevk>
JakeA: e.g. there's no example demonstrating what .abort() does within .then()
12:20
<annevk>
JakeA: which per the goals is something I'd like to see addressed
12:20
<annevk>
JakeA: and is something that I don't see a general cancelable-promises design addressing
12:20
<JakeA>
annevk: var p = fetch(url); p.abort() - if headers have arrived, it does nothing. var p2 = fetch(url).then(r => r.text()); p2.abort(); - this would cancel either the request or the stream
12:23
<annevk>
hmm
12:25
<JakeA>
annevk: I thought about a design where onCancel would fire even if the promise was settled, but it doesn't really make sense, and I don't think it's needed
12:28
<JakeA>
annevk: have clarified on github
12:30
<annevk>
JakeA: when chained it seems okay, and I guess once you have the stream it's okay too... yeah
12:33
<annevk>
JakeA: not triggering .catch but triggering .finally is also novel, rather nice design I have to say
12:34
<annevk>
JakeA: I guess that does lead us into promise-subclass land if we want to control other things, e.g. a fetch in-flight
12:34
<annevk>
JakeA: or maybe the rather ugly controller approach makes a comeback then?
12:48
<frewsxcv>
MikeSmith: for what it's worth, i never got an invite to the github organization. i would have chimed into that conversation last night but i was asleep :)
13:00
<MikeSmith>
frewsxcv: ok is there a particular spec you want to help with?
13:00
<MikeSmith>
frewsxcv: as I think you know, github sorta forces orgs to put contributors into particular teams
13:01
<MikeSmith>
and we don't have a general team
13:01
<MikeSmith>
except for the Owners team
13:01
<frewsxcv>
ah, hm
13:02
<frewsxcv>
'dom' seems most relevant
13:02
<frewsxcv>
or possibly 'fetch'
13:03
<MikeSmith>
yeah so we don't have teams for those yet
13:03
<MikeSmith>
so you probably want to ask annevk
13:03
<MikeSmith>
he's editor for both of those
13:04
<frewsxcv>
alright
13:04
<MikeSmith>
the only teams we have so far are for the (now-defunkt) loader spec, "media-keys", notifications, serial spec, streams, and url
13:05
<frewsxcv>
is there a url repo?
13:05
<MikeSmith>
yeah
13:05
<frewsxcv>
that's weird, can't see it on github.com/whatwg bug i can navigate to it manually
13:05
frewsxcv
*but
13:06
<MikeSmith>
ah https://github.com/whatwg/url but I think there's another one too maybe
13:06
<MikeSmith>
https://github.com/webspecs/url
13:07
<MikeSmith>
I can't remember now if both of the repos are active or if the 2nd one's meant to replace the first
13:10
<MikeSmith>
frewsxcv: so for now I made a new team called "contributors" and invited you to that
13:10
<frewsxcv>
:)
13:11
<frewsxcv>
thanks!
13:11
<JakeA>
annevk: yeah, I don't want to do the controller thing unless we really have to
13:38
<annevk>
frewsxcv: I recommend just watching the individual repositories
13:38
<annevk>
frewsxcv: feel free to fix issues too as you see fit
13:39
<frewsxcv>
sounds good
13:39
<annevk>
frewsxcv: once you fix enough issues, we can talk about commit access I guess
13:39
<frewsxcv>
yeah, working on some stuff now with servo that will probably result in pull requests for some repos
14:32
<annevk>
JakeA: about getting feedback, https://github.com/whatwg/fetch/issues/24 pretty please?
14:41
<JakeA>
annevk: thanks for the nudge. I'm still in inbox hell so feel free to bug me about anything urgent like this. Will reply today.
14:46
annevk
is down to seven tricky threads he isn't quite sure how to tackle
14:46
<annevk>
well, and presumably over a hundred open issues on various standards
14:47
<annevk>
oh well, better than this morning
14:57
<JakeA>
annevk: say we work out the cancellable promise thing… any reason that stuff shouldn't just be added to Promise rather than having a subclass?
15:11
<bradleymeck>
is there an actual thread about cancellation yet? every time I search for one its just tons of people talking in different places
15:12
<annevk>
JakeA: hmm, talk to Domenic and TC39? The cancellable promise thing does seem like kind of an uphill battle given the strong feelings
15:13
<annevk>
bradleymeck: well that hasn't changed
15:13
<annevk>
biab
15:14
<bradleymeck>
ive started using generators :-/ they have .return I am using as a cancellation method
15:14
<bradleymeck>
but its kinda a dirty hack
15:55
<annevk>
bradleymeck: JakeA's suggestion is here btw: https://github.com/whatwg/fetch/issues/27#issuecomment-86484678
15:59
<bradleymeck>
seems sane, not sure I like the { onCancel } arg to new Promise, but w/e
16:02
<Domenic>
Don't think I like cancellation as a third channel
16:03
<annevk>
It makes sense...
16:03
<bradleymeck>
would you treat cancellation as an error?
16:04
<annevk>
I agree that the constructor reads a bit ugly though
16:04
<annevk>
This is great: http://youmightnotneedjquery.com/
16:04
<caitp>
what does cancelling a promise even mean
16:05
<annevk>
mu
16:06
<Domenic>
It doesn't fit with return value/thrown exception
16:06
<Domenic>
it isn't analogous to fulfilled or rejected
16:06
<Domenic>
in that it isn't a type of resolution
16:06
<Domenic>
it's not a state or a fate really
16:07
<caitp>
you're either saying "cancel my subscription to finding out what happened" or "stop doing the thing that will cause a resolution" --- but it could be either one
16:07
<caitp>
and the former is problematic for promise chaining
16:08
<caitp>
latter is too, probably
16:08
<Domenic>
cancellation token seems more robust in the face of such existential questioning
16:08
<Domenic>
since you could do it today
16:09
<Domenic>
although it kind of punts on the question of how/whether consumers observe
16:10
<darobin>
annevk: if anything that page makes me want to use jQuery more
16:10
<jgraham>
annevk: The inconsistent use of semicolons in the examples is maddening
16:11
<jgraham>
darobin: Well it gets better for !jQuery after the ajax stuff
16:11
<darobin>
jgraham: some parts yes, then it gets worse and better on and off
16:12
<darobin>
and if you switch to IE8, it mostly gets worse
16:12
<wanderview>
Domenic: are the node.js/io.js folks considering implementing whatwg-streams? wondered after this issue: https://github.com/whatwg/streams/issues/304
16:12
<caitp>
but it's only looking at ie compatibility
16:12
<Domenic>
wanderview: yeah, there's definite interest
16:12
<caitp>
it's not like webkit/blink/gecko are perfect and non-buggy
16:13
<wanderview>
Domenic: but they have not started working on it yet?
16:13
<annevk>
Domenic: I guess the other thing you could do is embrace async is a little different
16:13
<Domenic>
wanderview: no, probably just going to lift the implementation from v8
16:13
<jgraham>
caitp: I imagine they are more or less compatible on the things listed there. It's mostly not rocket science.
16:13
<Domenic>
annevk: meaning what?
16:13
<jgraham>
But testsneeded if you know of any bugs :)
16:14
<wanderview>
Domenic: hmm... can you explain why streams is a language (v8) feature and not more of a DOM/js hosted thing?
16:14
<caitp>
well, it depends how much new stuff you want to use
16:14
<bradleymeck>
wanderview: there is a lot of talk / concern about needing data before daing things
16:14
<Domenic>
wanderview: they're like promises
16:14
<bradleymeck>
doing*
16:14
<annevk>
Domenic: meaning you might need more than return and throw
16:14
<Domenic>
wanderview: implemented as a v8 extension probably since blink team owns it
16:14
<Domenic>
annevk: sure, but i'm saying that cancel isn't even in the same category
16:14
<caitp>
qsa works inconsistently between different browsers when it comes to xml crap
16:14
<Domenic>
it affects the ongoing operation; it's not a result of it
16:15
<caitp>
cloneNode is broken for template elements in webkit (until january afaik)
16:15
<caitp>
lots of other stuff
16:15
<caitp>
the web is ridiculously complicated, and probably impossible to simplify, so stuff is gonna be wrong
16:15
<wanderview>
Domenic: ok... but its just some properties on the global essentially... not actual language primitives introduced, right?
16:15
<Domenic>
wanderview: i mean i guess so, in the same way as Promise is just a property on the global
16:17
<bradleymeck>
wanderview: it will need to have hooks in the VM somehow for implementations to allow better chaining etc that we can't see from the ref impl if we want to optimize them.
16:18
<bradleymeck>
which is one of the things we are curious about, as well as some of the usage of getters/setters
16:18
<wanderview>
right... I guess my confusion stems from stuff like Promise being implemented under "DOM" in gecko
16:18
<bradleymeck>
but we have lots of questions, just no data to do much
16:19
<Domenic>
bradleymeck: you keep saying "we" but you mean "I"
16:19
<caitp>
surprised they didn't put it in the spidermonkey part of the tree
16:20
<bradleymeck>
Domenic: I have trevnorris and others from NS
16:20
<bradleymeck>
I am not alone
16:20
<Domenic>
yes, they are much more understanding than you are
16:20
<bradleymeck>
as long as it is not frozen for eternity its not that big of a deal for us, but it sounds like it is being frozen before it gets userland testing
16:21
<bradleymeck>
promises were in userland for a while before they landed
16:21
<wanderview>
caitp: maybe there is a SM part too... this is the binding part I'm familiar with: https://dxr.mozilla.org/mozilla-central/source/dom/promise
16:21
<caitp>
i don't see it with the other self-hosted JS stuff in sm
16:22
<bradleymeck>
I don't understand the freezing; but I'm backing off and letting others poke around at it. now I'm just kinda curious/concerned if there does show up a problem but it is frozen
16:23
<wanderview>
bradleymeck: do you mean freezing the spec or locking a stream? (sorry, missed the context)
16:23
<bradleymeck>
the spec
16:24
<wanderview>
it seems like every spec continues to evolve over time... its just how much you need to pay attention to backward compatibility
16:25
<bradleymeck>
it will evolve but it would ease my mind to have some testing out there to make sure nothing nefarious is hiding
16:26
<bradleymeck>
node's crypto calling .nextTick is pretty heinous how many times it ends up being called
16:27
<annevk>
wanderview: Promise being in DOM is meant as a "temporary" hack
16:27
<wanderview>
bradleymeck: are your spec concerns written up any where? I have to run now, but would be interested in learning more later
16:28
<annevk>
wanderview: leads us to violate the specification in some edge cases
16:28
<wanderview>
annevk: awesome
16:28
<bradleymeck>
wanderview: ping trevnorris hes got the things
16:28
<wanderview>
thanks
16:31
<annevk>
wanderview: it seems better than https://code.google.com/p/v8/issues/detail?id=3237
16:41
<annevk>
Domenic: I don't know. To me it makes sense. Return/throw is me controlling the flow. Cancel is the outside controlling the flow. In synchronous context cancel just makes no sense.
16:41
<caitp>
"break" statements are usually considered to be a part of flow control
16:41
<annevk>
Domenic: but I guess you've had this argument a 1000 times already, no need to indulge me :-)
16:41
<caitp>
but breaking a promise is just too tacky
18:02
<Domenic>
still kinda sad we didn't get more puns, keep and break are a lot more fun than fulfill and reject
19:59
<Domenic>
oh wow the cancelable promise thread got getify'd, this'll be fun
20:00
<Domenic>
wow i think he does not know what backpressure means
20:05
<bradleymeck>
Domenic: he went from 0-60 on spec knowledge in like 2 years @-o, not sure I always agree but he has changed a lot
20:06
<bradleymeck>
has same nature to freak out as I do though
20:08
<roc>
annevk: see my email in public-fx ... we shipped a Constructor(DOMRectReadOnly), which is what the spec said at the time, and doesn't have problems AFAIK
20:09
<Domenic>
sigh i shouldn't be mean
20:17
<caitp>
what does backpressure mean?
20:17
<caitp>
for those of us who don't know how to spell good and want to do other stuff good too
20:18
<annevk>
roc: it's mostly the overloading that would be problematic, and it seems passing a DOMRect is not the most useful, but I'll let you guys sort it out :-)
20:20
<bradleymeck>
having a stream pushing data to another stream that is consuming; the stream that is consuming being being able to halt the pushing stream while it processes stuff is back pressure. Generally this is accomplished by using pull streams (so the consumer controls when new data comes in)
20:21
<roc>
I don't think overloading DOMRectReadOnly and DOMPointInit is problematic
20:27
<caitp>
Domenic: do you know who would be good to ping about something that needs to be checked into blink on the next v8 roll? sherrifs or somethin?
20:31
<caitp>
actually, it may not be needed at all
21:02
<zcorpan>
roc: thanks. replied
21:04
<zcorpan>
roc: any opinion on introducing DOMMatrixInit (other thread on public-fx)?
21:05
<IZh>
Hi! Getting 403 error on https://html.spec.whatwg.org/
21:06
<IZh>
On https://whatwg.org/ too.
21:06
<zcorpan>
Hixie: ^
21:20
<IZh_>
Channel logs' site is not working too.
21:21
<IZh_>
Upd: WHATWG's sites now works.
21:21
<caitp>
it's a miracle
22:24
<wilhelm>
"RDFa Working Group now Closed". And there was much rejoicing.
22:34
<tantek>
wow for reals? (I mean on the closed, not the rejoicing)
22:41
<jgraham>
ere actually was much rejoying
22:41
<jgraham>
*rejoycing
22:41
<jgraham>
A parade just went past my window
22:45
<tantek>
next up: who around here is using JSON-LD, for anything?
22:52
<gavinc>
tantek: me! ... but I'm not that normal ;)