[02:04:34] Hi niedzielski-afk , any chance you're around? :) [08:33:49] morning! [08:33:49] o/ [11:30:09] does anybody use zsh? [11:30:28] i've seen some fancy completion for the cli and I'm wondering if it is worth switching [11:30:59] so far my research has given me sourceforge (which is spam now) and a hipster ruby bloated plugin oh-my-zsh [12:03:14] joakino: I think coren from ops uses zsh [12:04:06] joakino: ori and ottonatta as well based on their ~ scripts [12:08:06] nice, thanks hashar, i'll ask around [12:08:58] joakino: StackOverflow might help sometime :-} [13:57:57] brb making coffee [15:12:30] joakino: i don't recommend zsh. it's like an even more sprawling version of bash. it has a lot more functionality but it's not worth it in my opinion. i've switched to fish for its command completion and i just to keep all my scripts and aliases in shell agnostic files [15:13:42] oh and here's the link to fish shell: http://fishshell.com/ [15:13:49] niedzielski-afk: interesting, thanks. I tried fish before and it was a dream, except it broke syntastic on vim for me and that was a deal breaker (fish is not very well supported as vim's sh) [15:13:54] i may give it a go again [15:16:11] joakino: personally, if i couldn't use fish i would try to stick with plain bash which does have reasonable completions for many programs. make sure you have an up to date version of fish if you try it again [15:16:33] alright! [15:16:37] thanks niedzielski-afk [16:02:43] joakino: let me know how your experiments with fish go [16:02:55] will do [16:15:49] joakino: to echo niedzielski's input: i haven't yet needed much of zsh's functionality (and i really don't need oh-my-zsh's) [16:16:01] so, in the spirit of keeping it simple, i quickly uninstalled it [16:16:49] i never really got the hang of zsh's documentation. i really liked being able to type "help" in bash "man bash" and have access to everything pretty quickly [16:17:12] typo: help in bash *or* "man bash" [16:24:14] niedzielski: what's test2 wiki used for? [16:25:02] dbrant: it was a testwiki that worked more like other wikis [16:25:07] testwiki just ran on a single host [16:25:15] test2wiki was made to run in the same way as other production wikis [16:25:31] dbrant: i thought it was supposed to be compatible with content service and friends [16:27:47] niedzielski: so, why not use that as our default "test" wiki? (i.e. do we need both "test" and "test2" in the app?) [16:28:51] dbrant: i thought they served different purposes and there would come a time i was happy they were both there. i also thought it would be confusing to developers who knew the distinctions between test and test2 [16:29:29] dbrant: not a big deal though. i don't have any plans to use it today. [16:34:00] niedzielski: are those distinctions documented somewhere? i'm still not clear why you'd choose test instead of test2. [16:38:46] dbrant: hm, not that i know of. i thought it came up the other day but maybe i'm mistaken [16:40:12] dbrant: maybe gwicke was updating the test wiki configuration to be more like test2 wiki in some ways? [16:42:32] dbrant: i'll just abandon the patch for now. we can always put it in later if needed [16:46:29] I fixed /api/rest_v1/ for test.wikipedia.org recently [16:47:07] it's now sending those requests to the production RB cluster [17:00:35] dbrant: niedzielski: https://wikitech.wikimedia.org/wiki/Test2.wikipedia.org [17:11:10] niedzielski: would you mind helping figure out this test failure, when you have a minute.. https://gerrit.wikimedia.org/r/259513 [17:11:15] it works fine locally... [17:11:31] dbrant: sure. i'm just doing testing now anyway [17:13:36] dbrant: it has two org.wikipedia.zero.WikipediaZeroTaskTest failures [17:13:45] https://integration.wikimedia.org/ci/job/apps-android-wikipedia-test/1120/console [17:14:01] not sure why it marks the result as UNSTABLE, though [17:14:20] yeah the unstable was weird [17:14:22] hadn't seen that before [17:14:40] bearND: it's working correctly locally, though [17:14:43] dbrant: why did you remove the immediateexecutor from the test? [17:15:24] niedzielski: SaneAsyncTask no longer takes a custom executor. [17:16:44] dbrant: can / should SaneAsyncTask just subclass AsyncTask now? [17:17:32] dbrant: fwiw, the tests appear to hang forever on the first run on my machine [17:19:43] niedzielski: yeah, that build/test run took 11 minutes [17:19:54] almost 12 [17:22:01] dinner time [17:38:19] dbrant: i think i'm going to just try subclassing asynctask. i hope that will simplify things [17:46:33] can't login to calendar [17:50:49] dbrant mdholloway|afk bearND: it looks like genymotion is having another holiday discount this year. the code is GENYXMAS15. i picked up an indie license last year when i was on mac [17:51:55] dbrant mdholloway|afk bearND: i'm seeing a sporadic crash in updateMenuPageInfo() that i likely introduced recently. i'm looking into it now [18:11:16] k [18:16:00] bearND: updated the test so this can be merged: https://gerrit.wikimedia.org/r/#/c/259329/ [18:28:30] dbrant: i'm going to take another pass at the patch [18:29:33] niedzielski: thx [18:34:15] hey FlorianSW! [18:39:01] * Albert221 slaps FlorianSW around a bit with a large fishbot [18:42:07] mdholloway: it's merged now [18:42:14] thanks! [18:43:50] bgerstle: niedzielski, dan duval noted something interesting. see line 110 on https://etherpad.wikimedia.org/p/Scrum-of-Scrums [18:44:04] joakino: I found this hanging out in "ready for signoff" for sprint 61 -- https://phabricator.wikimedia.org/T118879 -- who needs to decide that is done? [18:44:46] marxarelli: ^^ [18:45:25] dr0ptp4kt_: nice! [18:45:27] dr0ptp4kt_: i've been wondering about appium. i have some experience with it, but it's unclear what the trade-offs are at this point, especially w/ recent tooling upgrades w/ Xcode/iOS [18:45:38] Albert221: ouch :D [18:45:43] no idea how well it works for android or what alternatives are [18:46:02] or how much we'd actually benefit from a shared end-to-end automated test framework across platforms [18:46:35] we'd _really_ benefit from shared test harnesses, e.g. media wiki instances w/ specific pages for specific test cases that all clients should handle [18:46:45] bgerstle: on device tests tend for us to be more integration level than unit [18:46:46] not so much on the automation layer though, IMHO [18:46:57] niedzielski: yeah, that's pretty typical IME [18:47:26] FlorianSW could you then explain me how to find the best hook to use? :) [18:47:38] bd808: cleaned up, seems like we didn't properly clean after last sprint [18:47:54] niedzielski: but you might get more bang for your buck doing integration tests w/ something like http://robolectric.org/ [18:48:07] bgerstle: yep, we do that [18:48:10] but using real android devices from saucelabs would def be interesting [18:48:18] Albert221: ahh, right, I forgot, sorry :) You first should try to find the usage of the config variable you want to change. In our case, it's https://github.com/wikimedia/mediawiki/blob/4e0762c70a97b8b8cfc54b934e518cddd6950e9a/includes/OutputPage.php#L3504 [18:48:38] joakino: thanks! [18:49:37] Now you look, which function that is, and who calls it. In our case it's getHeadLinksArray, which is called in headElement (in all these functions we don't have a hook, we can use). headElement on the other hand get's called in SkinTemplate (https://github.com/wikimedia/mediawiki/blob/5d9c74ec25176459e900bf5cc1adbba16db61d1d/includes/skins/SkinTemplate.php#L465) [18:51:31] The function in SkinTemplate (who calls our desired function) is prepareQuickTemplate, which is used in outputPage(), only (in SkinTemplate, too). Now (there isn't any hook, that is called before this function) we try to find a usage of outputPage, which is in the "output()" function of "OutputPage" (https://github.com/wikimedia/mediawiki/blob/4e0762c70a97b8b8cfc54b934e518cddd6950e9a/includes/OutputPage.php#L2318) [18:52:21] And there we go: a line directly above is the hook BeforePageDisplay, which is called directly before SkinTemplate::outputPage() and can therefore be used to adjust some configuration variables :) [19:06:19] heading over to the climbing wall [19:09:32] also I noticed, that this: https://www.mediawiki.org/wiki/Manual:Config.php says that I've got set() method in Config, but this: https://doc.wikimedia.org/mediawiki-core/REL1_25/php/interfaceConfig.html and my local (Fatal error: Call to undefined method GlobalVarConfig::set()) denies this. [19:09:36] FlorianSW [19:10:29] Albert221: I don't see "set" on the Manual page? [19:10:32] :D [19:12:04] hey [19:12:11] what's happening [19:13:30] :P That's the power of editable content :D I removed it ;) [19:13:43] I thought that I'm going crazy or something [19:13:54] the set method was there in the first version of the Config object, but was removed in a later version, so you can't (and shouldn't) use it :) [19:14:19] A config option shouldn't be changed during the runtime (that's why our solution here is called a "dirty hack" :D) [19:14:57] hmm, so I have to change my idea [19:29:15] FlorianSW: Ok, I'm done. Config.php documentation cheated on me, this: http://pastebin.com/By2WqvMS dirty workaround does not work too. I don't know what to do :( [19:31:00] Albert221: :) You need to get the config var you want to change and change the value :) You currently add the links twice, when your own config var is set to true :) [19:31:05] * true -> false [19:32:07] dbrant: still good to meet? [19:32:31] mbinder: d'oh [19:34:01] dbrant mdholloway bearND: is anyone using the hugo plugin? if not, i was thinking of axing it [19:34:26] niedzielski: nope [19:34:31] In this pastebin I wanted to override existing feed links [19:35:57] Albert221: the better idea is to prevent that they are added :) Btw.: You can't overwrite them in this hook, because they aren't added at this time :) [19:36:29] FlorianSW: just change? but Config::get doesn't return me referention. Is there any other way to change it? [19:37:24] Albert221: yep, you can get the corresponding global (which is the way, when you want to change the value). So, add "global $configname;" after the function name and overwrite it like a "normal" variable :) [19:38:09] isn't using everything what's global bad? D: At least I was teached that in my whole PHP adventure [19:38:24] maybe not "everything", but still "global" [19:43:42] ok, at long last it works. should I edit https://www.mediawiki.org/wiki/Extension:MobileFrontend#Configuration_settings ? [19:50:28] FlorianSW: https://gerrit.wikimedia.org/r/#/c/259546/ I don't understand that error. Could you explain? [19:51:00] Albert221: yes, globals aren't the best thing to achieve what you want, so, yes, please keep the "globals are bad" mentality :D But, MediaWiki is an old software and relies on globals in several places, that's why we have a config object (which is relatively new) to remove this dependency. Once any usage of a global variable is moved to the config object, we can hopefully deprecate the use of globals :) [19:51:33] Albert221: if you add a new config, then edit the manual, but not yet, you should wait, until the change is merged :) [19:52:20] Albert221: you haven't worked on top of master :) Your parent commit is an older one and the change can not be merged automatically. You need to rebase your work ontop of master [19:52:52] The easiest way would be to try "git pull --rebase origin master" and hope, that you don't get a merge conflict (but you will, otherwise Jenkins would be able to automatically merge the change :P) [19:56:18] at least I'll get more experience with Git thanks to GCI :) Normally I used to use GitHub for Windows (I don't like it right now), later PhpStorm Git integration and some basic add, commit, push commands :) [20:00:09] niedzielski: haven't used it yet, but maybe in the future. [20:00:52] bearND: niedzielski optional grooming meeting (reminder) [20:11:06] FlorianSW: fixed [20:29:23] mbinder: i think what's really important is that i went to _a_ meeting. it may not have been the right one, but it was something [20:29:44] FlorianSW: so just I am saying that other config variables doesn't have @var too [20:29:47] bearND: dbrant: niedzielski: something just occurred to me also on that last norsk/bokmal task: i'd have to go digging a bit but i think we have a check to default to english in the event of an unrecognized language code, just to prevent a crash otherwise. (so maybe i was wrong and the report is valid.) [20:30:01] mdholloway: good point [20:30:17] mdholloway: +1 [20:33:27] yeah, no need to update the languages_list.xml. It's already correct ("no") [20:34:11] mdholloway: I can reproduce the issue after setting the device locale to nb_NO [20:48:49] mdholloway: https://gerrit.wikimedia.org/r/259551 [21:00:28] mdholloway: i can do the deployment today [21:00:41] unless you want to [21:00:45] ok. looking at your norwegian patch now [22:56:10] bearND: niedzielski: mdholloway: hey guys! quick question - when you show a native list of disambiguation articles, what query are you using (or did use pre-content service) to request search-like results for those disambig titles (w/o doing full article mobile view request) ? [22:56:42] poking around the android code atm... it would be a task.java file right? [22:58:09] mhurd: :) [22:59:35] niedzielski: thx! [23:01:27] mhurd: https://en.m.wikipedia.org/w/api.php?action=mobileview&format=json&formatversion=2&prop=text%7Csections%7Clanguagecount%7Cthumb%7Cimage%7Cid%7Crevision%7Cdescription%7Clastmodified%7Cnormalizedtitle%7Cdisplaytitle%7Cprotection%7Ceditable&onlyrequestedsections=1§ions=0§ionprop=toclevel%7Cline%7Canchor&noheadings=true&page=Barack_Obama [23:01:27] &thumbsize=640 [23:01:47] niedzielski: oh awesome thanks!!! [23:01:55] mhurd: and then we're in JavaScript land to pull out the actual disambigs (called "similar titles" in the app now) [23:02:40] mhurd: in the above example, you can see it in the lead section [23:05:02] niedzielski: oh, so i already have the list of similar titles, but now i want to show a richer list of those titles. do you use that query then once for each of those disambig titles to get things like the wikidata descrip, thumb url, etc for building the native list of the disambig titles? [23:07:39] mhurd: (looking) i don't think we show a wikidata description. https://veuwer.com/i/3g8d [23:09:19] mhurd: hm, or maybe we do? check out DisambigListAdapter [23:10:15] niedzielski: that's cool, but you do have the thumb url, for example. i'm just wondering if you're doing a single query sending the list of all the titles and if you get back a response with a bit of info for each of those titles, much like you do in search [23:12:54] mhurd: https://en.m.wikipedia.org/w/api.php?action=query&format=json&titles=Barack_Obama%2C_Sr.%7CBarack_(disambiguation)%7CObama_(disambiguation)&continue=&prop=pageimages&piprop=thumbnail&pithumbsize=480&pilimit=3 [23:13:14] mhurd: https://en.m.wikipedia.org/w/api.php?action=query&format=json&titles=Barack_Obama%2C_Sr.%7CBarack_(disambiguation)%7CObama_(disambiguation)&continue=&prop=pageterms&wbptterm=description [23:14:47] niedzielski: i think that's it! thanks so much! where does that live in the android codebase? [23:16:20] mhurd: https://phabricator.wikimedia.org/diffusion/APAW/browse/master/app/src/main/java/org/wikipedia/pageimages/PageImagesTask.java and https://phabricator.wikimedia.org/diffusion/APAW/browse/master/app/src/main/java/org/wikipedia/wikidata/GetDescriptionsTask.java [23:18:47] niedzielski: i modified it to give back both thumbnails and wikidata description: https://en.m.wikipedia.org/w/api.php?action=query&format=jsonfm&titles=cat|dog|fish&continue=&prop=pageimages|pageterms&piprop=thumbnail&pithumbsize=480&pilimit=3&wbptterm=description [23:19:46] mhurd: nice! i think we're going to move these sort of requests to the content service so we don't have to bounce back and forth between JS and Java [23:20:12] niedzielski: opps never mind. i didn't seem to need to add wbptterm... https://en.m.wikipedia.org/w/api.php?action=query&format=jsonfm&titles=cat|dog|fish&continue=&prop=pageimages|pageterms&piprop=thumbnail&pithumbsize=480&pilimit=3 [23:20:27] niedzielski: ya that will be so much nicer!!! [23:21:13] mhurd: yep! develop in javascript, get back all you need in Java / Swift / whatever, and a clean API. all wins [23:24:31] niedzielski: so ya i think this is good for getting both descrip and image url: https://en.m.wikipedia.org/w/api.php?action=query&format=jsonfm&titles=dog|cat|goat|fish&continue=&prop=pageimages|pageterms&piprop=thumbnail&pithumbsize=480&pilimit=3 [23:24:52] oops pilimit should have been 4 [23:25:02] thanks again! [23:26:23] that's neat about the limit. i didn't realize it would take the maximum of the queries and pilimit [23:26:24] np [23:27:06] niedzielski: iirc since i passed 4 titles, i needed the limit set to 4. [23:27:18] i don't recall why [23:27:28] mhurd: well it was weird that 3 came back with 4 results still [23:27:35] huh [23:28:10] pilimit=3 & titles=dog|cat|goat|fish yields 4 results