04:19
<annevk>
Domenic: CSP implications
04:41
<MikeSmith>
I guess github needs a way to add a comment when assigning a review
04:42
<MikeSmith>
though I guess we can always just manually add a separate comment
05:31
<gsnedders>
So, how dead is TPAC going to be if nobody from Europe or the Middle East shows up? I imagine it'll still be pretty busy given the number of local people…
06:19
<hsivonen>
annevk: https://bugzilla.mozilla.org/show_bug.cgi?id=563283 says that other browsers supported the precombining the sound marks when encoding half-width Katakana to ISO-2022-JP
06:20
<hsivonen>
annevk: so other browsers changed, too, in the last 7 years?
07:00
<annevk>
hsivonen: I think it might be that he was seeing something else
07:00
<hsivonen>
annevk: ok
07:00
<annevk>
hsivonen: Safari performs some flavor of Unicode normalization
07:00
<annevk>
hsivonen: for form submission
07:00
<annevk>
hsivonen: I think Chrome removed that post-fork, but not immediately
07:01
<hsivonen>
it would be interesting to know if HFS+ is to blame for Safari doing that
07:01
<hsivonen>
i.e. to protect the non-Mac world from copied and pasted HFS+ file names
07:02
<gsnedders>
or the OS doing that to all text fields?
07:02
<annevk>
hsivonen: https://bugs.webkit.org/show_bug.cgi?id=159891 has information on it
07:02
<hsivonen>
there was a bad time in 2003, 2004 or so when Preview was exporting decomposed text to the clipboard for a while
07:03
<annevk>
hsivonen: does NFC do the same thing that bug is talking about?
07:03
<annevk>
hsivonen: if not, I don't know what's going on
07:06
<hsivonen>
not sure. I guess it's time to test
07:08
<hsivonen>
annevk: NFKC roughly does
07:08
<hsivonen>
but not NFC
07:09
<hsivonen>
hmm. let's have another look at the test case
07:10
<hsivonen>
the Mozilla test case tests input that needs NFKC, not NFC, to combine the sound marks
07:11
<annevk>
Hmm, maybe ap was wrong
07:27
<hsivonen>
annevk: IE10 on Windows 7 does the NFKC thing for half-width Katakana
07:29
<annevk>
hsivonen: so Edge has a different encoder? Or different test from mine?
07:30
<hsivonen>
annevk: Edge (Anniversary Update) also does the NFKC thing
07:31
<hsivonen>
I tested https://hsivonen.com/test/moz/iso-2022-jp-form-submission.htm with U+FF76 U+FF9E
07:32
<annevk>
hsivonen: what about https://dump.testsuite.org/encoding/iso-2022-jp/encode.html?
07:32
<hsivonen>
I didn't test what happens with decomposed full-width Katakana
07:32
<hsivonen>
let's see
07:35
<hsivonen>
I get a mangled query string in Edge
07:36
<hsivonen>
mangled query in IE11 on Windows 7, too
07:38
<hsivonen>
but if I look at what the query should be if it hadn't lost its escape characters, it seems like it didn't to the NFKC thing
07:38
<hsivonen>
so, yeah, difference in MS browsers between form and query
07:38
<hsivonen>
hooray
07:38
<hsivonen>
let's test full-width katakana then
07:41
<hsivonen>
no NFKC for full-width in IE11 for Windows 7
07:41
<hsivonen>
so, uconv wasn't alone but really matches Microsoft for form submission
07:43
<hsivonen>
now I feel bad about regressing this
07:43
<hsivonen>
although it annoys me that all this time goes into the least useful (on the Web) encoder
07:46
<hsivonen>
so: Microsoft and uconv both precombine the sound marks to their bases as in NFKC but map lone sound marks to their non-combining versions (unlike NFKC)
07:56
<tobie>
gsnedders: I'm kind of surprised you draw the line at "can't use my laptop on the flight."
08:40
<nox>
Isn't the expansion of radial-gradient() wrong in https://drafts.csswg.org/css-images-3/#radial-gradients?
08:41
<nox>
AFAICT, the expansion says that everything before colour stops can be omitted, that doesn't seem to reflect the rest of the spec.
08:42
<annevk>
hsivonen: it's still unclear to me how this changed in Chrome and Safari
08:42
<annevk>
hsivonen: was ap wrong and are they actually doing NFKC or NFKD or some such?
08:43
<annevk>
hsivonen: I guess I can try to test Safari TP with your form thingy
08:46
<annevk>
hsivonen: with your test and "ガ" as input I still get 4 bytes in Chrome and Safari and 2 bytes in Firefox
08:47
<annevk>
hsivonen: so it's not clear we really regressed much
08:51
<hsivonen>
annevk: so Safari doesn't combine them. OK.
08:52
<annevk>
hsivonen: just to be totally safe, the output I get is QUERY_STRING = q=%1B%24B%25%2B%21%2B%1B%28B
08:53
<annevk>
From which I determined %25%2B%21%2B to be the four relevant bytes
08:53
<hsivonen>
ok
08:55
<hsivonen>
is the way the gb18030 decoder emits an ASCII character for the second byte in a 4-byte GB18030 sequence that decodes to a null code point a new thing in the spec or a pre-existing browser behavior
08:55
<hsivonen>
in a stream of bytes that could by their values be part of multiple 4-byte sequences, it changes how the 4-byte sequences align to bytes
08:59
<annevk>
hsivonen: you mean it should maybe emit ASCII U+FFFD ASCII instead?
09:00
<annevk>
hsivonen: I think that might be new, it's part of making sure you cannot mask ASCII characters used in parser operations
09:00
<hsivonen>
annevk: if it's new, it might have undesirable side effects
09:00
<annevk>
(at least sound like it, it's too long ago that I actually know for sure)
09:00
<hsivonen>
I guess it's time for cross-browser testing
09:13
<hsivonen>
I'm going to consider this a spec bug
09:15
annevk
hopes it's easy to fix
09:32
<hsivonen>
annevk: I proposed an easy fix that masks an ASCII byte but only when it is known to be surrounded by non-ASCII bytes: https://github.com/whatwg/encoding/issues/110
09:34
<annevk>
hsivonen: but if N is non-ASCII then attribute="i amN"Nbroken"
09:34
<annevk>
hsivonen: maybe not a problem here because the ASCII range is rather limited, iirc, but still
09:35
<hsivonen>
the ASCII bytes are always ASCII digits
09:36
<hsivonen>
well, I suppose if you emit two errors at a time, I can build some more state into the decoder and make the error emission happen separately
09:36
<hsivonen>
in any case, it seems that the decoder getting misaligned in a way that doesn't happen in current impls is bad
09:38
<annevk>
hsivonen: yeah, not matching impls is bad; masking ASCII digits makes me a little uncomfortable since it's an exception to a rule, but probably okay...
10:10
<hsivonen>
so, it looks like the euc-kr decoder in uconv composes Hangul Compatibility Jamo into Hangul Syllables
10:10
<hsivonen>
does any other browser do *that*
10:11
<annevk>
hsivonen: is https://hsivonen.com/test/moz/gb18030-alignment.htm 8 bytes?
10:11
<annevk>
hsivonen: or 16?
10:11
<hsivonen>
annevk: 16
10:12
<annevk>
hsivonen: so browsers just eat all ASCII digits atm
10:12
<hsivonen>
right
10:13
<annevk>
hsivonen: did you test ASCII but not ASCII digit in the fourth place there?
10:13
<hsivonen>
annevk: I didn't
10:13
<hsivonen>
seems indeed relevant to test
10:16
<hsivonen>
uconv seems to bake \u3164\u3131\u314f\u3138 into \uAC07, but NFKC says \u1160\uac00\u1104
10:18
<annevk>
hsivonen: I'll create a test for that then
10:28
<annevk>
hsivonen: seems that's interoperable at least
10:29
<annevk>
hsivonen: if you're not worried about consuming ASCII digits I'd suggest we just consume them all
10:37
<hsivonen>
annevk: works for me
10:38
<hsivonen>
annevk: https://hsivonen.com/test/moz/compatibility-jamo.htm Firefox differs from IE and Chromium. What does Safari do?
10:38
<annevk>
Output is 갇 and ㅤㄱㅏㄷ
10:39
<hsivonen>
annevk: thanks
10:39
<hsivonen>
so same as Chromium and IE
10:39
<annevk>
Rendering is different between Safari and IRCCloud running in Firefox though
10:39
<nox>
Is <positive-integer> defined in any CSS spec?
10:41
<hsivonen>
annevk: do you mean Safari renders the compatibility jamo as a syllable block?
10:41
<annevk>
https://irccloud.mozilla.com/file/RII3aZeG/Safari%20TP.png
10:42
<annevk>
hsivonen: ^
10:42
<hsivonen>
annevk: wow. what's that first glyph on the last row?
10:42
<hsivonen>
anyway, it seems that the spec is fine here and uconv has unnecessary complexity
10:43
<annevk>
hsivonen: right, that's the one that was bugging me
10:44
<hsivonen>
IE, Chromium, Firefox and irssi render the first code point as a space
10:45
<annevk>
hsivonen: it's U+3164 HANGUL FILLER
10:45
<hsivonen>
Unicode.org doesn't provide a glyph for it
10:45
<annevk>
hsivonen: in Safari's DOM inspector it doesn't render either
10:45
<hsivonen>
annevk: yes. it's a control for marking the start of a syllable block
10:46
<hsivonen>
the glyph resembles HANGUL LETTER SSANGHIEUH
10:47
<hsivonen>
anyway, probably not something I need to care about
11:10
<hsivonen>
TIL: https://www.iana.org/assignments/charset-reg/CP50220
11:11
<hsivonen>
references the whatwg wiki!
11:13
<annevk>
hsivonen: I think that happened back when I was trying to turn IANA into The Thing
11:16
<annevk>
hsivonen: realized there's another interesting case
11:16
<annevk>
hsivonen: the fourth byte is neither a digit nor ascii
11:16
<annevk>
hsivonen: Firefox ends up with an extra U+FFFD, Chrome and Safari do not
11:18
<annevk>
hsivonen: although it's not entirely clear to me how Firefox does it like that, hmm
11:18
<annevk>
oh maybe that has more to do with Firefox's two byte error handling
12:09
<hsivonen>
trivia: previously, the maximal length of a byte sequence corresponding to a single U+FFFD was 3 bytes. this spec change makes it 4 bytes
12:09
<hsivonen>
(previously per spec that is)
12:11
<annevk>
hsivonen: even in UTF-8?
12:11
<annevk>
I guess so
12:12
<annevk>
Good question for a pub quiz
12:13
<hsivonen>
annevk: even in UTF-8, indeed
12:14
hsivonen
updates documentation in 4 places where this fact is stated
12:16
<annevk>
hsivonen: I suspect I'll land the fix Monday to give everyone some time to comment in case we overlooked something
12:24
<hsivonen>
annevk: ok
12:37
<zcorpan_>
Domenic: I'm happy that I managed to use serialize/deserialize correctly. It seemed intimidating at first but was actually pretty straight-forward
13:14
<Domenic>
Now I kind of want to put that testimonial in the spec
13:16
<Domenic>
Good times https://github.com/w3c/webrtc-pc/pull/1108#issuecomment-300694559
13:19
<annevk>
o_O
13:20
<tobie>
:D
13:22
<annevk>
Domenic: you should open an issue against them on behalf of Chrome, saying you can't both implement their requirements and say, SharedArrayBuffer, as you don't know what the intersection looks like
13:23
<Domenic>
Commented at https://github.com/w3c/webrtc-pc/pull/1171
14:14
<tobie>
Domenic: comments on merged pulls are easy to ignore.
14:22
<annevk>
Domenic: with out-of-process iframe elements (and therefore distinct event loops), how does Chrome prevent duplicate alert()s?
14:35
<Domenic>
annevk: no real idea... @avidrissman on GitHub knows I am sure, as he's overhauling Chrome's alert() handling
16:17
<gsnedders>
tobie: risk of theft/damage is way more of a concern than using a laptop in flight imo
16:17
<annevk>
Domenic: I would love @whatwg/navigate with all the relevant engineers, but maybe too many problems right now to bother lots of people with
16:18
<gsnedders>
tobie: I had previously basically agreed to continue to go to meetings arranged prior to November
17:00
<TabAtkins>
nox: It's not in https://drafts.csswg.org/indexes/#types so I guess not. What spec did you find it in?
17:01
<TabAtkins>
nox: No, the r-g() grammar is right. What makes you think the initial part can't be omitted?
17:58
<nox>
TabAtkins: The previous grammar in the spec.
17:58
<nox>
Err, no, I'm saying it can't, but the expanded grammar says it does.
17:58
<nox>
https://drafts.csswg.org/css-images-3/#radial-gradients
17:58
<nox>
"[ <ending-shape> || <size> ]? [ at <position> ]? ,"
17:58
<TabAtkins>
Yeah, both parts are optional.
17:59
<nox>
becomes in note below:
17:59
<nox>
https://irccloud.mozilla.com/pastebin/t05NdVBb/
17:59
<nox>
TabAtkins: If both parts are optional, why is there a mandatory comma?
18:00
<TabAtkins>
There's not - https://drafts.csswg.org/css-values/#comb-comma
18:00
<nox>
:O TIL
18:00
<nox>
TabAtkins: Thanks.
18:00
<TabAtkins>
np
18:00
<TabAtkins>
What about the <positive-integer> thing?
18:24
<TabAtkins>
(The optional-comma thing in CSS grammars isn't well-known, and it's only about 2 years old anyway, but by golly does it make certain types of grammars much simpler to write.)
18:24
<TabAtkins>
(I find that the occasional confusion from someone not knowing about it is well worth the simplification and increased comprehensibility of the resulting grammars.)
18:48
<Domenic>
Has anyone else had trouble testing shared workers, where it seems like the request to the worker file is just not being made?
18:49
<Domenic>
I guess I should ask the testing channel