| 12:27 | Ms2ger | curses lxml |
| 12:34 | MikeSmith | curses absurdly poor performance of parsing HTML in python no matter what python HTML parser you use |
| 12:35 | <MikeSmith> | lxml works really great as long as you’re not in a hurry |
| 12:40 | <ato> | kuchiki by SimonSapin is great if you can use Rust. |
| 14:40 | <Ms2ger> | ato, indeed it is, but I doubt TabAtkins wants to integrate rust into bikeshed :( |
| 14:41 | <ato> | Ah, context is king! (-: |
| 14:55 | <SimonSapin> | TabAtkins and I actually talked about moving bikeshed to rust before, but that’s a larger project |
| 14:58 | <smcgruer> | annevk: If you feel like musing about data URLs, I would be interested in your comments on crbug.com/807562#c9 - thanks! :) |
| 15:00 | <annevk> | smcgruer: so the whitespace change earlier seems concerning as the data URL processor can only see U+0020 when I last checked |
| 15:02 | <annevk> | smcgruer: data://test:test should fail in the URL parser due to incorrect port |
| 15:04 | <annevk> | smcgruer: base64 was done per RFC and matches Safari at least? |
| 15:04 | <annevk> | smcgruer: doing it differently would end up quite involved as the MIME type parser drops it, iirc |
| 15:42 | <nox> | Wow Safari matching something! :P |
| 15:42 | <nox> | SimonSapin, TabAtkins: If you ever work on that, count me in. |
| 15:42 | <TabAtkins> | Def still my plan at some point |
| 15:42 | <nox> | MikeSmith, Ms2ger: Fun that you are cursing Python, |
| 15:42 | Ms2ger | curses nox |
| 15:43 | <nox> | some Mozilla people were just today cursing Python because it coordinates invoking clang-format in mozilla-central, |
| 15:43 | <nox> | and apparently it causes a huge overhead just existing. |
| 15:43 | <TabAtkins> | Tho this year I'm gonna drop lxml and integrate Markdown parsing directly into HTML parsing, so using kuchiki to parse prob isn't gonna work |
| 15:44 | <annevk> | nox: Safari matches a lot of things |
| 15:44 | <annevk> | nox: eg, URL parser |
| 15:44 | <nox> | TabAtkins: Using Kuchiki no, but using html5ever's tokenizer could maybe work. |
| 15:44 | <Ms2ger> | TabAtkins, please do, it's segfaulting |
| 15:45 | <TabAtkins> | I need to look into that |
| 15:45 | <TabAtkins> | Ms2ger: yeah, I saw. Haven't been able to dig in yet, but wtf |
| 15:45 | <TabAtkins> | Is it for all Travis? |
| 15:45 | <Ms2ger> | I dunno, it was locally for me |
| 15:47 | <TabAtkins> | Woah! |
| 15:47 | <TabAtkins> | Fresh install or something, or out of nowhere? |
| 15:47 | <Ms2ger> | Oddly, it seems to be installing 4.3.1 while your requirements.txt has lxml>=4.2.5<4.3 |
| 15:48 | <Ms2ger> | Yeah, fresh |
| 15:53 | <TabAtkins> | That's a good hint, thanks. Will dig in today |
| 15:56 | <Ms2ger> | TabAtkins, https://github.com/tabatkins/bikeshed/pull/1433 ; seems to help locally, at least |
| 15:56 | <TabAtkins> | you're great, merging |
| 15:56 | <TabAtkins> | we'll see if this fixes the travis failures |
| 16:22 | <Ms2ger> | TabAtkins, btw, is there a way to silence "WARNING: This specification has neither a 'Security Considerations' nor a 'Privacy Considerations' section."? |
| 16:22 | <TabAtkins> | Yes, put that section in. |
| 16:23 | <nox> | 😂 |
| 16:23 | Ms2ger | gives TabAtkins a smartass cookie |
| 16:24 | <TabAtkins> | I mean, why does your W3C-group spec not have one? It's required for publication. |
| 16:24 | <Ms2ger> | WebIDL doesn't get published, afaik :) |
| 16:25 | <TabAtkins> | TECHNICALLY true |
| 16:25 | <TabAtkins> | But still, just drop in a "This spec introduces no privacy or security considerations, as it is defining a meta-language that actually-useful specs use to write themselves." |
| 16:26 | <TabAtkins> | ...in a section titled "Privacy & Security Considerations" |
| 16:27 | <Ms2ger> | Well, that's an easy way to finish the week |
| 16:34 | <annevk> | I’m not sure that should pass review though |
| 16:34 | <annevk> | If not implemented carefully there would be a number of security issues |
| 16:37 | <TabAtkins> | That's a line that could be added to literally every specification, tho. |
| 16:43 | <TabAtkins> | Expanding: I think that the P&S section is for things to be careful about or consider *due to the feature itself*. Mis-implementing a feature is always a possible source of problems, "be sure not to mess up when implementing this" doesn't need to be added. |
| 17:07 | <TabAtkins> | ...that's not true, tho; some features are *really* sensitive to being misimplemented in ways that totally ruin them. They're a rarity, tho. I suppose WebIDL might qualify for that, for some of the stuff specifying realms and such. |
| 17:31 | <annevk> | Right, I think the binding layer qualifies, as it’s a security boundary of sorts |
| 17:56 | <TabAtkins> | All right, so it sounds like an S&P section would actually be *useful* to write. As a side-effect it will then silence the warning. ^_^ |
| 18:05 | <annevk> | smcgruer: hope that helped btw? |
| 18:38 | <smcgruer> | annevk: It did, thanks. Sorry for not being around, was in meetings all morning. I believe this is quite late for you so happy to punt discussing further till Monday (also feel free to comment on the Chrome issue) |
| 18:51 | <smcgruer> | annevk: For the whitespace question, my gut feeling is that Chrome's URL parser is probably allowing non-U+0020 whitespace characters in general, but when checking the spec (https://url.spec.whatwg.org/#concept-basic-url-parser) I do only see a step to remove TAB, LF and CR but not FF. (steps 2, 3). It's possible I missed a step that would remove FF. |
| 18:53 | <smcgruer> | annevk: The port point is a good one, I will make a note of that in the bug. |
| 18:54 | <smcgruer> | annevk: And finally for base64, it's a reasonable argument. You would have to search for all occurrences in mimeType, remove them, and then pass the remaining content to the MIME type parser. I was just responding my best guess to foolip's question :) |
| 20:19 | <annevk> | smcgruer: thanks, I’ll investigate Monday |
| 21:24 | <annevk> | By the way, Bikeshed in Rust would be amazing |
| 21:24 | <annevk> | We could maybe switch HTML then |
| 21:25 | <annevk> | Would love to help if I can |
| 21:41 | <TabAtkins> | After I do the parser rewrite, I can consider it. It's already going to be such a huge change to the internals, I'd like to get it done in a language I"m familiar with first. |