[00:01:16] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/78410#c12086 [00:01:18] Fuck back compat [00:01:36] we REALLY need to be able to keep the existing data. [00:01:38] Someone get 1.17 out quicker so we can drop 1.15 support ;) [00:01:50] we DO NOT need to be backcompat to 1.15 [00:01:59] mainly the SMW guys think we do [00:02:06] on the svn versions [00:02:15] There's some horrendous back compatability hacks commited [00:02:17] *Reedy barfs [00:02:31] jorm, it's doable, it's just working out how much of an issue it'd be to remove and reindex stuff on the cluster :) [00:02:33] for one extension? [00:02:56] numerous [00:03:12] it's mainly the SMW developers (and the other related extensions) that think we need it to the stone age [00:03:28] that blows my mind. [00:03:40] Jeroen was commiting copies of full code files to achieve back compat [00:03:41] it's such a microsoft way of doing things. [00:03:42] It's fucking stupid [00:04:05] you know who else focuses on backcompatability heavily? oracle. [00:04:16] also hitler. [00:04:30] We branch extensions for a reason [00:04:37] there's no reason they can't just backport stuff to those branches [00:04:43] but they seem unable/unwilling to do so [00:07:13] Reedy: I'm getting count: "4294967294" [00:07:20] this seems, possibly wrong [00:07:21] o_0 [00:07:27] Where? [00:07:31] awesome! [00:07:40] the query [00:08:59] that's suspicious... thats... -2 I think [00:09:10] if it were a signed 32bit int [00:09:13] oh [00:09:26] sounds like my tired logic of add/update/remove is borked [00:10:39] ha ha [00:16:32] TrevorParscal, http://reedy.pastebin.com/ExG1XCwM [00:16:38] Does that look more sane/readable? [00:17:12] yes [00:18:59] 78415 [00:24:37] lookin [00:26:41] *TrevorParscal purges his ratings table [00:28:07] So, HTMLForm [00:28:14] yes? [00:28:14] am I crazy for trying to use this? [00:28:23] I have not used it mysefl [00:28:30] it makes a lot of assumptions about how you want your form processed [00:28:45] I have looked at the code, and it seems to be designed in a half-way sane sort of way... [00:28:47] and if you don't want to do things it's way, you just duplicate all the functionality. [00:29:11] how far off is it? [00:29:13] after trying to use it for like 2 days now I'm concluding it's broken [00:29:23] could you improve it without breaking backward compat? [00:29:26] well, for one thing, you must process at the same time as you're showing the form [00:29:44] hmm [00:29:47] that's very broken [00:29:52] I have plans to replace it [00:29:58] if you don't do that, then you forgo the security advantages [00:30:00] but they are pretty preliminary [00:30:03] I could refactor it a bit [00:30:14] there are a few things using it [00:30:23] right, I had heard this was the so-called new standard [00:30:25] chad knows about it a bit [00:30:27] I'm somewhat amazed [00:30:33] I'm unimpressed by it [00:30:39] Andrew wrote it I think [00:30:49] well, I admit to just running svn blame on it all [00:30:57] it has a lot of contributors [00:31:04] not really just werdna [00:31:09] i'm saying, originally [00:31:13] for the new preferences system [00:31:20] right [00:31:29] and it works for that use case and that use case only [00:31:41] everything else requires workarounds & subclasses and so on [00:31:52] Reedy: I am just getting empty arrays now... it must be rediculously late for you right now [00:31:58] it's only half 12 [00:32:05] he he [00:32:23] you did submit some new ratings didn't you? [00:32:30] yes [00:32:33] I wiped my tables [00:32:35] Are you doing it via the rating thing? [00:32:44] the query is coming back with articlefeedback: [] [00:33:12] As if so, you'll need to pass a bucket=1 on submitting a rating [00:33:22] as i marked that a required param [00:34:01] hmm [00:35:57] is the new param just bucket ? [00:36:08] yup [00:36:13] no prefixes on non query modules [00:36:34] cool [00:36:40] much better [00:37:01] heh [00:38:12] ok [00:38:52] I have to rewrite a bunch of my JS since if there's no data you don't get structure with zeros, you just get nothing... [00:38:56] shouldn't be too hard [00:39:30] it seems to only be storing the first one of the 4 though [00:40:00] the first rating? [00:40:09] as in, well sourced [00:40:21] hmm, let me poke [00:40:31] I should probably head to bed.. I'm up in 7 hours and 17 minutes for my "commercial development practise" [00:40:41] ha ha [00:40:47] yeah dude, we can sort this later [00:40:50] not time critical [00:40:58] I'm sure we can get it right tomorrow [00:41:01] I should go home too [00:41:24] [00:41:24] [00:41:24] [00:41:24] [00:41:35] Having done http://192.168.0.190/w/api.php?action=articlefeedback&pageid=38&revid=1955&r1=5&r2=5&r3=5&r4=5&bucket=1 [00:41:40] then http://192.168.0.190/w/api.php?action=query&list=articlefeedback&afpageid=38&afuserrating [00:41:42] It seems to WFM [00:41:53] ok [00:42:00] I may have other issues I need to sort out [00:42:04] I will do that tomorrow [00:42:07] I'm heading out [00:43:39] cool [00:43:43] Catch you later :) [00:50:51] Reedy: Remember back in May when you fixed bug:23548 for me? Any idea why its still not deployed? [00:50:59] https://bugzilla.wikimedia.org/show_bug.cgi?id=23548 [00:51:15] There's been no general phase3 scap [00:51:19] unfortunately [00:51:37] though, with 1.17 being very close, it'll be out before the end of january... all being well [00:51:53] code doesn't get scapped out unless explicitally requested for one reason or another :( [00:52:17] *Dispenser is thinking that a appeal for money for devs is needed [00:52:39] haha [00:56:09] There are only three things that we need money for, 1) hardware and bandwidth to get the pages to you, 2) adminstration and staff for coordination, and 3) people who do the non fun thing of get a release out the out [00:56:11] The first two are pretty well satisfied, but the last one isn't. [00:56:27] Why is getting a release out important? [00:58:16] Dispenser, it's been very highly discussed recently [00:58:25] hence the big code review push recently [01:01:25] While our freely distributed software has plenty of volunteers, their code needs to be reviewed to make sure it is security, runs reasonably well, and complies with our privacy policy and principles. Unlike The White House who adds exemptions to their privacy policy, the WMF is unwilling to comprise. [01:22:24] *werdna_ waves [02:07:40] pfew, 900M for /mediawiki/trunk/phase3, /mediawiki/trunk/extensions, /mediawiki/branches/REL1_17/phase3, /mediawiki/branches/REL1_17/extensions [02:07:51] 4 dirs 900M, that I didn't expect [03:49:14] anyone around that's working on selenium? [03:51:26] I'm getting a Class 'PHPUnit_Framework_TestCase' not found error when I try php RunSeleniumTests.php [03:53:22] I've corrected the hinky pear path on ubuntu... but I can't figure out what has changed in PHPUnit recently that makes the misc requires of PHPUnit/Framework fail now [03:53:45] *requires from RunSeleniumTests.php [08:31:57] flipzagging: more key 'ir1kgbmfbaidxrbohxiwk4xzxujbgr1.' is not in a proper format reported on Commons btw. [17:09:32] morning, any PHPUnit or Selenium folks around who have seen "PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found" when running "php RunSeleniumTests.php" ? [17:33:25] morning Ryan_Lane, can you help me get past some phpunit/framework configuration/installation issues? [17:34:56] papyromancer: I don't know anything about phpunit [17:35:06] sorry [17:39:52] do you have RunSeleniumTests.php working? [17:40:27] I'm getting "PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found" when running "php RunSeleniumTests.php" [17:44:06] Ryan_Lane ^^ [17:45:27] papyromancer: other than setting up the grid, and working with the team on initial setup, I haven't done much with the testing suites [17:45:38] papyromancer: better to ask pdhanda [17:47:48] hey papyromancer [17:48:01] Ryan_Lane: thank you :) [17:48:10] hey pdhanda [17:48:18] you're missing a library, one sec [17:50:16] papyromancer: you have phpunit and Testing_Selenium? [17:50:17] http://www.mediawiki.org/wiki/SeleniumFramework#PHPunit [17:51:05] that looks like a missing phpunit error though [17:52:05] I have both of them, and the path to pear is properly set for apache and cli usage [17:54:21] what versions of phpunit do you have installed? my phpunit/framework.php throws a worning about the require_once in RunSeleniumTests.php [17:55:04] mine is PHPUnit 3.4.5, let me update and try running a test, i have not done that in a while [17:56:30] *^demon doesn't like phpunit anymore [18:00:22] I'm on 3.5.5, I'll jump back [18:00:44] <^demon> I thought the unit tests don't run on anything less than 3.5.x [18:02:21] hmm a bunch of paths changed since my last update and now nothing works :/ [18:05:12] <^demon> I moved a bunch of stuff in trunk :p [18:06:47] pdhanda: everything is now in tests/ rather than maintenance/tests [18:07:26] the selenium_settings.ini.samples correctly reflect the changes [18:09:42] yeah, i think i changed all the paths but for some reason the script is failing silently. [18:09:52] looking [18:41:18] papyromancer: i had to make a few changes to the RunSeleniumTests.php to get th tests to run. I probably just need to to fix my configuration. [18:41:42] but i don't get the error you are seeing [18:46:57] I downgraded testing selenium to 4.5 and phpunit to 3.4.5 and that fixed the errors I was getting, but I now have the silent failure you were getting, could you pastebin your RunSeleniumTests.php [18:47:05] pdhanda ^^ [18:48:35] papyromancer: http://pastebin.com/Prbs3ubY [18:49:33] also i had to remove the startserver and stopserver lines from my selenium_settings.ini. Setting them to false does not work. that should be fixed. [18:50:02] papyromancer: let me know whether it works after those changes [18:55:59] pdhanda: thanks, I'm getting a lot further along now ;) [18:58:00] pdhanda: and, now running "php tests/RunSeleniumTests.php" is going great! woot! [18:58:34] cool [19:24:14] argh. so much drama here at the house today. [19:24:38] dude, you have a deep fryer, how bad can you life really be? [19:25:16] there is a MAX EMERG going on with a friend of stacey's in new york. [19:25:35] so it's been about booking last minute flights and the like this morning. [20:15:27] > comments needed: i want to develop extension , so that articles can be highlighted.Sentences can marked as say easy , medium , difficult, humorous, important points, interesting phrases,etc and highlighted appropriately.user can see/hide the highlights as needed.I think it will be helpful in fast learning and other ways.What things will need to add to in addition to parser code ? is this a... [20:16:05] ...good idea? [21:26:51] Reedy: you want to poke at AF stuff with me? [21:27:20] TrevorParscal, I'd rather not. Got a report to get written and I'm doing a good job of procrastinating by myself... [21:27:29] do your thing [21:27:34] I'm just working on JS stuff now [21:27:36] heh [21:27:44] when should we tackle it? [21:27:45] Granted, I've naff all motivation to write it [21:28:17] well, this will be in, come hell or high water by 9.30am friday.. I'm planning on handing it in within 24 hours.. Tommorrow or friday evening will probably work [21:29:07] ok, well I'm off from saturday the 18th to sunday the 2nd [21:29:21] haha, typical [21:29:26] so, I'm going to get as much done as humanly possible this week [21:34:58] do we have any comments on the histogram stuff? are we going to be able to do that? [21:35:04] it would be a huge win. [21:35:27] It seems possible. Group by rating value on the ID's, unique and latest for a user [21:35:50] okay. then i'm going to design with that in mind, then. [21:36:15] Basically a variation on what we do already, remove some where criteria, add some more [21:36:17] *Reedy shrugs [21:36:25] I'll poke when I've less to be getting on with [21:37:01] given reedy is a bit tied up for a while, I'm leery about adding new features... [21:37:10] we should be nailing down the basics [21:37:16] and the API is on the fritz right now :) [21:37:32] oh? [21:37:43] I'm fully free as of end of friday... Bar next week the bug squish I've got with Roan [21:39:12] well, we can design all day, but unless I am around to code the front end, it doesn't matter [21:39:25] lol [21:39:26] also, we are going to have to settle one something this week [21:39:32] design wise [21:39:34] we're really close [21:40:01] I have some more work to do just to implement our current ideas though [21:40:35] the big one is the calls-to-action [21:45:35] do you have designs for those? [21:45:51] the new ones [21:45:56] that take up the entire tool? [21:47:30] i don't have the icons created yet, but they're pretty simple. [21:47:47] [big icon, square] [text] [21:48:05] well, we will need that stuff [21:48:24] yes. [21:48:34] and you need to be working on LiquidThreads pretty much exclusively soon, Andrew will be here in mid-jan [21:49:03] yeah, i know. [21:50:11] Reedy: why does the query api for AF return an array of ratings objects? [21:50:26] As opposed to? [21:50:29] is it designed to be able to return data for more than one article? [21:50:43] I end up using data.query.articlefeedback[0].ratings [21:50:48] I'd half coded with that in mind, but it doesn't support the functionality [21:50:51] the [0] is essnentially hard-coded [21:52:12] just wondering in which case we would be returning more than one element there... [21:52:13] mmm [21:53:57] It probably does (and should!) allow querying multiple titles [21:54:07] Unless that messes up the query's performance [21:54:22] ok [21:54:26] But the [0] doesn't make sense to me, sounds like that should be indexed by page ID [21:54:38] yeah [21:54:39] Either way I'm sickly and it's late so I may not know what I'm talking about [21:54:41] it's just an array [21:54:49] not an object [21:55:01] But it's not uncommon for a module to accept multiple titles and return an object keyed by page ID [21:55:22] hmm [21:55:40] well, we can make an adjustment later I guess if we need to [21:56:44] RoanKattouw, I've got a feeling doing multiple might cause stupid query issues... [21:57:22] Probably could yeah [21:57:35] Does it take &titles= or &xxtitle= ? [21:57:46] pageids [21:58:10] Oh [21:58:12] aapageid? [21:58:16] af [21:58:37] Right [21:58:40] *RoanKattouw glares at rename [21:58:53] Yeah.... There's still stuff using aa and stuff using aa.. [22:02:06] I'm still getting total: 0, count: 1 [22:02:09] which should be impossible [22:02:27] we should be excluding 0 ratings from the count [22:04:22] Probably some artefact of my refactoring last night [22:07:18] int(0) string(1) "5" int(0) [22:07:20] stupid php [22:09:11] wheee [22:09:14] variable naming fail [22:09:39] And this boys and girls, is why we don't do late night tired refactoring [22:10:19] haha [22:10:52] int(0) int(5) int(-1) [22:10:54] That's better [22:11:03] TrevorParscal, r78455 [22:11:26] BAH [22:11:34] Stupid 2 working copies [22:11:41] ha ha [22:12:14] Apparently I code better when drunk, than when rather tired [22:12:27] 78456 [22:12:49] But you can't get drunk due to meds, right? [22:12:53] workin now [22:12:55] wooo hooo [22:13:07] RoanKattouw, exactly [22:13:19] I've fixed a few bugs at silly times in the morning when drunk [22:14:41] RoanKattouw, this coursework would make more sense when rather drunk [22:14:58] Reedy: Exactly how "not valid" are access modifiers on interfaces? Not valid enough for a 1.17 tag? [22:16:27] Well, php -l doesn't complain [22:16:36] getting more count:4294967294 [22:16:39] RoanKattouw, I think it's more "not valid" as in they don't do anything [22:17:15] TrevorParscal, might need to clear the database, or use a different pageid [22:17:27] sounds like it's from a borked one before, that -1's and goes kooky [22:17:59] i've been running delete from article_feedback; and article_feedback_pages; [22:18:27] I can tell you when it happens [22:18:48] if you don't rate one or more fields [22:19:07] then re-rate, leaving some fields still not-rated [22:19:10] it will do this [22:19:36] so that means, the logic is saying "rated 0 before, wanting to rate 0 again? do a -1" [22:19:40] by "don't rate" what do you pass to the api [22:19:43] which is of course broken [22:19:52] what should I pass? [22:20:20] right now it's passing null probably, cause it's a radio value, but none of the radio buttons are selected [22:20:21] I asked first :P [22:20:31] Hmm [22:20:32] checking [22:20:48] If you passed nothing at all, the API would default to 0 [22:21:23] its just not sending the r# for them [22:21:24] hmm [22:21:25] Should probably set all the rating parameters to required [22:21:30] yes [22:21:54] fixing [22:41:33] Reedy: still seeing it [22:41:48] I'm submitting 0s rather than ommitting the r# that would be a zero [22:42:10] hm [22:42:11] the problem is that if a rating is a 0, and you save it as a 0 again, it turns into a -1 [22:42:15] but it's not signed [22:42:27] so it turns into a 4294967295 [22:42:32] if ( $lastRating === false || $lastRating === 0 ) { [22:42:32] if ( $thisRating === 0 ) { [22:42:32] $countChange = 0; [22:43:09] line 100 [22:43:21] yeah [22:43:22] } else { // Last rating was > 0 [22:43:22] if ( $thisRating === 0 ) { [22:43:22] $countChange = -1; [22:43:29] no.. that seems sane... [22:43:29] hmm [23:39:23] i'm gonna start dumping graphics now, i think. [23:39:37] i'm not entirely finished but it's a start.