[09:00:58] hey everybody! [09:01:52] looks like markelog gibson042 timmywil m_gol rwaldron ... did i miss anybody? [09:01:58] maybe jaubourg will show up [09:02:05] caio [09:02:17] man that italiano is rubbing off on you timmywil [09:02:19] ciao [09:02:26] can't spell [09:02:38] coai to you too :) [09:02:47] cow [09:02:50] icao [09:03:12] better than my french i'm sure [09:03:25] definitely better than my russian [09:03:34] hey-hey [09:03:42] hey markelog [09:03:55] )) [09:04:04] i don't see anyone in the doc https://docs.google.com/document/d/1su2ZTFZbnp_DD-LGZleuEudTFRJT_g4zf7UfGOMQvco/edit [09:04:16] oh NOW i do ! [09:05:12] okay [09:05:27] its one of those days when i end up with the same doc open in 3 tabs [09:05:45] so Trac [09:05:54] i have basicallly locked it down now [09:06:03] present [09:06:05] most accounts are deleted, just ours are around still [09:06:19] you can create/edit/comment on a ticket or close it [09:06:35] but others can't create tickets or comment or create new accts [09:06:58] it's still dog slow and we need it to be migrated/fixed [09:07:07] but at least we can do new tix on github [09:07:43] is it all because of a misconfigured anti-spam setup? [09:07:46] so people can't comment on existing issues? [09:07:54] markelog: no [09:07:56] I still wonder why UI Trac works [09:08:16] DaveMethvin: that's why I commented it's now important to migrate open issues [09:08:20] if we need an issue to be active i think we should open a new ticket on gh [09:08:29] but before we do that we need to clean up what is there [09:08:35] and i was finding that impossible to do [09:08:37] DaveMethvin: probably yes [09:08:39] do we have a lot of closed issues with 2.2/1.12 milestone? [09:08:41] becuase its not reliable [09:09:05] m_gol we'll need to look, those would be good to migrate forward since otherwise its hard to create the change log [09:09:07] this one changelog will be hard to create ;) [09:09:10] :) [09:09:14] haha, thought the same ;) [09:09:28] right [09:10:10] i don't think there are too many are there? let me see if trac will generate a report [09:10:27] COME ON TRAC! [09:10:31] I'm trying as well [09:10:47] whoa, two users at once? this poor site! :) [09:10:53] maybe 2 people trying at the same time is impossible for Trac [09:10:56] ;) [09:11:14] well let's assume this can be done [09:11:35] in the worst case we just copy/paste the content into a gh issue to ensure it is visible in one place [09:12:26] 16 tickets [09:12:31] that's not bad [09:12:44] and i think there are prob about 80 open tickets once we triage the newer ones [09:13:08] yeah, we can triage first and move if it's actually a bug [09:13:22] many are the "boil the ocean and break all code" type of tickets which we may want to just close and document as wontfix [09:13:26] with a message that from now on tickets should be created at [09:13:28] unless we plan to tackle [09:13:32] yeah [09:13:49] I can help with that, just not before Wednesday :) [09:13:54] sounds good [09:14:12] mikesherov: did you talk to domenic about error handling for Promise? [09:14:37] we'll push that for now [09:14:53] what needs to be done on the Promise/A PR? [09:15:16] I didn't get a chance to submit a PR yet, but I will later this week [09:15:22] for alternate options [09:15:28] see https://github.com/jquery/jquery/commit/d0e5c0447775239edc7819960b7c61b4b71d402f#commitcomment-7914547 [09:15:51] jaubourg has already switched from Q to the standard Promise in tests [09:16:01] which is good [09:16:03] we also need to package jsdom for the browsers instead of node [09:16:19] it's supposed to be possible, I just haven't had time to tackle it yet [09:17:38] we can always switch later, I just wanted to have better browser coverage and easier `npm install` as jsdom requires some stuff for building, e.g. Visual Studio on Windows [09:17:50] ugh [09:18:04] we won't be able to run those tests in pre-ES5 browsers due to use of getters [09:18:33] and I don't want us to manually cherry-pick those tests out just so that IE8 plays nice [09:18:41] i guess that's okay since we're just testing for Promise/A compliance [09:18:56] we need some basic tests outside that tho [09:18:56] not sure how to intergrate it with the TestSwarm+QUnit interface, though [09:19:33] I guess I can wrap it in one QUnit test that will collect failures and report them in a message [09:19:40] we can always then reproduce this stuff locally [09:20:08] sounds a little tricky, but as long as it works consistently in the swarm i'm good with it [09:20:14] so, I'll look at better integration of these tests [09:20:18] thanks! [09:21:31] ok $.xhr [09:22:02] i think the examples we have are pretty simple, are there more complex things that we are missing? [09:22:14] sure [09:22:19] perhaps the best thing to do is to get a real implementation and try usin git [09:22:21] using it [09:22:23] but we have to found them somewhere [09:22:41] the big gap I see is `ajaxSettings` [09:22:42] DaveMethvin: agreed. We'll know better once we play with some code. [09:23:16] so we definitely don't want ajaxSettings as a global, but having some way to "pre-configure" is really handy [09:23:42] the chaining interface makes that harder i guess [09:23:53] I don't even want to go that far ahead just yet, but we should see what problems ajaxSettings is used to address right now [09:23:56] an options object can always be merged and kept aroun [09:24:17] though I think both xhr models will address it with a factory pattern [09:24:36] https://github.com/search?q=ajaxsetup&ref=reposearch&type=Code&utf8=%E2%9C%93 [09:25:01] ugh, traditional [09:25:19] i thought we decided on not using global settings for new interface? [09:25:23] $.ajaxSetup({ [09:25:23] type: 'post' [09:25:23] }); [09:25:30] definitely not using global settings markelog [09:25:41] people do crap like that! [09:25:49] ajaxSettings = global settings? [09:25:51] imagine using third-party code in that page [09:26:07] i'm that is why i'm not sure about this [09:26:08] yeah but gibson042 was asking what problems people are solving with it [09:26:16] oh, right [09:26:20] exactly [09:26:21] not that we need to have it but we need to be sure we solve those use cases [09:26:37] and it can take extra code for odd cases, i don't worry about that [09:26:47] cache, timeout? [09:27:09] man, dataType:text [09:27:18] that's mean [09:27:31] I love $.ajaxSetup({type: 'post'}); [09:27:40] async:false! [09:27:42] * gibson042 shudders [09:27:56] DaveMethvin: that is the best one :-) [09:28:03] let me visit a porn site to clear my eyes [09:28:03] $.ajaxSetup({break: 'all-the-things'}) [09:28:08] )) [09:28:26] yeah i understand cache:false [09:28:29] I'm laughing so hard at async:false [09:28:46] if we didn't have to trash up the url to do it i'd prefer that be the default [09:28:51] and it is for all but IE [09:29:42] headers (Authorization, X-CSRF-Token, etc.) [09:29:59] Accept [09:30:03] yeah, most of the rest look like they could be handled pretty easily [09:30:19] with some sort of factory [09:30:37] ok, cool [09:30:42] sounds good [09:30:58] so markelog did you want to give the implmentation a try? [09:31:06] ready to do it [09:31:10] go for it! [09:31:23] cool, for the next week i will have something [09:31:24] but [09:31:29] Deferreds? [09:31:35] shouldn't that come first? [09:31:49] i mean compliance and all that [09:31:58] I would just assume a jQuery.Promise or similar [09:32:01] you should be able to test on jaubourg's patch [09:32:09] yeah, per our older discussion [09:32:10] i could build up from gibson042 PR [09:32:20] but i think you can get most of it done from what we have so far [09:32:20] all right [09:32:49] we promise you'll have a compliant interface on which to depend [09:32:58] pun regrettably intended [09:33:04] but since there still be an $.ajax interface, we could/should re-use some of it parts [09:33:18] that might mean more little modules [09:33:21] i'll be interested to see how much of it could be reused [09:33:50] so do it right it might not take one/two nights [09:33:51] if it could be reused i suspect it would be via the xhr.js transport that $.ajax uses [09:33:58] probably [09:34:04] but i would be interested in a standalone impl to start [09:34:14] it will make it easier for us to iterate [09:34:14] oh, all right [09:34:23] and once we have a final impl we can look at integration [09:34:30] and see what it buys us as far as size [09:34:33] understood [09:34:44] cool [09:34:59] so i wanted to talk about version numbering again [09:35:04] NO WAIT COME BACK! [09:35:08] :) [09:35:15] :D [09:35:30] if we didn't have 2 branches, we could even publish just one package [09:35:33] and have different files [09:35:34] i am wondering what will be the least confusing thing [09:35:34] maybe i missed that, but why we aren't following semver for 1.x? [09:35:36] like Lo-Dash [09:35:41] but it's hard to do with 2 branches [09:36:02] markelog: we're trying to start following semver now which means no 1.12/2.2 but 3.0 instead [09:36:13] well, we are putting the 1.x code in a new repo [09:36:15] new package [09:36:16] once we settle on sth we can modify milestones [09:36:30] wow [09:36:31] so in some ways we ARE following semver [09:36:37] DaveMethvin: I was thinking we could have dist/jquery.js, dist/jquery-legacy.js etc. [09:36:41] sorry, new PACKAGE [09:36:50] but then we need src/ & src-legacy/ for AMD [09:36:52] )) [09:36:53] getting distracted here [09:37:07] I like (jquery 1.11.x, jquery 2.1.x) → (jquery-compat 3.0.0, jquery 3.0.0) [09:37:14] yeah, compat not legacy [09:37:29] oookay [09:37:34] confused ( [09:37:37] anyway, we'll need 2 packages, I guess, due to our build process, doing it in one package would be too high an overhead [09:37:45] so I like what gibson042 says [09:37:59] jquery 1.11.1 ----> jquery-compat 1.12.0 [09:37:59] jquery 2.1.1 ----> jquery 3.0.0 [09:38:00] ? [09:38:16] yes [09:38:22] markelog: that would require us to basically stop development on the IE8-compatible branch [09:38:26] or two jquery 3.0-something-or-another? [09:38:31] so two jquery 3.0 [09:38:36] jquery 3.0 & jquery-compat 3.0 [09:38:42] when the file is created that people include, what will the version be inside the file? [09:38:57] m_gol: that is not what Dave says? [09:38:58] two distinct version- and API-synced packages [09:38:59] i just edited the notes to clarify my proposal [09:39:02] 3.0.0, but we need to rename it consistently [09:39:17] if we use the same version it seems like that would be a lot more confusing [09:39:23] one is following semver the other is not? [09:39:33] DaveMethvin: that would require us to revert the rAF patch & other things [09:39:37] jquery-compat follows semver [09:39:42] I think we should switch to semver on both branches [09:39:48] ah, that's what you mean [09:40:05] dunno, I think it'd be easier to grok if versions matched between packages [09:40:35] otherwise we'll need a major bump someday and we'll get jquery-compat 2.0 which people will mistake for jquery 2.0 [09:41:14] and jquery-compat 2.0 will be API-compatible with jquery 4.0 [09:41:14] m_gol: right [09:41:50] i like two 3.x-something-or-another [09:41:55] so I vote for matching versions [09:42:01] markelog: what do you mean? [09:42:06] ok, 2 votes for matching versions [09:42:22] m_gol: gibson042 idea [09:42:30] ok [09:42:50] yeah, I've been pushing for that since Chicago ;) [09:42:56] glad most agree :D [09:42:57] just a thought, how long do you think we'll be trying to keep these APIs totally synced? My thought is that we are at the very end of that effort [09:43:20] m_gol: sorry, i like m_gol idea! )) [09:43:47] DaveMethvin: that depends on IE8 life time which in Europe is not used very often but America is somehow fond of this browser [09:43:53] anyway, even if we stop soon, so what? :) [09:43:56] the reason there is a -compat is for older code and older browsers, so advanced apis won't even be able to appy there [09:44:10] just thinking about how we should view jquery-compat [09:44:11] new api's? [09:44:19] we'll just leave it at 3.x then [09:44:37] is there interfaces that we can't support in compat? [09:44:37] DaveMethvin: but we're trying to remain API compatible at least for now, right? [09:44:40] even $.xhr will have limits on older browsers unless we wrap the xhr object which i think we decided shoudln't be done [09:45:04] many of the complications of $.ajax come from having to wrap the xhr [09:45:05] so I think we should keep the versions in sync as long as we're trying to be API-compatible [09:45:16] DaveMethvin: sure, but that doesn't change our public API :) [09:45:32] it does cause that this API will be close to unusable on IE8 but it will be the same [09:45:41] like XDomainRequest? [09:45:42] sure if that's your defn of api-compatible i'm all for it! :) [09:45:46] right markelog [09:46:15] without CORS and blob types for example on IE8 [09:46:15] XMLHttpRequest is not our API so our versions don't need to care about it :) [09:46:25] as long as we're not doing sth special on it ourselves [09:46:42] I'd even say it's allright for a method to exist in jquery but not jquery-compat, but what we DON'T want is a method in both places with a different signature [09:46:51] (assuming identical package versions) [09:46:52] it's just that in the past we attempted to make everything work the same even if it needed thick wrappers at times or changes to the absractions [09:46:55] gibson042: agreed [09:47:01] ok [09:47:20] that maybe hard on jquery-migrate right? [09:47:29] gibson042: I'd also say we don't want a method in -compat that is not present in the regular one [09:47:38] m_gol right [09:47:42] so that upgrade from -compat to jquery is relatively painless [09:47:48] for people [09:47:49] i have a few things i'd like to do to migrate anyway, but yes it can only be so heroic [09:47:58] so it sounded like the voting was for version numbers synchronized on both packages? [09:48:14] 3 votes for that one from what I see :) [09:48:19] timmywil: ? [09:48:45] so how will the version numbers be shown in the built file? how about the actual file names on the CDN? [09:48:46] I guess I'd lean twoards proposal 1 [09:48:55] haha [09:49:15] has the argument been made that having the same versions for both makes it very easy to implement? All you need is matching versions, and you know it's gonna work [09:49:18] ? [09:49:20] i think gibson042 was for synced version numbers? [09:49:24] yes [09:49:29] right that's the benefit [09:49:33] ryanneufeld: yes, that's my thinking [09:49:44] the confusion comes in that now the version doesn't indicate anything about the browser support [09:49:58] as a non-core-dev-but-implementer that's what i'd like [09:50:05] but if we can figure how to name the releases and files on the cdn.... [09:50:24] DaveMethvin: ideally CDNs will create a separate jquery-compat package for us [09:50:39] that should be the easiest course of action [09:50:43] so i'd include jquery-compat-3.0.0.min.js ? [09:50:47] yup [09:50:49] sounds like it works [09:51:25] that works with the other proposal too [09:51:30] yes it does [09:51:43] just that we're making a breaking change with promise/a [09:51:46] and https://ajax.googleapis.com/ajax/libs/jquery-compat/3.0.0/jquery-compat.min.js [09:52:26] cc paul_irish ^ [09:52:27] so the concern was whether we keep the linear version numbering (despite semver) or start at a new number [09:52:46] since we are putting jquery-compat in a new repo we can do either [09:53:06] but if the version number indicates api level then I guess it does make sense for the two to have the same version [09:53:12] we technically don't need to follow semver between jquery@1.11.1 and jquery-compat@1.12.0, I just think it's going to be confusing [09:53:13] I guess it could be confusing when the time comes to bump jquery-compat [09:53:15] at least that's what i have been convinced ov here [09:53:29] :) [09:53:42] from history it always seems we end up bumping both, even tho some bugs only happen in one [09:53:46] jquery-compat 2.0 would be nothing like jquery 2.0 [09:54:00] code wise, no but public api would be the same [09:54:14] oh you mean if you started at 1.12 [09:54:15] yes [09:54:21] that is a downside of starting at 1.12 [09:54:26] yeah, that's what I said above :) [09:54:35] ok, I'm fine with 3.0 then [09:54:38] so maybe the version number should only indicate apis [09:54:54] that's semvery [09:55:05] but I'd like to start following semver with both packages [09:55:07] and the -compat lets people know it's handling a lot more different browsers [09:55:10] ok [09:55:50] perfect [09:56:02] so anything else we should discuss [09:56:18] global warming? the palestinian conflict? we have 5 minutes folks [09:56:43] DaveMethvin: we should contact CDN people before we do all that, they may need time [09:57:02] yeah i think we need a blog post [09:57:02] and probably get a blog post up [09:57:09] i will draft one and send to jquery-devs-team [09:57:39] alrighty then, sounds like we're done [09:57:42] thanks guys!