06:35
<Domenic>
Would this be the first time WTF-16 is referenced as a public API name in a programming language? https://github.com/WebAssembly/stringref/blob/main/proposals/stringref/Overview.md
06:36
<Domenic>
string.new_wtf8 etc.
07:36
<annevk>
Domenic: oh my. Is this on top of the previous "let's use UTF-8" or this some new iteration of that?
07:47
annevk
files https://github.com/WebAssembly/stringref/issues/54
08:05
<Domenic>
It seems like it's... separate? The previous thing was about the component model, which I think is about boundaries? Whereas this is about adding WTF-8/16 strings to WebAssembly itself?
08:10
<annevk>
I looked through the issues and they're even considering WTF-8 literals (which goes against Simon's spec)... I hope this is not a thing that has wide buy-in.
08:15
<Domenic>
Well, I think now is the time to give feedback through your local wasm committee member... I decided this was pretty low-level and mostly language-ey and not web platform-ey so I didn't have very strong opinions.
08:16
<Domenic>
That is, it seems icky to introduce WTF-* strings into a new programming language in this day and age, but wasm isn't really a new programming language anyway, it's a compile target for old ones, so...
08:20
<annevk>
Domenic: yeah I filed an issue and pinged someone internally. I personally see Wasm as more than just a compile target. At least I'd like them to be more ambitious than that.
08:21
<annevk>
I also don't understand the zero-copy requirement. Given the myriad of JS string types JS engines have, that seems improbable.
08:22
<Domenic>
I think there's only generally two types, strings and ropes. Presumably ropes need to be flattened, but basic strings wouldn't.
08:22
<Domenic>
Hmm, although there's also the 8-bit latin1 vs. 16-bit distinction
08:23
<annevk>
Right, I think in Gecko it ended up at 16 variants total at one point, but maybe that changed
08:24
<annevk>
I would expect Andy Wingo to know that though, so not sure what's up
09:09
<hsivonen>
annevk: What's the use case for an external spec being able to set beStrict to true here https://url.spec.whatwg.org/#idna ? What external spec sets it to true?
09:26
<annevk>
hsivonen: it's not meant for an external spec, it's meant for https://url.spec.whatwg.org/#valid-domain
09:26
<annevk>
hsivonen: no external spec can call those algorithms, they have to go through the host parser
09:28
<hsivonen>
hsivonen: no external spec can call those algorithms, they have to go through the host parser
That beStrict didn't occur in the caller part of the spec confused me
09:29
<hsivonen>
Positional arguments vs. keyword arguments in specs...
09:29
<annevk>
hsivonen: I could probably remove the default, I'm not even sure why I gave it one
09:30
<hsivonen>
Anyway, it looks like I need to support setting UseSTD3ASCIIRules both ways, but I don't need to support transitional processing.
09:33
<annevk>
hsivonen: I'll make that change and I'll also add beStrict to domain to Unicode for the same reason (URL has 2 callers for Unicode ToUnicode at the moment)
09:34
<hsivonen>
hsivonen: I'll make that change and I'll also add beStrict to domain to Unicode for the same reason (URL has 2 callers for Unicode ToUnicode at the moment)
Thanks. Aside: It's super confusing what the level of operation reuse in ToASCII and ToUnicode is. It turns out that Gecko uses ICU4C's ToUnicode operation as the back end for both!
09:35
<annevk>
Domenic: could you review https://github.com/whatwg/url/pull/717 and https://github.com/whatwg/url/pull/719?
09:35
<Domenic>
Will do, although maybe not until next week.
09:36
<annevk>
hsivonen: hopefully it being part of Interop 2022 (and likely 2023) will make IDNA handling a bit more understood and worked upon, but it's been rather frustrating trying to make progress on it
09:37
<hsivonen>
I note that the URL Standard at least hard-codes three of the flags: CheckHyphens set to false, CheckBidi set to true, CheckJoiners set to true. Now I'm curious about the history of those being flags in UTS 46.
09:37
<annevk>
hsivonen: including with people deciding out-of-band that non-transitional is suddenly okay without much coordination across browsers and such, very weird
09:38
<annevk>
hsivonen: right yeah this doesn't make sense as an end state to me, UTS 46 can and should probably simplify
09:39
<annevk>
(and then Chromium advertising this as an IDNA2008 thing which UTS 46 does rather specific things with is also concerning, but hopefully it'll all work out)
09:40
<hsivonen>
(Context: https://github.com/unicode-org/icu4x/issues/2850 )
09:49
<annevk>
hsivonen: you want to review https://github.com/whatwg/url/pull/720?
09:53
<annevk>
Thanks!
10:19
<Ms2ger 💉💉💉>
* files https://github.com/WebAssembly/stringref/issues/54
Thanks. Fwiw, Andy is out for the next few months, and I doubt we'll make significant changes before he returns