02:04
<MikeSmith>
me tries to figure out why an app that's already using a browser engine as its runtime would need a <webview> element
02:09
<MikeSmith>
there's no plan to allow this <webview> element in actual Web content, right?
02:10
<MikeSmith>
I mean in content that runs under the Web security model
02:10
<MikeSmith>
as opposed to whatever other unspecified security models this non-Web stuff runs in
02:17
<TabAtkins>
MikeSmith: Context?
02:18
<MikeSmith>
TabAtkins: hang on will get some links
02:19
<MikeSmith>
TabAtkins: https://developer.chrome.com/apps/tags/webview
02:20
<MikeSmith>
and now proposed draft standard at http://benfrancis.github.io/webview/
02:20
<TabAtkins>
Ah, yeah. It's a better <iframe> - forced cross-origin, because the synchronous links are filtered out.
04:10
<SimonSapin>
Does the platform need an XML parser, other than for image/svg+xml ?
04:17
<pdr>
Does the platform even need an xml parser for svg? :)
04:22
<SimonSapin>
pdr: Exactly. I’ve heard about Blink wanting to use their HTML parser for image/svg+xml, so I was wondering if there is anything *else* that requires an XML parser, or if we could get away with not having one in Servo.
04:35
<pdr>
SimonSapin, XSLT was the other user of the XML parser in blink.
04:50
<zcorpan>
annevk: i agree with foolip, you either want to validate regions or error for extra lines. not silently skip
05:10
<MikeSmith>
SimonSapin: for (the relatively few) pages on the Web that are actually served as application/xhtml+xml
05:12
<SimonSapin>
MikeSmith: do they break if parsed as HTML?
05:13
<MikeSmith>
SimonSapin: things like <script src="foo.j"/> will
05:14
<MikeSmith>
that is, self-closing tag syntax for and element that requires an end tag in text/html
05:14
<SimonSapin>
I see, thanks
06:52
<annevk>
zcorpan: right, that's what I thought
07:15
<annevk>
https://code.google.com/p/chromium/issues/detail?id=412053#c5 \o/
07:15
<annevk>
https://code.google.com/p/chromium/issues/detail?id=417850 (removing utf-32)
07:47
<foolip>
annevk: sounds like silvia plans to add regions support to the validator, make sure to let her know if you're not excited about that so she doesn't waste time
07:47
<annevk>
foolip: if it's going in implementations I guess I'll add it
07:47
<annevk>
foolip: I don't really understand the current WebVTT landscape
07:48
<foolip>
annevk: well that's the thing, I don't want to ship that feature :)
07:49
<annevk>
foolip: it seems kind of sneaky to add these meaningless metadata fields after they've been rejected for over a year
07:49
<annevk>
foolip: and then add normative dependencies on them that not everyone wants
07:49
<annevk>
meh
07:49
<annevk>
foolip: I added a comment to the PR thread
07:49
<foolip>
annevk: I agree, there are several things in the spec I don't like and don't want to implement/ship
07:50
<annevk>
foolip: so how is that going to work out with the shared code base?
07:50
<annevk>
foolip: sylvia is still Google, no?
07:50
<foolip>
no, not for a while now
07:50
<foolip>
If Chrome wants to ship it we will too, of course
07:51
<zcorpan>
foolip: what happened to changing the position/align thing?
07:52
<annevk>
foolip: oh okay
07:52
<annevk>
foolip: I haven't followed subtitles for a while, it moved into a CG for unclear reasons
07:53
<annevk>
foolip: and then the W3C chartered this group that made things even uglier
07:53
<annevk>
foolip: Mozilla's representatives were not pleased
07:53
<foolip>
annevk: it's not clear yet what will happen, none of Google's engineers are paying any attention to WebVTT
07:53
<hsivonen_>
annevk: many newspapers are illgical and wrong when they write "web" or "internet" instead of "the Web" or "the Internet"
07:53
<foolip>
annevk: you mean the TTWG wanting to publish a WebVTT Rec?
07:54
<annevk>
hsivonen_: illogical?
07:54
<hsivonen_>
annevk: in IETF-speak, "an internet" and "the Internet" had meanings before the Guardian had heard of either
07:54
<annevk>
foolip: yes
07:55
<foolip>
zcorpan: the size clamping was put back, we added an auto position so that align by itself does something sane, and there's this lineAlign/positionAlign stuff I don't want to implement
07:55
<hsivonen_>
annevk: they take the position that the Internet and the Web are not proper nouns for specific, albeit large, distributed systems
07:55
<annevk>
http://en.wikipedia.org/wiki/Capitalization_of_%22Internet%22
07:55
<annevk>
So if you spell it "internet" you poop on history
07:56
<hsivonen_>
annevk: right
07:56
<annevk>
Given how words change meaning it doesn't seem so bad
07:56
<foolip>
annevk: I'm worried about the TTWG involvement as well, if the WG hopes to make changes to the spec based on their consensus I doubt things can go well
07:56
<hsivonen_>
annevk: also, the NYT argument is bogus
07:56
<foolip>
but I haven't walked away just yet
07:56
<hsivonen_>
"the Internet" does not refer to technology but to a specific large network using the technology
07:57
<hsivonen_>
(there are also publication that fight against trademark like iMac and iPhone)
07:58
<annevk>
Domenic: there's no BufferSource in https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
07:58
<annevk>
Domenic: BufferSource is an IDL construct for ArrayBuffer / ArrayBufferView
07:59
<annevk>
hsivonen: yeah I saw that
07:59
<Domenic>
annevk: sorry, SOurceBuffer
07:59
<annevk>
hsivonen: iPhone 5s vs iPhone 5S
08:00
<hsivonen>
annevk: I mean writing "Imac"
08:00
<annevk>
Domenic: window.SourceBuffer is undefined in Firefox and Chrome
08:00
<annevk>
hsivonen: understood, was giving another example
08:01
<Domenic>
annevk: that's a good sign then
08:01
<Domenic>
annevk: on the other hand IE11 has both SourceBuffer and ... SourceBufferList -_-. I don't know what the latter is but I'm betting it's a new fake-array.
08:01
<annevk>
Domenic: that we have both SourceBuffer and BufferSource and that they mean radically different things...
08:02
<annevk>
Domenic: yeah, TAG has not beating enough groups with the clue stick
08:02
<annevk>
Domenic: told WebRTC not to use named getters, creates a whole thread of people not understanding why; chair said the IDL worked perfectly fine in C++
08:02
<Domenic>
-___________-
08:04
<annevk>
Should maybe get that David Graham guy involved in specs somehow, he thought Fetch was easy to follow
08:04
<terinjokes>
question I've been meaning to ask: where is USVString defined?
08:04
<zcorpan>
terinjokes: webidl
08:04
<terinjokes>
but google
08:05
<annevk>
Domenic: for groups like WebRTC it seems somewhat vital IDL is maintained and we change stuff like "getter" into "legacygetter" (filed a bug on that the other day)
08:05
<annevk>
Domenic: you can add that to the list of arguments to convince the powers that be
08:05
<annevk>
terinjokes: http://heycam.github.io/webidl/
08:05
<Domenic>
terinjokes: sounds like you are looking at /TR/ URLs... the ED has USVString
08:05
<terinjokes>
annevk: yep, just found it
08:06
<terinjokes>
Domenic: no, i googled USVString which gave helpful "USB String" results
08:06
<Domenic>
oh haha
08:06
<annevk>
I kind of want to try to get IDL rename DOMString to String again
08:06
<annevk>
Last time it didn't work because implementations claimed they needed to alias, but it seems developers read IDL more than implementers
08:09
<Domenic>
terinjokes: which sequence<DOMString> were you confused about?
08:10
<Domenic>
annevk: not worth it, wait for The Great Renaming that we always dream of
08:10
<Domenic>
burn the political capital all at once
08:10
<annevk>
So far I've had more success with incremental changes
08:11
<terinjokes>
Domenic: sequence<sequence<DOMString> or object> the rows can contain any types
08:11
<terinjokes>
https://www.dropbox.com/s/vduood93hjp7d8j/Screenshot%202014-10-14%2001.11.23.png?dl=0
08:11
<Domenic>
terinjokes: hmm OK the internet said it was either a 2D array or an array of objects
08:12
<Domenic>
terinjokes: oh I see for the second param
08:12
<Domenic>
terinjokes: but I think it converts all types into object keys, which are strings
08:12
<terinjokes>
yeah, the second parameter is an array of indexes or properties
08:12
<Domenic>
indices are strings really, just in disguise ;)
08:12
<Domenic>
might as well let WebIDL convert them to strings for you
08:13
<terinjokes>
i still think that's wrong
08:13
<terinjokes>
you're saying a matrix of strings or an array of objects
08:14
<Domenic>
are we talking about second param or first param?
08:14
<terinjokes>
first
08:14
<Domenic>
oh ok
08:14
<Domenic>
yeah i see
08:14
<Domenic>
so sequence<sequence<any>> or sequence<object>?
08:15
<terinjokes>
the second paramter i already had as an array of DOMStrings? (which you changed to an optional sequence of DOMString)
08:15
<Domenic>
remember "array" = fake array in WebIDL
08:15
<Domenic>
and yeah that's why I was confused
08:15
<terinjokes>
yeah, i got confused which sequence or array. so i just picked one
08:16
<terinjokes>
sequence<sequence<any> or object>
08:16
<terinjokes>
which might be what you just said
08:17
<Domenic>
ah yeah i bet they are slightly different but let's go with the latter for now
08:17
<Domenic>
this will need review from an IDL expert
08:17
<Domenic>
also I forgot to &lt; things
08:17
<Domenic>
will force push a revision
08:17
<terinjokes>
ok, awaiting
08:19
<Domenic>
terinjokes: done
08:19
<annevk>
terinjokes: Domenic: can't you just copy IDL from browsers?
08:20
<Domenic>
good question ... browsers do such weird things though I am unsure they implement console with IDL
08:20
<annevk>
http://mxr.mozilla.org/mozilla-central/source/dom/webidl/Console.webidl
08:21
<Domenic>
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/frame/ConsoleBase.idl&sq=package:chromium
08:21
<terinjokes>
"data' sounds better than "obj" imho…
08:23
<Domenic>
So mostly it looks like they just give up on using IDL
08:23
<Domenic>
using either no arguments (Blink) or any... in all cases (Gecko)
08:24
<Domenic>
Wish we had IE source to look at in this regard
08:24
<Domenic>
They like WebIDL, I bet they tried at least to create a good console IDL
08:25
<terinjokes>
i, like Gecko, did any… for most places
08:26
<terinjokes>
because those methods to really take anything atm
08:26
<terinjokes>
also, sadly, that change makes bikeshed very unhappy
08:27
<Domenic>
lolllll
08:27
<Domenic>
to be fair Bikeshed is probably better at judging what is conformant IDL than I am
08:28
<Domenic>
maybe change table to any as first arg
08:30
<terinjokes>
should i just copy in Blink's IDL then? :P
08:30
<Domenic>
I think it's worth a try at least to be better
08:30
<Domenic>
or ask around for people who know IDL on how to encode what we're trying to say
08:31
<Domenic>
no wait
08:31
<Domenic>
it's just any
08:31
<Domenic>
console.table("asdf") works
08:32
<Domenic>
terinjokes: are you capping line length?
08:33
<terinjokes>
In the bikeshed source, no
08:34
<terinjokes>
each sentence is on its own line though
08:35
<Domenic>
terinjokes: new revision pushed. i suppose i should test bikeshed on it
08:36
<terinjokes>
it works, just has weird spacing between "any" and "tabularData"
08:37
<Domenic>
bikeshed bug?
08:37
<terinjokes>
probably
08:38
<Domenic>
aigh going back to sleep now
08:39
<terinjokes>
why did we get up again?
08:40
<Domenic>
for me, it was because i accidentally napped around 9pm, then woke up at 3:30 with the lights on
08:45
<terinjokes>
:)
08:46
<terinjokes>
PR merged, new version published
08:46
<terinjokes>
and now back to bed for me
08:57
<mathiasbynens>
var file = new File([''], { 'type': 'text/html', 'name': 'test.html' }); file.name === '[object Object]'; // true
08:57
<mathiasbynens>
^ is that per spec, and if so, how is that useful?
08:57
<mathiasbynens>
http://dev.w3.org/2006/webapi/FileAPI/#file
08:58
<mathiasbynens>
http://dev.w3.org/2006/webapi/FileAPI/#dfn-name
08:59
<mathiasbynens>
seems like it should return whatever was passed as the `name`, but since both Chromium and Firefox do something else, I figured I’d ask
09:07
<JakeA>
annevk: if a response contains 2 headers of "access-control-allow-origin:*", it should fail a CORS check right?
09:20
<annevk>
JakeA: yes
09:21
<annevk>
mathiasbynens: the constructor suggests that the fileName argument comes before the property bag argument
09:21
<annevk>
mathiasbynens: that seems like a somewhat broken constructor, but ...
09:22
<annevk>
mathiasbynens: emailing public-webapps might be a good first step here
09:27
<annevk>
mathiasbynens: per spec it's var file = new File([''], "test.html", { type : "text/html" })
09:29
<mathiasbynens>
hmm, and that does work as expected
09:30
<annevk>
yeah, it's just rather ugly
09:31
<annevk>
I think these days you would just make that new File(options) with some arguments being required
11:20
<annevk>
jgraham: gsnedders: any tips for 'Add whole load of tests for "Loading Web Pages".'?
11:20
<annevk>
jgraham: gsnedders: I could take a look, but it seems somewhat daunting
11:21
<gsnedders>
annevk: get jgraham's tests running and deal with the old review comments
11:23
<annevk>
Hmm, the comment in https://bugzilla.mozilla.org/show_bug.cgi?id=1081097 does not inspire confidence
11:23
<annevk>
Okay, so that would be hard work, not just fact checking
11:23
<gsnedders>
Yes.
11:24
<gsnedders>
Also note that jgraham deviated from the spec where he was suggesting spec changes to match web compat
11:24
<annevk>
I think I'll leave it to jgraham then to figure out navigation
11:24
<gsnedders>
This is basically my view.
11:25
<annevk>
I have enough open tickets as is. If someone has outstanding reviews though that are closer to the finish line I'm willing to help
11:29
<annevk>
zcorpan: thanks for helping rubys out
11:30
<zcorpan>
annevk: np
12:02
<jgraham>
annevk: Yeah, so the problem there is it needs someone to actually be working on it. I don't think I can land those tests just by sitting down with the spec for an afternoon
12:02
<annevk>
foolip: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25428#c4 it seems that link for hasFeature() no longer works
12:04
<annevk>
jgraham: we have broken tests and reportedly a somewhat broken spec; I guess the question is what obvious next steps would be
12:04
<annevk>
jgraham: anyone other than you would have to basically start from scratch
12:05
<jgraham>
annevk: Not really. I think the next step is to run the tests that we have and investigate ones that fail
12:05
<darobin>
preferably against all UAs
12:06
<darobin>
for hairy stuff like this I wonder if it wouldn't be a good idea to have a high bandwidth hack day where a bunch of us sit in a room and try to make our way through the mess
12:07
jgraham
breaks out his copy of Amaya
12:07
<jgraham>
Or was this some other meaning of "all UAs"? ;)
12:07
<zcorpan>
jgraham: do most tests fail in all browsers?
12:07
<jgraham>
zcorpan: I don't think so
12:08
<jgraham>
I haven't tried for about 2 years though
12:08
<zcorpan>
ok
12:35
<foolip>
annevk: the link in comment 4 is for SVG usage, the two hasFeature() counters are in the first comment (0 I guess)
12:40
<mathiasbynens>
TabAtkins: http://dev.w3.org/csswg/css-images/ doesn’t have `image-rendering: pixelated` anymore – what happened to it?
12:43
<mathiasbynens>
ah, it’s level 3, and the draft is now level 4
12:43
<mathiasbynens>
http://dev.w3.org/csswg/css-images-3/#the-image-rendering
12:43
<mathiasbynens>
/TR/ strikes again
12:54
<annevk>
foolip: that reports 10%?
12:54
<annevk>
foolip: mkay
12:55
<annevk>
foolip: ta
12:56
<jgraham>
"We would like to offer our sincere thanks to all the people that we have been in touch with regarding this draft for their reviews and feedback."
12:56
<jgraham>
So sincere is the thanks that we couldn't even be bothered to remember their names
13:06
<annevk>
jgraham: context?
13:12
<Ms2ger>
Your favourite search engine says http://www.w3.org/TR/performance-timeline/
13:17
<jgraham>
All of those specs in fact
13:17
<foolip>
annevk: right, around 10% of page loads have an <svg> element in a document. measuring <svg> anywhere gives higher numbers, presumably because of feature testing: https://www.chromestatus.com/metrics/feature/timeline/popularity/138
13:17
<annevk>
that group...
13:18
<Ms2ger>
foolip, that seems surprisingly large
13:19
<foolip>
Ms2ger: yeah, it's probably because of SVG icons or fonts
13:24
<smaug____>
foolip: are you sure that is right
13:25
<smaug____>
though, if google uses <svg>
13:25
<smaug____>
or fb
13:33
<foolip>
smaug____: no, I'm not sure
13:33
<foolip>
those graphs are all the information I have to go by
13:38
<rubys>
anne: ping?
13:38
<rubys>
s/anne/annevk/
13:59
<annevk>
rubys: here
14:01
<annevk>
rubys: if input is the empty string, doesn't the pointer point to EOF?
14:10
<jgraham>
New theory: these specs were written to piss me off
14:10
<jgraham>
Me personally
14:12
<Ms2ger>
Not bz?
14:13
<darobin>
they were written to piss off bz, getting pissed off as well is just a sign of growing enlightenment
14:16
<rubys>
annevk: I'm back.
14:16
<rubys>
the spec line in question: "Keep running the following state machine by switching on state. If after a run pointer points to the EOF code point, go to the next step. Otherwise, increase pointer by one and continue with the state machine. "
14:16
<rubys>
Note: "If after a run"
14:18
<rubys>
and inside "scheme state": "and start over"
14:24
<annevk>
rubys: why would re reach scheme state?
14:26
<rubys>
annevk: you are correct. Here is what I should have pointed to:
14:26
<rubys>
"Otherwise, if state override is not given, set state to no scheme state, and decrease pointer by one. "
14:28
<annevk>
rubys: yeah, that seems broken, no?
14:30
<annevk>
If input is EOF, then if you decrease the pointer it would be negative... but I guess that would work out okayish... Still not very clean
14:35
<rubys>
If you want, I'll submit a pull request that says "if after a run the >>>pointer is non-negative and<<< points to the EOF code point"
14:36
<annevk>
I think it's okay
14:36
<annevk>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25946 is the longer term rewrite goal
14:37
<annevk>
rubys: are you familiar with gethostbyname/getaddrinfo? Do you know if there's a way to make them skip IPv4 address parsing?
14:37
<annevk>
rubys: see https://www.w3.org/Bugs/Public/show_bug.cgi?id=26431 for context
14:38
rubys
looking at 25946
14:42
<rubys>
I've used gethostbyname/getaddrinfo before, but no, I don't know if there's a way to make them skip IPv4 address parsing?
14:44
rubys
installing rust
14:44
<annevk>
rubys: the problem is that they do weird things with IPv4 address parsing that we don't really want to support
14:45
<annevk>
rubys: e.g. they support octal numbers there, very long sequences without dots, etc.
14:46
<annevk>
rubys: so ideally the URL Standard handles IPv4 itself; so you either have a domain, IPv4, or IPv6
14:46
<rubys>
so: only call those functions when the the input can't be confused with an ipv4 address?
14:46
<annevk>
rubys: but then you need a way to get an IP address for domain that does not do IPv4 parsing on it
14:48
<annevk>
rubys: in http://0x800f0906/ "0x800f0906" could be legit domain; however it's mapped to 128.15.9.6 in some implementations
14:52
<annevk>
SimonSapin: "the behavior of gethostbyname() when passed a numeric address string is unspecified" http://pubs.opengroup.org/onlinepubs/009695399/functions/gethostbyaddr.html
15:04
<SimonSapin>
annevk: yay interop
15:05
<annevk>
SimonSapin: from http://www.beej.us/guide/bgnet/output/html/multipage/getnameinfoman.html it seems there's some way to require a DNS lookup
15:05
<annevk>
SimonSapin: not sure how universal getnameinfo is though
15:05
<annevk>
"NI_NAMEREQD will cause the function to fail if the name cannot be found with a DNS lookup"
15:06
<SimonSapin>
that’s not the same as "don’t bypass DNS lookup for addresses that look numeric"
15:09
<annevk>
SimonSapin: granted that it's not ideal, but it seems sufficient for the cases we're looking at, no?
15:09
<annevk>
E.g. it's unlikely 0x800f0906 would ever DNS resolve in practice
15:10
<SimonSapin>
annevk: my point is I’m not convinced this flag actually does what you hope it does
15:16
<jgraham>
So… there isn't a convenient API to tell if a stylesheet has loaded?
15:19
<SimonSapin>
jgraham: document.stylesheets?
15:20
<SimonSapin>
not sure if not-loaded-yet stylesheets show up there
15:20
<TabAtkins>
They don't.
15:20
<TabAtkins>
So if it shows up, it's loaded.
15:28
<TabAtkins>
mathiasbynens: Yeah, the effort of keeping Images 3 and 4 both updated in their overlap was too large for me to bother with it, in practice, so I chopped 4 down to a delta spec until it's ready to be published for real.
15:30
<TabAtkins>
terinjokes, Domenic: Bikeshed uses plinss's widlparser, which implements the grammar straight out of the WebIDL spec. Any errors are likely to be on your side (unless there was a recent grammar change, like what we had with Promise<void>).
15:34
<JakeA>
Quick poll, does the image load for you? https://jsbin.com/gucugo/1/quiet
15:35
<boogyman>
MacOSX Chrome 38.0.2125.101 - yes
15:35
<JakeA>
Is it failing for anyone?
15:35
<JakeA>
I think *some* of their servers have gone crap
15:36
<TabAtkins>
Loads for me
15:37
<boogyman>
JakeA: I spun up a windows VM and worked on Chrome/Fx/IE11 too
15:38
<JakeA>
boogyman: Cheers. Failing for me because of duplicate access-control-* headers, but I think only *some* of their network is sending it
15:39
<mathiasbynens>
TabAtkins: makes sense
15:41
<terinjokes>
TabAtkins: as we suspected
15:50
<annevk>
SimonSapin: bypassing DNS lookup for such addresses is probably mostly fine, what's important is that they fail
15:51
<annevk>
SimonSapin: it would be better if they did DNS lookups
15:51
<annevk>
SimonSapin: I guess we could recognize all patterns in the URL parser itself and fail early for some...
15:51
<SimonSapin>
by bypassing DNS lookup I mean parsing hex or octal into an IPv4 address, which I thought this was about preventing
15:58
<annevk>
SimonSapin: what does NI_NAMEREQD do instead then?
15:59
<annevk>
SimonSapin: it seems to me that if you have such an hex/octal sequence, the function would fail due to that flag
16:00
<annevk>
JakeA: fails here on Mac OS X Firefox Nightly
16:00
<SimonSapin>
annevk: my understanding is that if the function does a DNS lookup and that lookup fails or returns "non existent", then the function will return an error
16:00
<SimonSapin>
but with a numeric address the lookup does not fail since there is no lookup in the first place
16:00
<annevk>
SimonSapin: and without that flag it would do what?
16:01
<SimonSapin>
“(if you don't specify this flag and the name can't be found, getnameinfo() will put a string version of the IP address in host instead.)”
16:01
<SimonSapin>
wait
16:01
<SimonSapin>
this is for reverse DNS
16:03
<SimonSapin>
looks like getaddrinfo(), not getnameinfo(), is relevant to URLs
16:39
<annevk>
SimonSapin: reading http://pubs.opengroup.org/onlinepubs/009695399/functions/getaddrinfo.html it does not look like it has a suitable option
16:48
<annevk>
I missed http://googledevelopers.blogspot.ch/2014/07/noto-cjk-font-that-is-complete.html
16:50
<annevk>
SimonSapin: "Continuing on with the input paramters, you'll likely want to set ai_family to AF_UNSPEC which tells getaddrinfo() to look for both IPv4 and IPv6 addresses. You can also restrict yourself to one or the other with AF_INET or AF_INET6." via http://www.beej.us/guide/bgnet/output/html/multipage/getaddrinfoman.html looks relevant?
16:51
<annevk>
SimonSapin: if the IPv6 parsing of that method is sane, restricting it to IPv6 parsing might help
16:52
<SimonSapin>
interesting
16:53
<annevk>
I can't believe there's not a method that only does a DNS lookup
16:53
<annevk>
It's so weird
16:55
<SimonSapin>
annevk: wait, "look for" as a numeric address, or in DNS results?
16:56
<annevk>
SimonSapin: hmm not sure
16:56
<SimonSapin>
http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520%28v=vs.85%29.aspx says "A value of AF_UNSPEC for ai_family indicates the caller will accept any protocol family. This value can be used to return both IPv4 and IPv6 addresses for the host name pointed to by the pNodeName parameter."
17:02
<annevk>
ah okay
17:28
<jgraham>
Uh
17:28
<jgraham>
So
17:28
<jgraham>
Can someone try going to http://rustbyexample.com/borrow/mut.html in Firefox and tell me what the first script you see in the source is?
17:29
<jgraham>
And also whether the sidebar appers
17:30
<annevk>
SimonSapin: note that per that API port is a string
17:30
<annevk>
jgraham: sidebar opens, first has #jsrepl-scrip
17:31
<SimonSapin>
annevk: per getaddrinfo?
17:31
jgraham
cries
17:31
<annevk>
SimonSapin: yes
17:31
<jgraham>
When I open it I get some CDN version of ace.js
17:32
<jgraham>
Which interferes with the version of ace.js that's packaged in the app.js (or something)
17:32
<jgraham>
and the whole thing breaks
17:32
<annevk>
jgraham: the internet hates you
17:32
<jgraham>
But I am super-confused about what's inserting the CDN content
17:32
<jgraham>
I never see it in Chrome
17:32
<jgraham>
And sometimes don't in Gecko
17:33
<jgraham>
And it comes before any other scripts
17:34
<SimonSapin>
annevk: that string also takes service names like "http", I don’t know if it’s used that much in practice. It least the Rust API takes a 16-bit integer http://doc.rust-lang.org/std/io/net/tcp/struct.TcpStream.html#method.connect
17:34
<annevk>
SimonSapin: did you raise this question on StackOverflow btw?
17:34
<SimonSapin>
which question?
17:34
<annevk>
SimonSapin: the IPv4 thing
17:34
<SimonSapin>
I did not
17:34
<annevk>
SimonSapin: what's the rust library built on top of though?
17:35
<SimonSapin>
lots of things, what part do you mean? DNS lookups?
17:35
<annevk>
SimonSapin: seems the Rust library doesn't have clean separation either
17:35
<SimonSapin>
separation of what?
17:35
<annevk>
SimonSapin: domain names and IP addresses
17:36
<SimonSapin>
right
17:37
<SimonSapin>
I checked a while ago, IIRC it goes through a couple layers of abstraction, including IPv4 and IPv6 parsing written in Rust, and eventually calls getaddrinfo (which also does IPv4 and IPv6 parsing)
17:39
<annevk>
how efficient
17:41
<SimonSapin>
I often don’t know what I’m doing… but sometimes I feel like nobody else does either :)
17:44
<annevk>
SimonSapin: well it seems pretty clear here :p
17:52
<SimonSapin>
annevk: so apparently PostgreSQL uses percent-encoded filenames in the "host" of an URL for Unix sockets, but the URL standard blacklists / in domains https://github.com/servo/rust-url/issues/26
17:56
<annevk>
SimonSapin: why would postgres parse per relative scheme rules?
17:58
<annevk>
SimonSapin: oh, you're parsing the domain I guess, hmm
17:58
<annevk>
SimonSapin: no never mind that second remark
19:33
<SimonSapin>
annevk: they want to split into user, password, host, port number, and path
19:34
<SimonSapin>
but instead of TCP sockets you can also use Unix sockets, in which case you have a filename instead of host/port
19:34
<SimonSapin>
so they percent-encode the filename as the "host"