01:00
<MikeSmith>
Domenic: about not getting how to stop the critic-bot e-mail for a wpt PR, did you try the "Exclude me, please!" button at https://critic.hoppipolla.co.uk/r/5726
01:00
<MikeSmith>
maybe that won't work if you're the owner
01:02
<MikeSmith>
if not, maybe you can try the "Edit owners" button and remove yourself
01:02
<MikeSmith>
if none of that works, you can rebase and force-push the branch, or do something else that rewrites history for the branch, and force-push it
01:03
<MikeSmith>
because critic will choke and that and stop tracking the branch
01:04
<MikeSmith>
short of those I don't know any other way to disassociate yourself from a critic review, or to disassociate the critic review from a PR
01:04
<MikeSmith>
but jgraham may know
04:13
<cvrebert>
botie: any news?
04:13
<botie>
cvrebert: no idea
05:40
<annevk>
Sebmaster: I guess I should use some bullet points
05:42
<annevk>
Sebmaster: what it wants to do is prevent copying host and base's path if input starts with a Windows drive letter followed by nothing or some delimiter
07:30
<annevk>
philipj: https://github.com/whatwg/fullscreen/issues/17
07:31
<annevk>
Domenic: if we did URL comparison with options, URL.is(1, 2, options)?
07:31
<annevk>
Domenic: and if we did host comparison with options, URL.hostIs(1, 2, options)?
07:31
<annevk>
Domenic: or is Object.is really the worst?
09:35
<annevk>
https://code.google.com/p/chromium/issues/detail?id=517819 at the top says "Google Code will be turning read-only on August 25th. See this post for more information."
09:35
<annevk>
Is chromium special cased?
09:36
<annevk>
Ah, it is
09:37
<annevk>
Although that only lists chromium and android, not e.g., v8
09:38
annevk
finds the need for "non-Windows path-absolute file URL"
10:17
<MikeSmith>
if I want to compare instances of two objects without concern about their prototypes, JSON.stringify is an OK way to to that, right?
10:26
<espadrine>
not if they have reference cycles in them, or anything that doesn't serialize well
10:29
<Ms2ger>
Or anything with things on the prototype
10:36
<MikeSmith>
Ms2ger: to be clear, the context is the wpt PR I raised from replacing a few of the simple cases of assert_object_equals, and for those I think they could better have been written from the beginning just using a JSON.stringify comparison (or for one case, just using assert_equals, because it was just comparing to null anyway)
10:38
<MikeSmith>
I think all the cases we have/had in the suite that I've looked at so far didn't need to begin with to be using a strict comparison like assert_object_equals attempted to be
10:40
<MikeSmith>
espadrine: I don't know what it means for an object to have to reference cycles in it
10:41
<MikeSmith>
unless that means somethign other than in the GC sense
10:41
<MikeSmith>
well, then I still don't know what that would mean
10:42
<MikeSmith>
I thought JSON.stringify just serializes what the object exposes to you programmatically
10:44
<espadrine>
a = {b: {a: null}}; a.b.a = a; JSON.stringify(a)
10:44
<espadrine>
Exception: TypeError: cyclic object value
10:44
<MikeSmith>
ah
10:45
<MikeSmith>
yeah we're not doing anything like that
10:46
<MikeSmith>
in the test cases I'm looking at, I mean
10:46
<MikeSmith>
they're not tests for pathological cases
10:47
<MikeSmith>
they're just normal things where the test case is constructing some set of data and then comparing it to an object that representswhat the expected data is supposed to be
10:53
<annevk>
MikeSmith: what's the purpose of assert_object_equals?
10:57
<annevk>
I think my main gripe with Bikeshed at the moment is that the output is so much uglier than ReSpec, making it much harder to review generated HTML
11:00
<MikeSmith>
annevk: I think it was intended to be a way provide a strict comparison of two objects, for tests that needed to do that for some reason
11:01
<MikeSmith>
annevk: but it doesn't actually do that, which is why it's being removed
11:01
<MikeSmith>
also, it turns out that there aren't really any tests that need to do a strict object comparison
11:01
<MikeSmith>
at least not that I've seen so far
11:02
<MikeSmith>
so instead the method ended up getting used to do comparisons that it wasn't really needed for, and that some other comparison could be used for instead
11:08
<MikeSmith>
annevk: what's uglier about Bikeshed output? Lack of indenting or line breaks or what?
11:09
<MikeSmith>
(assuming you mean the formatting of the HTML source)
11:09
<MikeSmith>
if it's just stuff like that, that seems easy enough to add some step to Bikeshed to prettify it
11:21
<gsnedders>
MikeSmith: JSON.stringify doesn't guarantee serialisation order is constant, AFAIK
11:22
<MikeSmith>
gsnedders: yeah foolip noted that also
11:49
<annevk>
MikeSmith: isn't assert_equals that already?
11:49
<MikeSmith>
annevk: no
11:50
<annevk>
MikeSmith: Bikeshed does its own serialization, but it doesn't really remove whitespace from the input where it can, so the output is just ugly
11:50
<annevk>
MikeSmith: at least for stuff I write...
11:54
<MikeSmith>
does Bikeshed also use its own parser?
11:55
<annevk>
MikeSmith: html5lib, iirc
11:56
<MikeSmith>
then I wonder why it doesn't just use the html5lib serializer
11:58
<TabAtkins>
MikeSmith: Because it didn't serialize <wbr> correctly, iirc
12:00
<TabAtkins>
I feel like there was another reason too
12:00
<annevk>
It's more than that though, Bikeshed seems to actively change indentation and such too
12:01
<annevk>
Perhaps in part due to it supporting Markdown like stuff mixed with HTML?
12:03
<TabAtkins>
Yeah, and it dues a terrible job with it too. Need to weigh in that more.
12:03
<TabAtkins>
*work on
12:06
<annevk>
TabAtkins: btw, is it possible to change the order of the sections?
12:07
<annevk>
TabAtkins: for WHATWG stuff it really makes sense to have Acknowledgments last
12:10
<TabAtkins>
Ugh, it would be annoying to make the boilerplate generate not-at-the-end.
13:02
<krijnhoetmerbot>
Domenic, Ms2ger: yeah, sorry about that (logs over http, not https)
13:04
<annevk>
TabAtkins: is there any way to link from syntax diagrams?
13:04
<annevk>
TabAtkins: I guess it's not strictly needed in my case, but since SVG supports links it seems nicer
13:12
<gsnedders>
TabAtkins: we don't serialise <wbr> correctly? why haven't we fixed that?
13:21
<annevk>
TabAtkins: you around?
13:21
<annevk>
TabAtkins: I'm playing with railroad diagrams and they look cool
13:22
<annevk>
TabAtkins: but it seems they need a lot of prose around them before they start making sense
13:22
<annevk>
TabAtkins: I was kind of hoping to just use them to illustrate the grammar, but it seems I can't even name the diagram without resorting to some outside markup
13:22
<annevk>
TabAtkins: and then I can't link pieces together...
13:30
<annevk>
TabAtkins: summary here: https://github.com/whatwg/url/issues/67
14:11
<TabAtkins>
annevk: Sorry, still in the middle of traveling.
14:12
<annevk>
TabAtkins: no worries, let me know whenever you're back, none of this is in a great hurry
14:12
<TabAtkins>
There are ways to link, but they aren't documented right now.
14:12
<annevk>
TabAtkins: Chris Lord's Navigation Transition stuff is higher priority than any of my Bikeshed stuff :-)
14:15
<TabAtkins>
Kk 😀
14:19
<gsnedders>
TabAtkins: I can't see any bug report or anything about <wbr> :(
14:23
<TabAtkins>
I reported it to you in person iirc
14:23
<gsnedders>
TabAtkins: bah!
14:23
<TabAtkins>
You serialize an end tag for it
14:33
<annevk>
if that was all the reason you needed to write your own serializer...
14:34
<annevk>
it seems someone should just patch https://github.com/html5lib/html5lib-python/blob/master/html5lib/constants.py#L487 and that'd be fixed
14:36
<TabAtkins>
Just looked it up, the reason i did it originally was to get newlines in my generated code.
14:36
<TabAtkins>
https://github.com/tabatkins/bikeshed/commit/a4a4c5bded724c604234f8333f5d6d0e7851d9ce
14:37
<annevk>
gsnedders: https://github.com/html5lib/html5lib-python/issues/203
14:38
<annevk>
(is the issue for void elements not being up-to-date, even has <event-source> :-))
14:41
<gsnedders>
annevk: takk
14:42
<gsnedders>
annevk: I think we've normally been better with /adding/ elements than removing them
14:42
<annevk>
looks like it, I doubt there's many people that remember <event-source>
14:48
<Domenic>
annevk: URL.is and hostIs seems OK... Not obviously correct or obviously wrong. Maybe public-script-coord it?
14:50
<gsnedders>
TabAtkins: where do yoiu want new lines?
14:59
<annevk>
Domenic: done
15:00
<annevk>
Domenic: nobody else seems to really use that list :-/
15:01
<Domenic>
annevk: that's why I love it :p
15:01
<annevk>
Domenic: I'll remind you next time you see Chrome shipping a shitty API
15:05
<TabAtkins>
annevk: .is() is commonly used as an identity check
15:05
<TabAtkins>
gsnedders: Everywhere, just formatting HTML like you would by hand, with newlines and indents.
15:07
<annevk>
TabAtkins: but that breaks so badly if the input was already formatted well
15:07
<annevk>
TabAtkins: you should just have added newlines to the auto-generated HTML/tree stuff
15:07
<TabAtkins>
annevk: Yeah, I can fix it, I just haven't yet
15:08
<TabAtkins>
And omg no, I am absolutely not shitting newlines and indents all over my code.
15:09
<TabAtkins>
I'm building stuff with DOM methods, manually handling code formatting would be the worst thing ever
15:10
<annevk>
just append some newlines here and there
15:10
<annevk>
the way you do it now, if the input contains newlines, you get a mess
15:12
<annevk>
I mean, it's exactly as you say, you're shitting newlines and indents all over my code
15:12
<annevk>
(And closing tags.)
15:13
<annevk>
And the closing tags come after the newlines, it's all kinds of terrible the current setup is.
15:34
<wanderview>
JakeA: thanks for writing the bug
15:36
wanderview
notices ms2ger is in firefox's dictionary...
15:37
<JakeA>
no worries! Odd to see both the latest version of Firefox and Safari regress, I wonder if it's just coincidence.
15:43
<wanderview>
JakeA: did you try running your tests in workers as well? I bet its even more messed up
15:44
<JakeA>
wanderview: hah, I didn't. I guess I didn't expect them to be different
15:45
<wanderview>
JakeA: I believe they have different implementations, at least in gecko...
15:45
<wanderview>
for example, we have a thing to free the worker thread while we perform work on the main thread
15:45
wanderview
throws up a little
15:46
jgraham
wonders which tests these are
15:47
<wanderview>
jgraham: https://twitter.com/wanderview/status/633288790082240512
15:50
<Ms2ger>
JakeA, yeah, jgraham and I can help
15:50
<Ms2ger>
There's also http://testthewebforward.org/docs/
15:50
<JakeA>
Will give those a read, cheers!
15:52
<Ms2ger>
JakeA, if there's anything that's unclear there, write it down :)
15:53
<jgraham>
Yeah, this is *super* good stuff to submit tests on. Not least because there's an interop fail, but also because as you note it's a subtle hazard that will cause sites to fail for obscure reasons
15:54
<Ms2ger>
(jsbell used to be at MS?)
15:57
<jgraham>
Speaking of Microsoft
15:58
<jgraham>
I'm 2 hours in to running web-platform-tests in Edge
15:58
<jgraham>
Reached html/obsolete so far
16:02
<jgraham>
Oh now I reached the tests that make a sound
16:02
<jgraham>
Either that or a bird got in when I wasn't looking
16:02
<darobin>
the sound tests should use more cowbell
16:04
jgraham
sends darobin to the naughty step
16:04
<darobin>
the naughty step?
16:04
<darobin>
that's not a punishment I'm familiar with
16:11
<Domenic>
annevk: I am pretty sure https://www.w3.org/Bugs/Public/show_bug.cgi?id=25981 is all about integration with ES initialization, not with the ES job queue. Is there another bug about microtasks vs. jobs?
16:13
<annevk>
Domenic: that bug mentions jobs a whole lot though. Seems like it might be all intertwined?
16:13
<Domenic>
annevk: no, it's basically saying "work around the job queue stuff while initializing."
16:35
<JakeA>
Is there a way that two user-opened tabs can start synchronously communicating? Trying to work out why they must share an event loop
16:35
<wanderview>
JakeA: localstorage?
16:36
<JakeA>
wanderview: aha! Thanks
16:36
<wanderview>
JakeA: but someone at mozilla has patches to give windows their own event loop... not sure why its never landed
16:36
<JakeA>
It might be localstorage as you say
16:39
<wanderview>
JakeA: I guess chrome gets separate event loops due to each tab having its own process?
16:41
<JakeA>
wanderview: I wonder if it's process-per-site rather than process-per-tab. This sounds like something I really should know
16:42
<jgraham>
I imagine it's process per unit of related-origin browsing context, or whatever the spec term is
16:42
<JakeA>
wanderview: Chromium has this tool (can't remember its name) that lets you bisect stuff, it launches Chromium with a particular url, then on close it asks if something worked/failed, then loads the next version until it finds the commit. Does Gecko have anything like this?
16:43
<jgraham>
mozregression
16:43
<wanderview>
JakeA: we have an auto-bisect tool... I haven't used it directly... I can try to find the wiki
16:43
<wanderview>
what jgraham said
16:43
<JakeA>
ohh ta
16:44
<jgraham>
also window.open() can give you multiple top-level browsing contexts that can communicate
16:45
<wanderview>
jgraham: yea, but can they communicate synchronously
16:45
<wanderview>
postMessage is async
16:47
<JakeA>
jgraham: how do I convert a Firefox version into a date for mozregression, is it the release date?
16:49
<wanderview>
JakeA: its every 6 weeks in general, but the exact date/time can vary by a day or so
16:49
wanderview
tries to find out
16:49
<jgraham>
JakeA: Look in "about firefox" under help
16:50
<jgraham>
(the (?) icon in the dropdown menu)
16:50
<wanderview>
JakeA: search for strings like FIREFOX_39 here: http://hg.mozilla.org/releases/mozilla-release/
16:51
<JakeA>
jgraham: that only has the version number on OSX anyway. Looks like wanderview's solution works
16:51
<JakeA>
Ta!
16:51
<wanderview>
FIREFOX_39_0 for first release, for example... or FIREFOX_39_0_3 for 39.0.3 chemspill release
16:51
<jgraham>
Oh, right I guess it wouldn't tell you when it branched
16:52
<jgraham>
JakeA: Oh, use --good-release and --bad-release
16:52
<jgraham>
http://mozilla.github.io/mozregression/documentation/usage.html
16:53
<JakeA>
perfect, thanks!
16:53
<annevk>
Domenic: it seems a bunch of it is about the event loop too
16:53
<Domenic>
annevk: it is about initializing the event loop. I am 95% certain on this.
16:54
<Domenic>
annevk: notice how e.g. it doesn't mention microtasks at all.
16:54
<annevk>
Domenic: I noticed that, that's certainly curious
16:54
<annevk>
Domenic: I guess you need this first, and then build microtasks on top
16:54
<Domenic>
there is a separate set of work that needs to be done to integrate microtasks and jobs
16:54
<Domenic>
maybe
16:54
<Domenic>
i think they might be independent
16:54
<annevk>
Domenic: but it would sure be easier if ECMAScript just let the host language define some callbacks
16:55
<Domenic>
this bug is more about working around allen's crazy model of ES environment initialization
16:55
<Domenic>
I don't think that's true for microtasks + jobs
16:55
<Domenic>
I think that is true for initialization
16:55
<Domenic>
We'll see
16:55
<Domenic>
I'll try writing a patch soon
17:05
<annevk>
Ugh https://github.com/github/github-services/issues/964
17:12
<annevk>
Domenic: I think https://esdiscuss.org/topic/the-initialization-steps-for-web-browsers#content-5 in particular is why it's complicated
17:12
<annevk>
Domenic: in ECMAScript everything is a job, including running script
17:12
<Domenic>
Yes
17:15
<caitp>
do you think it would ever be possible to make it less complicated
17:17
<annevk>
caitp: I think if ECMAScript delegated more to the host it could be pretty straightforward
17:18
<annevk>
caitp: it's the host having to intertwine itself into ECMAScript and modify its core algorithms that makes this rather messy and involved
22:17
<jgraham>
Well eventually it took 8 hours to run the web-platform-tests in IE
22:17
<jgraham>
Erm, Edge
22:18
<jgraham>
Mainly because the harness kept killing and restarting the browser, to be fair
22:21
<Domenic>
How's it doing
22:23
<jgraham>
Well, I don't know, I need some better way to compare multiple log files
23:19
<gsnedders>
jgraham: through wptrunner, I presume?
23:20
<jgraham>
Yeah