2017-12-01 [16:20:43.0000] annevk: are you able to own reviewing https://github.com/whatwg/html/pull/3260 ? (inputmode) [16:57:15.0000] annevk: also ping on https://github.com/whatwg/html/pull/3221#issuecomment-347262185 (img decoding="") [20:21:33.0000] Domenic: I was planning on reviewing inputmode once the high-level questions are addressed [20:22:57.0000] Yeah, OK, seems like it's on dtapuska's plate for now, just wanted to know if you'd review once he gets back to it or if I should feel responsible :) [20:24:55.0000] Domenic: I guess the decoding thread concluded in a follow-up issue for possibly a third new feature, but not in changes to the decoding attribute; that should probably be stated though and then an issue raised. Then on Monday or Tuesday we can merge imo [20:25:32.0000] Domenic: I’m happy to take on inputmode [20:26:15.0000] Yay. I'm excited about inputmode (and autocapitalize/autocorrect); they're long overdue updates to make the spec match reality [20:41:55.0000] Domenic: that MIME type parser patch looks cool (will get to GitHub a couple hours from now) [20:42:28.0000] Domenic: interesting that you went with a tearoff for parameters [20:43:08.0000] Yeah, it seemed a bit nicer, like searchParams [02:28:43.0000] annevk: the current file-api spec has a ton of informative background/discussion around how they ended up with this particular format for blob URLs. While interesting background (maybe), it doesn't seem to add much. I'm tempted to just rip most of that out, does that sound sensible? [02:29:23.0000] Also of course all the informative text around resolving/parsing/fetching that is now superseded by the fetch and url specs seems to do more harm then good [02:29:30.0000] Mek: yeah [02:30:18.0000] Mek: do it as a PR though so folks have a notice of a day or so [02:31:08.0000] yeah, definitely don't want to do any major changes without some amount of review [02:32:37.0000] Mek: FWIW, most WHATWG stuff basically protects the master branch and requires (reviewed) PRs [02:33:01.0000] tooling is such a wonderful thing [03:45:43.0000] quesiton about valid date/month strings [03:45:44.0000] https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string [03:46:12.0000] so a date string is considered valid if it consists of the components outlined by that part of the spec [03:46:29.0000] is it valid ONLY if it contains those components? [03:46:50.0000] in other words, would "2014-01-01-1" be valid date string? [03:53:49.0000] KiChjang: how could that be valid? [03:54:12.0000] annevk: KiChjang wants the spec to say "consists ONLY of the components …". [03:55:15.0000] I think that would require rewording a lot of factual statements which I'm not sure would be beneficial [03:55:55.0000] annevk, yeah, because i'm reading it as "as long as a string consists of these components, then it's a valid date string" [03:56:01.0000] "A URL's port is a 16-bit unsigned integer" vs "A URL's port is ONLY a 16-bit unsigned integer" [03:56:02.0000] I've never seen uses of 'consist of' to refer only to a subset of the parts. [03:56:20.0000] If it refers to a subset, you usually read "mainly consist of" or something similar. [03:58:01.0000] I could see rephrasing these though [03:58:10.0000] 'Attributes are placed inside the start tag, and consist of a name and a value, separated by an "=" character.' [03:58:16.0000] Just make it "A valid month string is X followed by Y followed by Z" [03:58:30.0000] There's no need for these variables in the definition and such [03:58:37.0000] annevk, i'm thinking of it in terms of exhaustiveness [03:58:51.0000] because it seems to me that it allows for additiona characters at the end [03:59:19.0000] KiChjang: Why? [03:59:42.0000] Does the thing I pasted let you think that 'a="b"c' is an attribute too? [03:59:59.0000] KiChjang: I don't think that's true with the current language (though I'll note again I'd support simplifying it) [04:01:24.0000] nox: yes, because a is the name, and "b"c is the value [04:02:04.0000] Not sure I understand what you mean. [04:03:21.0000] Looking at https://www.google.fr/search?q=inurl:https://html.spec.whatwg.org/multipage/+%22consist+of%22 I feel like you don't interpret 'consist of' correctly. [05:47:24.0000] Domenic: that code coverage thing is so great [06:05:37.0000] ^_^ [06:19:52.0000] Domenic: ideas on how to deal with the code points? Some contexts cannot deal with non-latin1. Should we ignore those tests in the respective harness or encode that in the test somehow? [06:20:25.0000] Seems important to test... what contexts, and what does "not deal with" mean? [06:20:57.0000] The parser will fail for such code points anyway, right? [06:21:28.0000] Domenic: consider the Content-Type header [06:21:39.0000] Domenic: it takes 0x00 to 0xFF [06:21:58.0000] Domenic: so if you pass it U+0100 you cannot really express that [06:22:06.0000] Domenic: you could UTF-8 encode it, but then you're testing something else [06:22:35.0000] Domenic: the parser will ignore the parameters or fail if part of type/subtype [06:24:13.0000] So why not test it just like any other invalid code point though [06:24:23.0000] Oh I see [06:24:28.0000] Domenic: strings <> bytes [06:24:29.0000] This is in bytes-only contexts [06:24:33.0000] hai [06:24:55.0000] Lemme look at the test code, since I don't think we tested any APIs that use ArrayBuffers... [06:25:01.0000] Note that Request/Response are such a context too [06:25:14.0000] Due to ByteString [06:25:52.0000] I see, this is mainly about what happens on the Python side hmm [06:25:57.0000] Blob/File are not though and I'm not convinced MIMEType should use ByteString [06:26:17.0000] Why not? [06:26:31.0000] I guess Blob/File are not for compat reasons [06:26:37.0000] But new APIs should, I'd think [06:26:42.0000] Domenic: MIMEType would end up with lots of double conversion [06:27:02.0000] Only on a spec level [06:27:12.0000] Domenic: unless someone redefines the parser to operate on byte sequences, but then it gets weird for non byte input [06:27:25.0000] Don't you have a byte parser? [06:27:29.0000] It just isomorphic encodes [06:27:54.0000] Domenic: I guess we can do it and hope impl are better (and hope Infra at some point abstracts) [06:28:04.0000] I guess MIMEType would throw anyway if you gave it invalid code points [06:28:13.0000] Domenic: yeah, I think it should [06:28:20.0000] So it doesn't need to use ByteString, since that just moves most of the checks, but not all, to the IDL layer [06:28:25.0000] Domenic: and since I get to do it most likely it would just throw TypeError [06:28:50.0000] Anyway back to the question [06:29:16.0000] So can't use navigable as a distinguisher due to Request/Response [06:29:26.0000] The best thing I can come up with is that the harness needs to filter [06:29:47.0000] Hmm yeah I guess that's better than adding it to the data file [06:30:03.0000] For Request/Response we'd also want to add a filter that it throws for 0x00 and 0x0C/0x0A [06:30:33.0000] Same for Content-Type, but there's some additional bytes that won't work due to WPT limitations [06:30:47.0000] Seems reasonable [06:31:06.0000] Okay, so I'll go with that and attempt at some documentation in the README [06:32:45.0000] I still feel like we should be testing what happens when you send invalid/weird Content-Type headers to servers... but I guess that's really just a test of your server-side framework and whether it does any canonicalization... [06:41:16.0000] Domenic: there are such tests [06:41:41.0000] Domenic: did you look at the other PRs? https://github.com/w3c/web-platform-tests/pull/8422 [06:42:24.0000] Domenic: that sends e.g. "charset=ascii" to the server and verifies that the browser doesn't change it [06:42:49.0000] Yeah, I guess that's testing that wptserve doesn't do any canonicalization [06:52:35.0000] https://drafts.csswg.org/ seems down for me? [07:05:01.0000] works now, shrug [08:15:58.0000] Domenic: looks like generated tests are not getting done today [08:16:19.0000] Domenic: but I've some Python locally that is going in the right direction [08:16:40.0000] Domenic: exhaustive means a thousand tests or so though; not sure if we want browsers to run all of those all the time... [08:22:27.0000] Also, the next format I come up with will have !/! or +/- or some such as MIME type [08:22:44.0000] Does Bitcoin have some kind of format? $/$ is valid... [08:25:30.0000] "Change quote style in lipfuzz example" [08:25:36.0000] /me wonders what "lipfuzz" is... [09:27:58.0000] wanderview: see if you get it after reading the example: https://streams.spec.whatwg.org/#example-ts-lipfuzz [09:37:02.0000] Domenic: script I have locally generates 885 tests [09:37:31.0000] Domenic: gonna try integrate it later and see what blows up, but have to do some other things for a bit [09:46:29.0000] how does one rename a user account on the wiki? [09:48:51.0000] GPHemsley: Krinkle: any idea how to rename accounts on MediaWiki? [09:49:08.0000] See question by hober above [09:59:10.0000] i think maybe it requires this extension: https://www.mediawiki.org/wiki/Extension:Renameuser [10:02:04.0000] hober: ah, it might be best to email GPHemsley directly then [10:02:27.0000] Not entirely sure when he's online [10:02:33.0000] k [10:02:35.0000] thanks [10:34:11.0000] annevk: Yep, Renameuser it is. It's bundled by default in most distros, so might already be there. [10:34:28.0000] or not :) - https://wiki.whatwg.org/wiki/Special:Version [10:34:52.0000] Yeah, alas [10:49:06.0000] JakeA: worker script loads don't get a manual redirect mode, right? we only do that for windows to support their weird redirect logic? [10:50:35.0000] wanderview: I thought redirects weren't allowed. Anyway, in India, will catch up with messages next week. [10:51:18.0000] JakeA: ah, ok... I believe same-origin redirects are legal for worker scripts... good night [10:51:43.0000] service worker scripts are not allowed to redirect, but dedicated workers can [11:01:52.0000] Yup, shared same as dedicated [11:21:49.0000] TabAtkins: is https://api.csswg.org/bikeshed/ having issues? [11:22:29.0000] Dunno, don't use it. It seems to load correctly, at least. What problem are you having? [11:22:43.0000] I'm getting a 400 for this: https://api.csswg.org/bikeshed/?url=https%3A%2F%2Fraw.githubusercontent.com%2Ftobie%2Fwebidl%2F79a0f335ea4420a9092a27fdd10f349f35e64a3e%2Findex.bs&md-warning=not%20ready [11:23:07.0000] I'll ping plinss, he's the maintainer of that server. [11:23:12.0000] TabAtkins: I probably did something silly [11:23:20.0000] TabAtkins: cool thanks [11:24:06.0000] html.spec.whatwg.org is down? [11:27:55.0000] annevk: you seeing that? ^^^ [11:28:18.0000] stuck on TLS handshake... [11:32:34.0000] wanderview: hmm, foolip, MikeSmith ^^ [11:33:46.0000] tobie: plinss reports it's an issue on his side, he'll work on it [11:33:57.0000] TabAtkins: oh, cool :) ty [11:45:45.0000] JakeA: for your reading next week: https://github.com/w3c/ServiceWorker/issues/1239 [12:38:53.0000] tobie: Ahahahaha, I read your comment in #css and thought it was from plinss. The error was def on your side, sorry. ^_^ [12:39:10.0000] TabAtkins: I thought so [12:39:34.0000] TabAtkins: seems it's an update to bikeshed that's causing an error to something that was working fine before [12:40:00.0000] I'll check it out, I've been working on indents lately (fixing some bugs). [12:40:46.0000] TabAtkins: looks like it's related [12:41:08.0000] Yeah, I checked the error message. ^_^ [13:05:03.0000] wanderview: works for me, plus http://downforeveryoneorjustme.com/html.spec.whatwg.org , but we are switching some hosting around, so it could be DNS fun times... [13:06:04.0000] Domenic: wfm now 2017-12-02 [07:42:06.0000] Hello whatwg [12:33:53.0000] annevk, hober, Krinkle: We run MW via git, so everything has to be installed explicitly [12:34:08.0000] /me waves at zcorpan [13:03:04.0000] GPHemsley: are you willing to do it? [13:03:23.0000] I wanna upgrade first, but yeah [13:03:35.0000] looking into it now [13:03:51.0000] Thanks! 2017-12-03 [17:01:09.0000] foolip: Something is definitely killing jobs based on memory usage or somesuch [17:03:45.0000] foolip: there also appear to be 10 instances of apache running right now o_0 [17:08:44.0000] foolip: We have no swap space [17:08:52.0000] https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors [17:09:16.0000] https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04 [17:27:14.0000] TabAtkins: Does background-image support protocol-relative URLs? [17:27:30.0000] or, I guess, the url() function [17:44:50.0000] annevk: I want to put off installing any new extensions until we can get swap space set up and I can confirm the upgrade was completed successfully [17:45:00.0000] annevk: Perhaps file an issue against misc-server? [17:45:04.0000] actually, I probably should too [17:49:16.0000] foolip: Filed https://github.com/whatwg/misc-server/issues/45 for you [20:57:10.0000] GPHemsley: It should, yeah [01:38:02.0000] annevk: btw: https://github.com/whatwg/html/pull/3260#issue-277154865 [01:44:18.0000] tobie: cool, should I merge .pr-preview? [01:46:30.0000] annevk: you can [01:47:49.0000] tobie: I might have some quibbles on whatpr.org URLs [01:48:04.0000] tobie: it seems for the diff URLs the initial whatwg/ folder is not needed [01:48:19.0000] tobie: and for the non-diff URLs the initial username/ folder is not needed [01:48:46.0000] annevk: yeah, I agree, but that would really complicate things on the pr-preview side. [01:50:32.0000] annevk: I might look into it at some point, but that's really a v2 feature [01:55:06.0000] annevk: it would be nice to see if there are commands I can send via the wattsi server to add a warning to the output, and maybe get rid of the navigation which is confusing [01:56:25.0000] annevk: the other option is to do that via post-processing on the pr-preview side, but I'm concerned about the load increase this will generate (and related hosting costs) [02:02:33.0000] tobie: seems hard to fix in v2 unless you’d add redirects I guess [02:03:22.0000] tobie: not sure how wattsi server works, file an issue against wattsi? [02:04:24.0000] annevk: seems hard to fix in v2 unless you’d add redirects I guess <-- no, those past links would stay as is. Only new ones would get fixed [02:07:26.0000] Hmm [02:09:49.0000] annevk: https://github.com/whatwg/wattsi/issues/64 [02:12:24.0000] annevk: https://github.com/whatwg/wattsi/issues/65 [02:13:47.0000] annevk: note that the benefits of the current link system, is that those match what github uses really closely [02:14:38.0000] annevk: I'm wary of solutions that trade consistency for minor esthetic reasons, tbh. You end up regretting those at some point. [02:55:05.0000] I’m not seeing the consistency, prolly best to chat during a work day [04:47:30.0000] annevk: consistency with gh URLs and the rest of pr-preview. [04:47:44.0000] But agreed. Let's chat Monday. 2017-12-04 [21:17:50.0000] Hello? [21:20:02.0000] sounds pretty quiet in here [21:59:55.0000] That may be because it’s IRC and not Skype [23:42:28.0000] lol @annevk [00:44:48.0000] annevk: thought the urls through and you were right, I can dramatically simplify them. [00:45:14.0000] \o/ [00:55:00.0000] annevk: settled for: [00:55:12.0000] https://www.irccloud.com/pastebin/oNS0tw98/ [00:56:12.0000] annevk: it's important to do: /infra/45/7dfd134.html instead of /infra/7dfd134.html, otherwise you get lots of noise in diffs (e.g. between PR numbers) [00:56:43.0000] When you have multiple PRs that have the same merge base [00:56:58.0000] tobie: it seems nice to include the PR number actually [00:57:20.0000] tobie: gives you some assurance you're looking at the correct thing [00:57:24.0000] annevk: we could even do it for the diffs [00:57:50.0000] tobie: please; thanks for doing this [01:46:31.0000] annevk: done. [02:50:26.0000] Domenic: I'm surprised https://lcov-report-sngrqbipez.now.sh/serializer.js.html ends up with 100% coverage even though nothing calls it with excludeParameters; I guess it doesn't do "dead code" detection, but that would be nice [04:09:52.0000] hsivonen: isn't this removal of non-UTF-8 file paths still a theoretical concern even on modern platforms? [04:10:01.0000] hsivonen: I thought APFS didn't enforce UTF-8 for instance [05:45:02.0000] annevk: on Unix (except HFS+), file paths are sequences of bytes [05:45:14.0000] annevk: on Windows, they are sequences of 16-bit units [05:45:50.0000] annevk: so pretty much everywhere (except HFS+), paths are not guaranteed to be representable as Unicode [05:46:30.0000] annevk: however, on *nix these days, if you want to make a text string out of a file path, decoding as UTF-8 is what makes sense [05:46:40.0000] annevk: and on Windows, interpreting as UTF-16 [05:47:00.0000] annevk: so any tool that assumes that paths fit in text is lossy [05:47:48.0000] annevk: so if you are writing a backup tool or another kind of tool that has to be able to deal with all files, it's fundamentally wrong to let paths be represented as text as an intermediate operation [05:47:48.0000] hsivonen: why not write non-lossy tooling? Or are we only talking about displaying these? [05:48:28.0000] annevk: however, for many apps, it's good enough to be lossy and it's too hard to enforce the discipline that paths must be non-text objects [05:48:52.0000] If we ever get RustFS I hope it guarantees Unicode [05:49:21.0000] annevk: I argue that a Web browser, especially one whose parts are implemented in JS, is a program that just has to be lossy for paths that aren't valid UTF-16 on Windows or valid UTF-8 on *nix [05:50:00.0000] annevk: I might have a different opinion if no part of file handling was implemented in JS [05:50:07.0000] annevk: i.e. if it was all Rust [05:50:29.0000] annevk: Rust's standard library models this stuff the right way [05:50:31.0000] few things do [05:51:17.0000] (Rust gets it right when few things do is a general theme when it comes to Unicode-ish things) [05:52:53.0000] annevk: one thing on my mental todo list is researching if Microsoft browsers can represent arbitrary Unicode in file: URLs these days [05:53:37.0000] it would be nice if we could make file: URLs on Windows less lossy than they are now in Firefox [05:55:27.0000] paths are one of those things that superficially look like text, so programmers think it's OK to process them as text, but there's a subtle mismatch [05:55:56.0000] this arises from kernel devs (both NT and *nix) kernel devs making it not their problem, so it's every userland app's problem [05:56:33.0000] but with HFS+, we see what happened when well-intentioned kernel devs tried to make it their problem [05:56:37.0000] from the frying pan into the fire [05:59:18.0000] hsivonen: you mean the not quite NFD normalization? [05:59:34.0000] annevk: yes [06:00:14.0000] hsivonen: Rust is a good pointer point that low-level folks can get it correct [06:01:32.0000] hsivonen: I'm a little sad APFS didn't enforce UTF-8, although even then I guess you haven't quite solved the display problem, but at least you use strings [06:40:37.0000] annevk: I presume also wanting everything to be convertable from HFS+ to APFS made it impossible to enforce [06:41:25.0000] (using text for all files is one thing Python 3 got wrong, IMO, as it makes it impossible to open some files) [06:44:29.0000] gsnedders: why, HFS+ was Unicode-compatible [06:44:51.0000] Oh Python. Whenever I use Python I always struggle with Unicode [06:45:14.0000] You'd think that converting between integers and characters would be easier [06:48:18.0000] annevk: mismatched surrogates, no? [06:50:30.0000] gsnedders: I thought not [07:06:27.0000] annevk: that branch gets taken a bunch of times though since the zero-parameters case occurs. If we'd written it as two if statements we would have seen loss of coverage, yeah. [07:07:26.0000] Domenic: seems the tooling should see that somehow [07:07:57.0000] Domenic: and flag part of the || conditional as always being false [07:08:51.0000] Yeah, right now it only does branch granularity, not expression granularity; I haven't seen tooling for expression granularity yet. [07:24:42.0000] annevk: looks like Python 3.6 tried to add back support for non-Unicode file paths on *nix. Not sure if paths that are invalid UTF-16 are representable in Python 3.x on Windows [07:24:49.0000] annevk: https://www.python.org/dev/peps/pep-0519/ [07:35:08.0000] hsivonen: oh I'd missed that entirely [08:32:56.0000] okay, uploaded an initial attempt at better defining blob URLs... still a lot of work to do though... [10:08:09.0000] \o/ [10:45:04.0000] GPHemsley: I take it that it's by design that MIME sniffing doesn't sniff files that start with BOM as HTML even if the BOM is followed by a pattern that would otherwise sniff as HTML? [11:51:59.0000] hsivonen: maybe ask if abarth remembers? Iirc the patterns were based on data he gathered [13:23:38.0000] annevk: i gave you Founder privs on this channel [13:25:04.0000] annevk: you can have chanserv op you with: /cs op #whatwg annevk [13:25:46.0000] annevk: and feel free to augment the access list with whoever you want. [13:30:58.0000] I also gave channel op to Domenic, zcorpan, and MikeSmith to round things out a bit. [13:31:21.0000] ooh fun [13:31:25.0000] thanks paul_irish! [13:32:18.0000] ( I don't entirely remember, but I guess this channel was unregistered 7yrs ago, so I kicked that off? ¯\_(ツ)_/¯ ) [13:39:35.0000] Thank you paul_irish [15:50:05.0000] Yo, anyone reported yet that whatwg.org's https is broken? [15:51:30.0000] It's specifically html.spec.whatwg.org, actually. The more general domains work. [15:56:47.0000] I also found the issue, but not sure where to report > SSL html.spec.whatwg.org [15:57:09.0000] creating a github issue? (not sure) 2017-12-05 [16:02:16.0000] Filed: https://github.com/whatwg/meta/issues/54 [17:54:26.0000] hsivonen, zcorpan : yes [17:54:39.0000] one of the goals was minimalism [17:54:53.0000] which means have as narrow a pattern as required for web compat [17:55:05.0000] BOM + pattern isn't required for web compat [17:55:09.0000] so isn't in the algorithm [18:02:47.0000] hiroshige: thanks for reporting that ー will look into it (but it may need foolip to fix, once he gets on for the day) [18:03:04.0000] and thanks TabAtkins too 🐍 [18:03:39.0000] and thanks paul_irish for ops ☘️ [18:04:26.0000] and oh hello abarth [18:05:10.0000] TabAtkins: can you please check what IP address html.spec.whatwg.org is resolving to for you? [18:07:27.0000] it should be 165.227.248.76 [18:08:00.0000] if it’s instead 75.119.197.251 then that’s the problem [18:08:22.0000] we moved the DNS for it recently [18:09:38.0000] so you must be hitting a problem with cached DNS somewhere not getting invalidated [18:10:21.0000] (assuming you don’t have it hardcoded to resolve to 75.119.197.251 in /etc/hosts or whatever) [18:27:17.0000] but the workaround for now is to hardcode it in an /etc/hosts or equivalent [18:27:46.0000] add this line: [18:28:19.0000] 165.227.248.76 html.spec.whatwg.org [18:28:51.0000] It's working for me here at home, but it was failing for me and fantasai at work, so yeah, probably a DNS cache problem. [18:28:57.0000] yeah [18:29:10.0000] Hixie says he only make the DNS change about 3 hours ago [18:29:12.0000] And yeah, ping shows the good IP address here. [18:29:15.0000] k [18:29:22.0000] Ah, that would correspond pretty well to when I saw it. [20:27:54.0000] hi MikeSmith [21:09:32.0000] Thanks paul_irish, and yeah, I think you did 😊 [01:30:01.0000] hello [01:30:31.0000] what was the reason of removal of support for UTF-16 in TextEncoder? [01:33:44.0000] TheWild: it was the only place in the web platform that exposed encoding UTF-16 [01:33:57.0000] TheWild: and we're not a big fan of UTF-16, so [01:34:54.0000] so no support for UTF-16? What about those language where UTF-16 representation is more compact than UTF-8? [01:35:45.0000] languages [01:36:31.0000] TheWild: given that there's usually markup involved in transporting such language, even ignoring compression, that argument is flawed [01:37:04.0000] TheWild: see also https://annevankesteren.nl/2009/09/utf-8-reasons and in particular https://lists.w3.org/Archives/Public/www-style/2009Feb/0087.html [01:37:13.0000] such a language* [01:37:18.0000] TheWild: hope that helps [01:37:35.0000] TheWild: oh, https://github.com/whatwg/encoding/issues/18 also has some relevant discussion and workarounds [01:38:22.0000] ok, let it be. I'll read later. Thanks annewk. [01:45:59.0000] thought my problem was to convert ArrayBuffer to string (so it can be used as a dictionary key) and back, without involving much conversion. Yeah, I can "cast" the ArrayBuffer to Uint16Array and use s += String.fromCharCode(x), but I thought there's faster, more "internal" way. [01:47:13.0000] TheWild: use a Map? [01:48:12.0000] TheWild: although I guess that depends what the dictionary is for [01:48:55.0000] TheWild: but also, unless the ArrayBuffer contains valid UTF-16 you'd get data loss with such a conversion [01:48:57.0000] a = new Uint8Array([2, 3]); b = new uint8Array([2, 3]); in Map, a and b would be treated as different keys. [01:49:10.0000] TheWild: ah yeah, doh [01:49:51.0000] TheWild: I think what you want is something that isn't addressed by UTF-16 encoding, as you'd want to preserve lone surrogates [01:50:22.0000] TheWild: you need an Uint16Array -> String thing which indeed seems like something that could be really fast [01:50:59.0000] since ArrayBuffer would hold just some binary data, correct UTF-16 codepoints aren't guaranted. (AFAIR 0xD800 - 0xDBFF and 0xDC00 - 0xDFFF were surrogates) [01:51:36.0000] TheWild: indeed, encoding them would turn those into U+FFFD so you'd get data loss [02:19:12.0000] abarth: OK. What's your opinion on using different patterns for file: URLs? that is, do you think it would be a) appropriate and b) worthwhile to sniff HTML with UTF-8 BOM but not .html in the file name as text/html when accessed using file: URL? [02:19:43.0000] abarth: are there security considerations relevant to file: for not following the same sniffing as for network resources? [02:24:02.0000] annevk: If I have an options dict, can I access its properties "in parallel" or do I need to create variables for all the properties before going parallel? [02:26:01.0000] JakeA: I would argue that you can, unless you end up manipulating objects on the main thread that way [02:26:12.0000] JakeA: e.g., if they hold pointers [02:27:04.0000] TheWild/annevk: at least in case of V8 there are C++ APIs provided for working with 16-bit data as strings conveniently [02:27:51.0000] e.g. v8::String::NewFromTwoByte() which literally just wraps around the array (after copying) [02:28:00.0000] TimothyGu: do you know if this came up in TC39 before? [02:28:11.0000] TimothyGu: seems such an obvious thing to offer [02:28:20.0000] not sure [02:28:30.0000] annevk: cheers! [02:28:36.0000] I guess I'll ask over in #tc39 [02:28:36.0000] I mean there's String.fromCharCode(..array) [02:28:53.0000] I see [02:30:52.0000] annevk: one more question, is the best practice these days "|options|.{{FooOptions/bar}}" or "|option|'s {{FooOptions/bar}} member"? [02:31:46.0000] JakeA: I think the latter and maybe |options|["bar"] works too these days if dictionaries are already defined in terms of ordered maps [02:32:08.0000] JakeA: we discussed this recently somewhere [02:32:59.0000] annevk: ta! [02:33:00.0000] JakeA: per https://github.com/heycam/webidl/issues/453 dictionary["member"] is defined already and the way to go [02:45:32.0000] hsivonen: given those questions I'm inclined not to reply to https://bugzilla.mozilla.org/show_bug.cgi?id=1422889 for now [02:47:03.0000] hsivonen: I tend to think it's best to be conservative there too and rely on the OS mapping given the number of subtle exploits with getting the user to run local files in their browser [02:47:14.0000] hsivonen: it's rather unfortunate we still have to support that I think [07:09:25.0000] annevk: TheWild (who isn't here): it seems like this is a specific case of the fact that Maps don't have a good equality protocol besides === (well, actually SameValueZero). [07:09:37.0000] That would be the language-level change I would expect [07:10:19.0000] Reducing things to immutable values (whether they be strings or bigints) just so that they can serve as good map keys is a "hack" IMO. Although a very necessary one given the language as it is today. [07:13:06.0000] I guess that's fair, representing strings as bytes and bytes as strings is only ever done as a workaround for something that's lacking [07:24:15.0000] MikeSmith: https://github.com/validator/validator/commit/d954e3c20f53a8015c4d2de06316c6b0fef23406 is nice :) [07:43:08.0000] is there a channel for css wg? looking to find fantasai on irc, about a possible hanging-punctuation issue [07:45:06.0000] if not, can email i guess. no hurry or anything...very edge-case [07:47:33.0000] #css on irc.w3.org [07:50:14.0000] Ms2ger, tks...not on there unfortunately. that's where i looked first before asking. [07:51:04.0000] That doesn't mean it's not the channel you're looking for :) [07:52:00.0000] true enough. or looking for the wrong nick. [07:53:20.0000] fantasai is in there, but you aren't? [07:55:31.0000] Ms2ger, doh...looking on freenode. tks [08:18:30.0000] hsivonen: sounds like a tricky problem. I haven't thought about it in enough detail recently to have an informed opinion. Another thing to consider for file URLs is whether to use the file extension as input. That's what other programs use on commonly used operating systems (although obviously not for all operating systems). [08:22:34.0000] I presume no browsers support xml:id for things like the id selector? [08:33:50.0000] gsnedders: they must not [08:44:06.0000] annevk: is that actually specified for Selectors? [08:45:05.0000] /me somewhat suspects this is something that falls through the cracks with how Selectors is meant to be agnostic about what it's matching against [08:50:08.0000] gsnedders: many things are not specified from that perspective [08:50:26.0000] gsnedders: as I’ve complained about in the past [08:53:47.0000] gsnedders: the way DOM deals with this is only giving id= power [11:41:38.0000] Selectors is indeed agnostic about this, intentionally. The host language defines (or *should* define) what concepts map to what in the Selectors data model. The DOM mapping is fairly intuitive, but if nothing in HTML specifies how xml:id works, it should. [11:45:20.0000] TabAtkins: HTML just defers to DOM on what's an id [11:45:40.0000] TabAtkins: (it doesn't define how xml:id in the same way it doesn't define how thisisbogus works) [11:46:11.0000] TabAtkins: so DOM should define how the DOM tree maps to the Selectors data model, in your view? [11:46:32.0000] That's been the stated intention for well over a decade, yes. [11:50:10.0000] /me files an issue and runs away [11:50:17.0000] (https://github.com/whatwg/dom/issues/542) 2017-12-06 [18:07:46.0000] Domenic: I figured you’d like that change [18:08:17.0000] when you have time, please test and let me know if I missed anything [18:08:22.0000] I mean for that whole PR [18:08:35.0000] all the script and style stuff [18:08:57.0000] https://github.com/validator/validator/issues/560 that is [18:09:49.0000] TabAtkins: FYI, I added integrated CSS checking of