[09:01:35] meeting time! [09:01:41] Hi! [09:02:10] hey arthurvr [09:02:15] m_gol markelog gibson042 timmywil ... who did i miss? [09:02:44] it's quiet....TOO quiet [09:02:58] * gibson042 cues music [09:03:07] muzak [09:03:18] hey gibson042 while we're waiting .... :) [09:03:27] how's the deferred stuff going? [09:04:09] no word from jaubourg on my PR, but no explicit invitation for him either [09:04:27] I think it's in a state where it can land, with size reduction pushed off for post-beta [09:04:34] i think we need to move ahead if he's too busy, yeah [09:05:12] let me message him on it and we'll do something one way or another by Friday [09:05:18] ok that would be good [09:05:27] we can't really have a beta without some of these big items in there [09:05:30] hey-hey [09:05:37] we can do the size fixes later [09:05:40] hey markelog ! [09:06:06] oh awesome that guy just did the pr for his data change [09:06:57] arthurvr: whoops! forgot to escape the brackets https://github.com/jquery/api.jquery.com/issues/636 [09:07:23] okay let's see what else has to land [09:07:37] DaveMethvin: :( I’ll fix it [09:07:48] i hope timmywil is making some progress on the build stuff [09:09:11] markelog I saw you have PRs for quite a few things, if you think they are ready just land them [09:09:21] okay [09:10:01] and thanks for all that work! [09:10:17] sure ) [09:10:47] meant to ask, why "_evalUrl" is exposed? [09:11:02] it was before amd right? [09:11:18] i can't remember [09:11:28] I'm pretty sure it predates AMD [09:12:06] there was also some discussion about _external_ definitions of it, but I'm sure none ever materialized [09:12:08] well you can tell by the _ it's supposed to be private :) [09:12:33] so maybe we should encapsulate it? [09:12:56] sure [09:13:03] yeah [09:13:05] okay, will do another PR [09:13:11] 3.0 is a good time for that [09:13:21] rihgt [09:13:22] right [09:13:35] it also manifests a certain hope for dynamically-loaded modules, but that will probably look different when it comes anyway [09:13:55] (again, predating our AMD builds) [09:14:23] i think we can assume we'll have jQuery 4.0 in a year or so after 3.0 so we can break more stuff :) [09:14:52] oooh, dcherman is speaking truth in #jquery-dev [09:15:11] "that way you could redefine it [_evalURL] if you wanted to exclude $.ajax from your build" [09:15:28] oh right, that was the big battle wasn't it? [09:15:37] whether it went in manip or ajax [09:15:42] so take that as the guiding principle and work from there [09:15:54] how could i forget THAT [09:16:06] hm, although we have this - test/unit/manipulation.js [09:16:14] anyway, will check it out [09:16:18] http://en.wikipedia.org/wiki/Repressed_memory [09:16:20] https://github.com/jquery/jquery/blob/master/test/unit/manipulation.js#L2331 [09:16:55] so the basic rule is that if you replace ajax you'd need to provide a hook for evaluating scripts for the convenience of manipulation.js [09:17:17] and if we ever got our $.fetch module off the ground we might actually need that [09:17:45] should it stay with "_" then, should we document that? [09:18:24] present, sorry for delay [09:18:31] hey there [09:18:40] hey m_gol [09:18:50] Hi m_gol [09:19:12] i think it's low level, if we end up with our own ajax alternative we'd need it too [09:19:28] hi! [09:19:34] hey timmywil [09:19:34] Hi timmywil [09:19:40] I'm in San Fran [09:19:56] so i wouldn't document _evalURL yet but we might in the future [09:20:04] Sorry I've been busy, but I will actually be able to work on build stuff this week. [09:20:21] With everyone else at my company distracted by a sales conf. [09:20:24] awesome [09:20:37] and it's still so early in SF! [09:20:50] inorite [09:20:51] poor markelog and m_gol their day is almost over :) [09:21:06] although i see no evidence that either of them ever sleep [09:21:17] I'll probably leave work in about 6 hours today so not so late for me :P [09:21:19] how about we add comment, so we wouldn't forget in the future [09:21:23] gibson042: thanks for the note in that ticket [09:21:35] markelog: in the code, sure [09:21:47] okay [09:22:49] now that we have a PR for that one data change, i will land both of them and ping rwaldron [09:23:42] any other topics we need to discuss? [09:23:50] offsetParent? [09:24:02] what should we do about it? [09:24:09] oh yeah, whether we wanted to tackle that for 3.0 [09:24:16] yep, [09:24:28] it should be a pretty simple fix [09:24:42] more a question of whether we shoudl be doing that without the standard being set [09:24:59] and expensive one ( [09:25:05] and there is that [09:25:16] right now it looks like an isolated edge-case [09:25:32] should be pretty big hit on perf [09:25:41] we certainly haven't had a lot of people encountering it [09:26:01] gg now; probably back later though [09:26:08] since position stuff already is pretty hard to do [09:26:38] okay, so we close it, until (if) more tickets will pop up? [09:26:46] well just changing offsetParent doesn't look *that* expensive [09:27:01] https://github.com/jquery/jquery/issues/1765 [09:27:25] it's just another call to .css() in the loop? [09:27:44] i have an example where it could have massive impact on perf - https://github.com/jquery/jquery/issues/1765#issuecomment-69848873 [09:28:07] right, if it were really deep and the body was the offsetParent [09:28:10] since we would need to remove offsetParent use [09:28:26] just like you mentioned early in the discussion [09:28:50] that is worst case [09:28:56] i don't know how common a really deep tree is [09:29:19] yeah, don't know about that too [09:29:28] i think there's enough concern that we leave this out for now, esp since the standard isn't final [09:29:47] okay, so lets close it and wait? [09:30:12] when you webcomponentize everything, the hierarchy can get pretty deep [09:30:14] in complex apps [09:30:24] its a bit sad that offsetParent it treat as a legacy property [09:30:25] the fact it's not common now doesn't meen it soon won't be [09:30:49] it's not marked for the 3.0 milestone anyway, let's leave it open and deal with it later [09:30:55] +1 [09:30:55] okay [09:31:06] really you'd think the browser itself would figure this out [09:31:16] so maybe we file a bug with them [09:31:32] to the spec? [09:31:44] we probably shoud [09:31:46] should [09:32:09] yeah, if the browser implements 3d transforms it shoudl be looking at them when calculating offsetParent [09:32:46] bzbarsky said offsetParent is treated as a legacy API [09:32:58] and that's why it's not fixed for new APIs as it basically shouldn't be used [09:33:10] well geez [09:33:12] that is a sad part [09:33:18] well, there's an argument that it shouldn't take transforms into account [09:33:22] maybe we could change their minds? [09:33:25] and that we should use getBoundingClientRect/getBoxQuads everywhere [09:33:38] if it changes the real offsetParent it seems stupid that it wouldn't take it into account [09:33:41] and compute the offset to parent by substracting two values [09:33:45] if offsetParent is a layout-only property [09:34:05] oh right now i recall that conversation m_gol [09:34:09] well then ... [09:34:21] that brings up the question of whether we shoudl be using gBCR etc [09:34:31] yeh [09:35:09] fractional pixels is likely to break old code [09:35:18] but if we were going to do it then 3.0 would be a good time [09:35:24] it'd be worth trying but it's either for 3.0 or not before 4.0 [09:35:46] right [09:35:46] DaveMethvin: do you want to have all new breaking stuff in the first beta? [09:35:47] needs more discussion [09:35:56] m_gol: yes [09:36:06] well yes, but there can be more breaking stuff in 4.0 [09:36:08] i think we'll have to wait on this one [09:36:15] +1 [09:36:36] back [09:36:47] to much to do for 3.0 already [09:37:01] k [09:37:05] agreed [09:37:31] okay more work avoided! yay! [09:37:35] )) [09:38:15] any other items to discuss? [09:38:17] if anyone has any idea why Chrome is behaving randomly at https://github.com/jquery/jquery/pull/1842, that'd be great; otherwise I'll have to restore the whole hack without wrapping it in a support test :( [09:38:39] and it only happens on testswarm m_gol [09:38:42] ? [09:38:46] so the thing is that Android 4.0-4.3 fail the test *always* and Android 2.3 & Chrome (current) fail it in certain circumstances only [09:38:49] m_gol: i can check it out, but would have to do mine tickets first [09:38:52] no, locally as well [09:38:56] oh [09:39:15] the bodyBackground test iframe triggers the bug on those two [09:39:28] strange [09:39:42] as always ) [09:39:43] it'd be good to isolate a simple test case, if it's too broken we might need to broaden the support test to catch Android 2.3 & Chrome as well [09:39:56] but since it looks as a race condition, that might not be so easy [09:40:47] ok, I'll try to narrow the issue down but if I don't manage to do it before Monday then I'll just apply it everywhere [09:40:50] hi! [09:40:55] a pity since Firefox (as usual) behaves sanely here [09:40:58] mikesherov: hi [09:41:01] hi Mike! [09:41:04] mikesherov: good moment [09:41:24] mikesherov: I have a race condition in what Chrome returns for gCS.marginRight ]:-> [09:41:34] it's mikesherov! [09:41:35] mikesherov: see https://github.com/jquery/jquery/pull/1842 if you find time [09:41:56] if you guys are at the end of your meeting, I submitted a potential change to the style guide in case anyone likes bikeshedding: https://github.com/jquery/contribute.jquery.org/pull/104 [09:42:00] mikesherov: specifically this comment: https://github.com/jquery/jquery/pull/1842#issuecomment-71346623 [09:42:03] m_gol: looking [09:42:28] WHYYYYY [09:42:33] why oh why [09:43:13] mikesherov: yup [09:43:26] one might say Android 4.0 made it better since now at least it fails always, not sometimes [09:43:54] yeah, at least we know it sucks consistently [09:43:59] so, is this fixed in latest android? [09:44:01] please say yes [09:44:12] well, Android 4.4 is Chrome so I'd guess it's back to being worse now [09:44:22] consistently worse, so better :) [09:44:23] since Chrome is behaving exactly as Android 2.3 here [09:44:27] gotta go, see ya [09:44:35] thanks markelog_ [09:44:37] DaveMethvin: back to being worse non-consistently [09:44:45] oh right the other way around [09:44:47] inconsistent [09:45:08] makes you want to do a user agent test [09:45:28] I believe I stumbled upon it a while ago in my own app... but it was so deep in some other code it was hard to pinpoint [09:45:32] maybe now it'll be easier to reduce [09:45:43] why does this API suck so much in real life [09:46:04] wait, so what? [09:46:11] is the hack necessary in 4.4? [09:46:17] m_gol: ? [09:46:26] yes, even current chrome as i understand it [09:46:29] mikesherov: if we don't find a way to do a feature test that will behave consistently in Chrome, we'll have to apply the hack to all browsers [09:46:43] mikesherov: which is bad considering it triggers a layout etc. [09:47:00] OH [09:47:05] pixelMarginRight! [09:47:10] yeah, this is a real thing [09:47:15] this is definitely needed [09:47:28] I was mistaking for reliableMarginRight which died years ago [09:47:32] yes, but if it sometimes gives true & sometimes false... [09:47:33] yeah [09:47:47] when does it sometimes give true? [09:48:05] true means it succeeds, false that it gives 50% instead of pixels [09:48:06] on runs that end in prime numbers [09:48:25] if you run tests on the support module, you'll see the test fails in the bodyBackground test [09:48:37] it's inconsistent run to run though m_gol ? [09:48:53] it always fails on the bodyBackground and it always succeeds in the regular test [09:49:15] ugh [09:49:24] it's hard to see what could make the test switch its value with such a simple template, though: https://github.com/jquery/jquery/blob/master/test/data/support/bodyBackground.html [09:50:16] maybe wrap that in an onload? [09:50:47] it's not cheating if it works! [09:52:27] DaveMethvin: it fails then as well [09:52:35] dammit! [09:52:37] :) [09:52:52] thought it might be some crazy race condition [09:52:57] i guess it still could be [09:53:06] an additional setTimeout doesn't help either :P [09:53:32] man you are READING MY MIND [09:54:11] what about TWO setTimeouts? [09:54:17] LOL [09:54:33] nice try but nope ;) [09:54:40] any good solution or prolbem involves setTimeout and iframe [09:55:17] okay, let's wrap up here and can continue in jquery-dev if needed ... i have to run off for another meeting [09:55:22] yup [09:55:26] thanks guys! [09:55:27] we still test in iframes right? [09:55:33] yep [09:55:41] there is some bonkers stuff going on in testswarm [09:55:52] mikesherov: this is reproducible locally [09:55:56] I see [09:56:02] ok then [09:56:10] let's move over to #jquery-dev