00:00
<Domenic>
smaug____: I didn't know about Replaceable! I'll go look it up.
00:02
<Domenic>
smaug____: looks like that's what Gecko does, cool. Let's do that instead
00:08
<smaug____>
Domenic: I assume that part of Gecko's webidl was reviewed by bz, so it probably should be sane
00:09
<MikeSmith>
tantek: I have experience with OASIS, years ago, working on the technical committee that created RelaxNG and also on the DocBook technical committee
00:29
<robertkowalski>
Domenic: sure
00:29
<robertkowalski>
Domenic: still a topic? sorry just reading through the highlights and using lastlog
00:30
<robertkowalski>
ah cool! found the conversation :)
04:40
<MikeSmith>
TabAtkins: another (nicer) FYI (in case you’re not already following the ServiceWorker repo) https://github.com/slightlyoff/ServiceWorker/issues/489#issuecomment-181654310
05:44
<MikeSmith>
https://github.com/cure53/DOMPurify looks interesting
07:09
<TabAtkins>
MikeSmith: Thanks, I wasn't following it.
08:31
<MikeSmith>
annevk: about HTML Imports, I realize it seems like there’s no agreement to move ahead with it, but it’s worth remembering that it's actually one of the highest-votec “wants” at the Edge uservoice thing https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/filters/top
08:32
<MikeSmith>
of course that doesn’t really mean that web devs necessarily really want HTML Imports as currently specced
08:32
<MikeSmith>
but it seems clear they still really want *something*
08:32
<annevk>
The question is whether they still want it a decade from now
08:33
<MikeSmith>
dunno
08:33
<MikeSmith>
but also note that the Edge team has HTML Imports marked as ON THE BACKLOG https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6261318-html-imports
08:35
<MikeSmith>
I think it’s also interesting that 3 of the 5 top-voted wants there are Web Components things
08:35
annevk
unsubscribes from all mailing lists that enable GitHub mirroring
08:36
<annevk>
public-media-capture did this experiment, asked for feedback, I tried to give feedback, but I didn't even get a reply on that
08:36
<annevk>
and now public-geolocation is doing the same thing...
08:48
<Ms2ger>
bterlson, so will [1, 2, 3].flatMap(i => [["a", i], ["b", -i]]) == ["a", 1, ..., "b", -3] or [["a", 1], ..., ["b", -3]]?
09:47
<MikeSmith>
annevk: the other problem with mirroring of GitHub issues to a mailing list is pretty much just like the problem with old-fashioned mailing-list cross-posting, in that if somebody replies with a substantive comment on the mailing list, the people following the issue in GitHub will never see that comment
09:48
<MikeSmith>
tobie remarked about this somewhere recently
09:48
<annevk>
Make ssense, that definitely seems to happen
09:49
<annevk>
Sublime Text not being able to highlight HTML without tweaks is funny
09:49
<annevk>
Definitely will take some getting used to
09:51
<MikeSmith>
https://lists.w3.org/Archives/Public/public-device-apis/2016Feb/0030.html tobie speaks
10:44
Ms2ger
curses
10:45
<Ms2ger>
Can we find someone to fix UIEvents already?
10:46
<annevk>
In a W3C meeting this is the moment where the chair laughs and you're it and then nothing happens
10:47
<annevk>
But I also, we shouldn't think of them as a unit. There's hit testing on top of which mouse events, various APIs, touch events, pointer events, and :hover flow. And there's keyboard events which are totally separate. Scroll events are somewhat coupled with layout and hit testing, etc.
10:49
<Ms2ger>
This probably would not be a good Outreachy project :)
11:22
<annevk>
hsivonen: I just found that in the HTML standard, both application/x-www-form-urlencoded and multipart/form-data can use the utf-16 encoder
11:22
<annevk>
hsivonen: I have no idea whether that is actually implemented that way though
11:23
<hsivonen>
annevk: whoa. How?
11:23
<annevk>
hsivonen: actually I'm wrong
11:24
<hsivonen>
annevk: ok. :-)
11:24
<annevk>
hsivonen: "pick an encoding for a form" has a flag that is always unset although not each caller says that explicitly, only text/plain does
11:24
<annevk>
hsivonen: I will clarify that to make it less ambiguous by removing the flag
11:32
<hsivonen>
annevk: thanks
12:20
<cyberixae>
Is the URL standard going to cover handling of relative URLs for use in internal links?
12:24
<cyberixae>
I wish to use the URL standard instead of doing '/some_api/' + some_id
12:24
<cyberixae>
Just to be sure some_id gets encoded appropriately
12:40
<annevk>
cyberixae: you could create a fictional base URL and then set and extract the path
12:44
<cyberixae>
Correct me if I am wrong but I believe reading the path would give it to me without URL encoding, so I would then need to serialize the URL and invent a parser to extract the relevant part from the serialized URL.
12:45
<cyberixae>
So basically I need url.getRelativeTo(url2) and this is not part of the URL standard
12:46
<cyberixae>
So I need to implement this myself even if I use a fictional base URL
12:48
<annevk>
cyberixae: that sounds incorrect
12:48
<annevk>
cyberixae: e.g. if you set url.pathname to † or some such it will definitely percent-encode that
12:51
<cyberixae>
I see
12:56
<annevk>
hsivonen: have we changed the HTML parser in implementation to the point where determining the encoding is deterministic?
12:56
<annevk>
hsivonen: the specification still pretends it can change
13:00
<hsivonen>
annevk: IIRC, it's deterministic in Gecko
13:01
<hsivonen>
annevk: but Gecko can reload if it finds a late <meta>
13:02
<annevk>
ok
13:02
<hsivonen>
annevk: I'm not aware of the late meta reload being necessary for a successful browser
13:02
<hsivonen>
annevk: IIRC, Safari doesn't do that
13:02
<hsivonen>
annevk: IIRC, Chrome, neither
13:02
<hsivonen>
annevk: but I haven't checked in a long time
13:03
<hsivonen>
annevk: IIRC, our lack of a timeout for scanning the 1024 bytes has confused a couple of Web authors
13:03
<hsivonen>
annevk: but we've still gone with determinism over timeouts
13:03
<annevk>
I like it, I'd like to change the specification to require that
13:04
<annevk>
But maybe I'll first change it to use the decode algorithm from Encoding rather than the custom setup it has now
13:10
<hsivonen>
(aside: after writing some trivial code that calls the encoding-rs API, I figured I want to [optionally] bake BOM sniffing directly into the behavior of encoding-rs's Decoder objects)
13:11
<hsivonen>
(aside aside: luckily the Web doesn't sniff for GB18030 BOM even though such a thing could logically exist)
13:12
<hsivonen>
hmm. maybe I should shut up and not give anyone ideas about that
13:20
<annevk>
I think I did test for that once
14:24
<annevk>
Domenic: thanks again for recommending Sublime Text, much much much faster
14:24
<annevk>
Domenic: bit of a pain to learn the new configuration of all things, but well worth it thus far
14:45
<Domenic>
\o/
14:46
<jgraham>
By Friday annevk will refuse to use anything other than straight-up vi
14:48
<wanderview>
annevk: what were you using before sublime?
14:48
<Ms2ger>
nano ain't so bad...
14:54
<zcorpan>
https://whatwg.org/mailing-list#commits needs updating...
14:54
<zcorpan>
Hixie_: ^
15:09
<jgraham>
mkwst: Do we already have tests for the secure contexts spec?
15:22
<annevk>
wanderview: TextWrangler
15:22
<wanderview>
interesting
15:22
<annevk>
Ms2ger: I use nano over ssh mostly, although maybe I should learn the terminal to open Sublime Text... like I taught git
15:23
<annevk>
wanderview: it was pretty much perfect until I had to regularly edit a 100k-line document
15:23
<jgraham>
nano is properly horrible
15:23
<jgraham>
By which I mean "really upsets my emacs-fingers"
15:59
<zcorpan>
could https://github.com/whatwg/html/issues/626#issuecomment-181370157 be a symptom of switching to https?
16:02
<TabAtkins>
Ms2ger: The second ([["a", 1], ..., ["b", -3]]). Your flatMap callback has to return an array, which is merged into the result; the *contents* of the array are left as they are.
16:07
<annevk>
I am again surprised how few folks complained thus far about the two application/x-www-form-urlencoded algorithms and their divergence
16:14
<annevk>
TabAtkins: for URL bikeshed still cannot distinguish between encode and encoding?
16:14
<TabAtkins>
annevk: It's the problem that I fixed in the wrong way a few weeks back, and need to fix properly now.
16:15
<annevk>
I see
16:15
<TabAtkins>
Bikeshed's too eager to "correct" your term into all its variations, and needs to do so only when the exact term fails.
16:16
<TabAtkins>
(I "fixed" it by doing so only when the exact term has zero results, but that breaks if the exact term has a result that won't be chosen, like an unexported term, and you need the variants to get a correct link. So I had to revert.)
16:16
<TabAtkins>
(It's not hard to fix, I just couldn't spend time on it last month due to spec-hacking with fantasai the entire time. But February is Bikeshed Month.)
16:17
<annevk>
TabAtkins: I also found that several WHATWG standards are still not imported
16:17
<TabAtkins>
I'll fix that this morning.
16:17
<annevk>
TabAtkins: I guess I should convert more to bikeshed at some point
16:17
<TabAtkins>
I presume https://spec.whatwg.org/ is a fully updated list of specs, so I can just check which are Bikeshedded?
16:18
<annevk>
TabAtkins: https://resources.whatwg.org/biblio.json is better
16:18
<TabAtkins>
kk
16:18
<annevk>
I don't think Hixie_ updated spec.whatwg.org with the latest stuff yet
16:18
<annevk>
Interesting how Firefox has a native JSON view these days
16:41
<annevk>
hsivonen: so there was actually a comment in the HTML standard to the effect that text/plain would support ASCII-incompatible encodings (meaning utf-16), but implementations don't support that so I think we're all good
16:48
<bterlson>
Ms2ger: the former, flatten recursively flattens, flatMap is like map().flatten()
16:49
<Ms2ger>
TabAtkins, ha
16:58
<hsivonen>
annevk: having UTF-16 encode just for text/plain submissions would be very sad
16:58
<hsivonen>
so yay for implementations not supporting
17:01
<TabAtkins>
Ms2ger: Did you mean "ta"? Or was my answer funny for reasons that aren't clear from context?
17:02
<Ms2ger>
TabAtkins, the fact that the two of you gave opposite answers
17:02
<TabAtkins>
Does... does he know what flatmap does.
17:03
<TabAtkins>
Unless you're talking about a jank-ass "just flatten everything lol who cares" version of flatMap, it's a .map() followed by *one* level of flattening.
17:03
<TabAtkins>
(Or the algebraic equivalent of such.)
17:04
<annevk>
Where is this flatMap thingie defined?
17:04
<TabAtkins>
Haskell/Scala/everything that uses monads in some way.
17:04
<annevk>
Yeah, I'm vaguely familiar with that thanks to you, but I wonder what the context was for the question
17:05
<Ms2ger>
bterlson wrote a spec that was mentioned on twitter
17:05
<Ms2ger>
I agree that TabAtkins's answer makes sense, but I don't think it agrees with the spec
17:05
Ms2ger
poofs
17:05
<TabAtkins>
Ah, I was wondering why I didn't see a prelude to your question in IRC. ^_^
17:05
<TabAtkins>
I mean, the Promise spec settled on a "lol just flatten everything nothing matters" version of near-monadic behavior.
17:06
<TabAtkins>
But that's no reason to poison the well for everyone else.
17:06
<TabAtkins>
(And anyway, it uses .then() for its near-monad operation, not .flatMap(). Some behavior differences can thus be allowed.)
17:13
<bterlson>
Ms2ger: TabAtkins: I think not flattening nested arrays for flatMap is a good idea. Just didn't have time to do it last night
17:14
<bterlson>
I want flatten to take a parameter that says how many levels to flatten, once I have that flatMap can easily reuse the same machinery!
17:37
<TabAtkins>
bterlson: Unless you're planning something really off-beat for flatMap, it's not just a good idea, it's a requirement. ^_^
17:38
<TabAtkins>
Is this meant solely for arrays, or are you planning to propose it generically?
17:39
<TabAtkins>
(If it's just for arrays, I'd rather not squat on a well-accepted name for the monad action unless it's going to act like the monad action.)
18:25
<Domenic>
annevk: how can a blob URL be relative?
18:25
<bterlson>
TabAtkins, just for arrays considering it's on Array.prototype.
18:25
<TabAtkins>
Okay. (I don't follow you on Twitter and haven't seen the spec.)
18:26
<TabAtkins>
But yeah, let's get flatMap (single level flattening) into Array.prototype, then we propose making it generic via double-dispatch. ^_^
18:26
<Domenic>
Everyone should follow bterlson on twitter
18:27
<TabAtkins>
Yeah, looks legit. Followed. ^_^
18:29
<jsbell>
I'll follow anyone that tweets about -0.
18:31
<TabAtkins>
That was, in fact, the tweet that convinced me.
18:32
<TabAtkins>
On that note, what's the context of "A use strict directive in a function whose outer context is already strict is not a no-op! Such functions cannot use default or rest params." - "use strict" disables those features???
18:32
<TabAtkins>
Oh, I read replies. nm
18:32
<bterlson>
jsbell: I loved that tweet too, but oddly it got few impressions. People generally don't share our love of -0 arcana. :-P