00:16:16 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22430 merge into master: Save a form submission's origin document before scheduled the navigation task - https://git.io/JvSY9 00:47:42 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22431 merge into master: [FlexNG] Implement transferred size suggestion - https://git.io/JvSOM 01:07:54 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22432 merge into master: Reland test for lost pointercapture in disconnected node in shadow dom - https://git.io/JvS3z 02:22:02 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22409 by chromium-wpt-export-bot into master: [css-flexbox] Move anonymous-block.html test from css3/flexbox to WPT - https://git.io/Jvyad 02:43:53 -BitBot- (wpt) [PR] frivoal merged #21946 by frivoal into master: Added 6 hyphens tests and 4 references - https://git.io/JvEPb 03:26:47 -BitBot- (wpt) [PR] TalbotG merged #21951 by TalbotG into master: 3 basic white-space tests and 3 refs - https://git.io/JvEDQ 03:48:19 -BitBot- (wpt) [PR] TalbotG merged #21963 by TalbotG into master: break-spaces-05[1-2].html and its reference - https://git.io/JvukN 05:48:21 -BitBot- (wpt) [PR] frivoal merged #21965 by frivoal into master: 6 white-space tests with inline starting with a collapsible white space - https://git.io/JvuIp 05:48:45 -BitBot- (wpt) [PR] annevk merged #22384 by annevk into master: XPath: Add XPathNSResolver callback interface tests - https://git.io/JvDKr 06:30:22 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22433 merge into master: [css-flexbox] Move canvas-dynamic-change.html test to WPT - https://git.io/JvSCS 06:55:08 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22434 merge into master: [css-flexbox] Move flex-column-relayout-assert.html test from css3/flexbox to WPT - https://git.io/JvSWs 07:01:01 I noticed another problem with the tactic used for the Python 3 rewrite 07:01:31 By only looking at differences in execution, the new code might not catch certain regressions in browsers because they're simply no longer tested for 07:02:43 -BitBot- (wpt) [PR] frivoal merged #21969 by frivoal into master: 14 ws-break-spaces-applies-to-[001-015] tests and 4 references - https://git.io/Jvuto 07:02:51 Has anyone else noticed this happening? 07:13:19 -BitBot- (wpt) [PR] frivoal merged #21998 by frivoal into master: Added 4 white-space-pre-* tests and 2 references - https://git.io/Jvujl 07:54:34 -BitBot- (wpt) [PR] frivoal requested #22435 merge into master: Clean up test files - https://git.io/JvSl8 08:06:43 -BitBot- (wpt) [PR] frivoal merged #22435 by frivoal into master: Clean up test files - https://git.io/JvSl8 08:36:18 -BitBot- (wpt) [PR] frivoal merged #21935 by frivoal into master: Typo in reftest meant style wasn't matching - https://git.io/JvElA 10:00:34 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22436 merge into master: [css-flexbox] Migrate change-column-flex-width.html test to WPT - https://git.io/JvSBt 10:44:57 annevk: I haven't, but I agree that I'm more worried about the handler changes given the recent PR 10:46:56 I'm pretty concerned with Python and 3 requiring different data types for the HTTP headers 10:47:09 *2 and 3 10:53:08 Probably morning brain, but I don't follow 'new code might not catch certain regressions in browsers because they're simply no longer tested for'. Can someone rephrase to help me explain 10:54:46 Re the headers, yeah I am similarly concerned that we're a bit out of our depth currently there. If we want, we can pause the work on header-related code and ask Ziran to look at other parts of the codebase for now. But that requires us to commit to doing *something* different to unblock the header related code :) 10:58:22 smcgruer_[EST]: we had some code that was testing specifics of header serialization on the server and afaict a PR simply made that code conditional on whether we were running as Python 2 10:59:43 smcgruer_[EST]: if no browser currently serializes incorrectly that obviously leads to no observable differences right now so things look in order, but if a browser were to change serialization in the future (or refactor that code, say to use Rust) it would also no longer be caught 10:59:53 Oh, I have that PR on my to-look-at list and haven't got there yet. If it's removing testing coverage, it's an incorrect change and I hope that all our Py3 reviewers would request that that be fixed. 11:02:26 Please feel free to request changes (or whatever the GitHub 'not-LGTM' lingo is) on anything like that, and rope me in if there's any difficulty communicating the reason. 11:03:08 I have a mostly-finished Python3 doc I was going to send a pseudo-RFC about, I can also add some details about not reducing a tests coverage. 11:08:05 I think the worry is we can end up sending different bytes over the wire in Py2 vs Py3 and there's no way to tell that we're doing that 11:09:26 I feel like the principled solution here is to not use the stdlib BaseHTTPHandler class or the built-in headers classes. But I worry that recreating all the infra there is a lot of work 11:10:48 Whilst we have Py2 and Py3 running, we can audit for concerns like that. 11:11:22 That's another worry 11:12:13 The case that annevk points is a straight-forward 'if not PY3: # verification code here', concerns that the language is doing something different in its stdlib will be much more difficult to tease out (what if we'd always written/run the code in Py3? How would we have noticed these theoretical differences in that world?) 11:16:07 smcgruer_[EST]: We can audit for concerns like that, but we don't have a concrete way to do it at the moment, and doing it well is hard 11:16:35 Assuming you don't just mean "we can hope reviewers notice", which I don't think is sufficient. 11:16:42 I do not, correct. 11:17:06 We may not have a way today, but if we feel we need to develop one then we should (and again, can pause HTTP header work if we want to develop it before proceedidng) 11:17:10 *proceeding 11:17:37 I think pausing this work until we have some idea how to verify it is a good plan 11:18:47 I agree in general; can we discuss specifics in our sync later today and then I'll take it from there? (Alternatively if we want to do a specific sync for this, e.g. if annevk wants to be involved, happy to do that too). 11:19:33 I trust y'all 11:20:06 In general, not just for this part of the work, seeing "if PY3" in the code is a bit of a red flag. For the infra stuff I've been pushing to have an internal model where python 2 and 3 are using conceptally the same type everywhere and only interactions with the stdlib convert to different types 11:21:06 ("conceptually the same type" means either Text or Binary for stringish data i.e. either (unicode, str) or (str, bytes), for py2, py3 respectively) 11:21:44 So ensure_str is also a worry unless it's just used to interact with the stdlib 11:22:28 (because the stdlib almost always uses (str, str) for (py2, py3) which is… unfortunate) 11:23:06 ensure_str hurts my head :(. I think I need to invest much more in understanding the Py2/Py3 representation differences. 11:23:32 It does clearly hide potentially different input data types which is tricky 12:10:27 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22437 merge into master: [css-flexbox] Move floated-flexitem.html test from css3/flexbox to WPT - https://git.io/JvSEc 12:14:09 jgraham: is just forked the stdlib stuff really that much work? 12:18:45 gsnedders: Well if we literally just copy the code I expect it isn't too bad. 12:19:23 But I feel like once you're down that path maybe you're not going to just copy the code 12:20:45 I mean it's a starting point, no? 12:22:15 So I think this is a viable project. Maybe even a thing we should have done to start with. But I'm not convinced it's going to end up less than a few weeks of work 12:22:46 (and I also don't know how copying the stdlib works from a license point of view) 12:24:15 should be fine, AFAIK; it's a BSDish license 12:27:46 I am more concerned with the question of - why are we so special that we need to fork the stdlib? I'm not (yet!) convinced that that is the right trade off 12:27:57 It looks like it's possible, but the license does impose terms like creating a summary of the changes you've made 12:29:52 smcgruer_[EST]: I don't know it's the right trace off either, but it might be. We're special for the same reason we didn't originally use one of the many production-grade HTTP servers in Python; they are almost always concerned with keeping you on the straight and narrow wrt standards. But for tests we want low-level control over what goes on the wire 12:33:59 I assume we would also have to fork two stdlibs, given Py2/Py3. 12:37:09 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22438 merge into master: [css-flexbox] Move inline-flexbox-wrap-vertically-width-calculation.html to WPT - https://git.io/JvSuI 12:40:21 -BitBot- (wpt) [PR] autofoolip requested #22439 merge into master: Update interfaces/wake-lock.idl - https://git.io/JvSus 13:02:42 The goal wouldn't be "fork the whole stdlib", but just the parts related to serving a HTTP request 13:02:51 And just having one would be the point 13:04:55 Right, so then we have to put in the effort to either make the Py2 one Py3-compatible, or the Py3 one Py2-compatible ;) 13:05:52 Just making clear I think this is never a case of 'copy the code', even if you 'just' fork the stdlib without changes. 13:05:58 *part of the stdlib 13:15:42 Right, it wouldn't be "without changes". It would probably be about making the low-level parts accept bytes rather than text 13:16:05 As I said I think this is at least a few weeks of work 13:18:22 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22416 by chromium-wpt-export-bot into master: Allow specifying variable font range descriptors in either direction - https://git.io/Jvy9h 14:51:56 smcgruer_[EST]: cgi.FieldStorage does conversion to Text e.g. https://github.com/python/cpython/blob/3.8/Lib/cgi.py#L141-L146 14:55:26 Does FieldStorage use parse? 15:05:14 smcgruer_[EST]: we've talked about forking the stdlib for years, partly to make it possible to hook into low-level bits of the request/response 15:07:05 smcgruer_[EST]: It's also doing decode internally e.g. https://github.com/python/cpython/blob/3.8/Lib/cgi.py#L583 15:07:09 annevk: FYI James and I have agreed to pause work on any Py3 handler scripts for now. I'll be sending an email out about that today 15:27:53 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22440 merge into master: [css-flexbox] Migrate columns-height-set-via-top-bottom.html to WPT - https://git.io/JvSVg 16:06:47 -BitBot- (wpt) [PR] stephenmcgruer merged #22439 by stephenmcgruer into master: Update interfaces/wake-lock.idl - https://git.io/JvSus 17:12:04 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22428 by chromium-wpt-export-bot into master: Land the 2 passing tests for pointer capture in shadow dom - https://git.io/JvSqS 17:30:50 If you were discussing what I thought you were, then I have my fair share of gripe, too 17:30:52 https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journey-to-and-reflections-on-python-3/ 17:30:54 search for http 17:31:01 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22440 by chromium-wpt-export-bot into master: [css-flexbox] Migrate columns-height-set-via-top-bottom.html to WPT - https://git.io/JvSVg 17:31:11 unsurprisngly, this widely circulated post also covered this point 18:02:49 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22441 merge into master: Handle change to pending state when resolving the ready promise - https://git.io/JvS6s 18:03:20 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22442 merge into master: [css-pseudo] Support animations and transitions in ::marker - https://git.io/JvS6C 18:17:29 -BitBot- (wpt) [PR] stephenmcgruer merged #22403 by stephenmcgruer into master: Simplify image-loading-subpixel-clip.html. - https://git.io/Jvy8z 18:19:59 I wonder if gps ever wrote a blog post where the first instruction for reading wasn't "search for the string …" ;) 18:20:16 But yeah I saw that too; I'd forgotton it covered HTTP 18:21:05 So Hexcles and I just had a sync on this, shared some knowledge. They are off to think on the problem more, and I'm off to take a dive through the WPT stack to try and better understand what the codeflow is like today. 18:21:16 We're hoping to put together a proposal on how to move forward in the next few days 18:22:13 Amazing, thanks 18:22:46 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22444 merge into master: De-flake image-loading-subpixel-clip.html - https://git.io/JvS6p 18:23:23 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22445 merge into master: [css-flexbox] Migrate content-height-with-scrollbars.html to WPT - https://git.io/JvS6h 18:31:32 jgraham: https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journey-to-and-reflections-on-python-3/#:~:text=HTTP%20libraries%20won't%20accept%20bytes%20for%20HTTP%20header%20names%20or%20values 18:31:34 You're welcome 18:32:28 (oh this is not linkifying correctly in my IRC client... sigh) 18:39:15 -BitBot- (wpt) [PR] autofoolip requested #22446 merge into master: Update interfaces/webrtc-stats.idl - https://git.io/JvSiZ 18:43:44 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22447 merge into master: [layout] Perform replaced aspect-ratio calculation in LayoutUnits. - https://git.io/JvSiB 18:51:03 Hexcles: Also that's a Chromeism :p 18:55:33 but isn't that a nice feature to have? ;) 19:05:11 I mean I think it would be better if gps could write a blog post that doesn't lend itself to serialization in a periodical, Dickens-style :p 19:07:32 * Hexcles lol 19:09:34 but seriously though, I'm a bit suprised that this isn't a solved question 19:09:56 like I'd expect someone to write a wrapper for std http that takes the correct types 19:10:07 -BitBot- (wpt) [PR] stephenmcgruer merged #22446 by stephenmcgruer into master: Update interfaces/webrtc-stats.idl - https://git.io/JvSiZ 19:17:48 But if the stdlib is calling encode() at the lowest levels it's not a wrapper but a reimplementation 19:18:10 Because there's no non-lossy way to wrap 19:19:06 Or I guess you could make some kind of object that looks like a string but contains bytes that encode() to themselves. But that probably doesn't work in some cases 19:26:23 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22422 by chromium-wpt-export-bot into master: Apply adjustments for 'text-anchor' after 'textLength' for - https://git.io/JvSfW 19:42:31 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22430 by chromium-wpt-export-bot into master: Save a form submission's origin document before scheduled the navigation task - https://git.io/JvSY9 19:42:46 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22444 by chromium-wpt-export-bot into master: De-flake image-loading-subpixel-clip.html - https://git.io/JvS6p 20:02:06 As the stdlib, you could only do a deep internal encode() if you forced a specific encoding on all byte content you're handling surely jgraham ? (Or maybe I misunderstood). I can't imagine the http lib requiring that. 20:10:47 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22448 merge into master: SVG: Increase hit-testing precision on strokes - https://git.io/JvSXb 20:16:45 Oh, I got that the wrong way around (was thinking decode). I was assuming that http operated in bytes at the low level 20:17:17 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22212 by chromium-wpt-export-bot into master: NativeIO: Plumbing and minimal functionality. - https://git.io/Jv6cO 20:30:18 -BitBot- (wpt) [PR] moz-wptsync-bot requested #22449 merge into master: [Gecko Bug 1240285] Forward focus only if label is not focusable - https://git.io/JvS1D 20:32:05 -BitBot- (wpt) [PR] moz-wptsync-bot merged #22407 by moz-wptsync-bot into master: [Gecko Bug 1623476] Fix event targeting in a click_events_on_input.html. - https://git.io/Jvy0l 20:35:03 The annoying part is that we know on the very low level (syscall for socket IO etc.) it must be all bytes, but some std APIs do not allow us to pass bytes all the way through and instead insist on text strings which they'd eventually encode and in some cases without an option to choose the encoding... 20:37:22 -BitBot- (wpt) [PR] moz-wptsync-bot requested #22450 merge into master: [Gecko Bug 1417955] Ensure we get the correct keyCode for a space character - https://git.io/JvS1j 21:01:48 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22451 merge into master: Trust Tokens: Add an XMLHttpRequest interface - https://git.io/JvSMM 21:35:12 -BitBot- (wpt) [PR] chromium-wpt-export-bot requested #22452 merge into master: Make commitStyles use computed values instead of resolved values - https://git.io/JvSDM 21:41:49 -BitBot- (wpt) [PR] chromium-wpt-export-bot merged #22445 by chromium-wpt-export-bot into master: [css-flexbox] Migrate content-height-with-scrollbars.html to WPT - https://git.io/JvS6h 22:24:58 -BitBot- (wpt) [PR] Hexcles merged #22427 by Hexcles into master: Clarify CSS metadata requirements - https://git.io/JvSqG