[12:17:37] o/ [14:32:09] tfinc: Hi Sir, how was wikimania demo on Friday? [14:36:25] tfinc: sorry, "was the J2ME Wikimania Demo on Friday"* [14:57:10] caxthelm: it went well. i ended up using screenshots from the demo as i was running short on time [14:57:23] thanks for getting it into a working state! [14:58:59] i'll be in vacation this week checking in every now and then [14:59:49] tfinc: not a problem. I'm glad we could crash the schedule to get you something presentable so early. [15:00:41] me too [15:01:22] i'm stepping out but don't hesitate to email if you have any questions. the rest of the team should be here in about an hour [15:05:31] tfinc: no worries, I'm continuing on to the next part of the application. [16:49:25] may I know how to use adb logcat [16:54:14] bharath: http://developer.android.com/tools/help/logcat.html [16:54:34] bharath: i find this one a little more useful though: http://developer.android.com/tools/debugging/debugging-log.html#startingLogcat [16:54:35] awjr :sorry I got it [16:54:42] glad to hear it :) [16:55:08] awjr, where to give menu name? [16:57:17] awjr, I mean when I create a random article it shows so where to give the name of it? [16:58:39] bharath: can you give me a little more context? what exactly are you talking about? [16:58:51] are we going to have a standup? [16:59:07] hi MaxSem [16:59:08] yeah [16:59:16] let's wait a bit for patrick [16:59:47] I mean to create a random article menu in the main page [17:00:16] bharath: are you talking about the wikipedia app or something else? [17:00:40] awjr, android wikipedia app [17:03:55] bharath im not super familiar with the wikipedia android app, but it sounds like you're seeing a message key, which means there might not be a message defined for that key yet [17:04:03] messages are in assets/www/messages [17:05:08] awjr, thankyou [17:05:16] np [17:05:58] MaxSem: since it's just you and me, doing our usual standup is probably a little silly. [17:06:14] MaxSem and i dont htink it's worth waiting any longer for patrick [17:06:21] boo [17:06:29] okay [17:06:47] MaxSem: i'll send out an email to mobile-tech with my standup notes and you can reply to that with what you've been up to, what you're doing today and any blockers [17:06:53] sound ok? [17:07:00] sehr gut [17:07:57] MaxSem: looks like this is about the blackout? http://planet.wmflabs.org/ru/ [17:08:49] yeah [17:09:41] awjr, we have to give the name of the message based on id or what? [17:11:48] MaxSem: mail sent [17:13:02] bharath the message files are how interface strings in the app get translated. there is one message file per language translation. the files are made of up key/value pairs, where the key is the name of the message and the value is the message translation for the corresponding langauge [17:13:36] bharath you might try grep'ing around in the app for menu-randomArticle to see where it's coming from [17:15:09] MaxSem: out of curiosity, do you find the video standups useful? [17:16:10] sort of. it feels more like talking with real humans [17:18:14] MaxSem: yeah, i agree - i like them,i think for the same reason. it reminds me that i work with real people :p it's nice to have a few minutes to actually connect with everyone a little deeper than just IRC. [17:26:25] awjr, replied [17:40:49] can anyone suggest some good first bugs for me? [17:54:25] bharath: since i havent really been working on the wikipedia app, im not really sure what woudl be best, but you can take a look at the open bugs and see if any appeal to you [17:54:26] https://bugzilla.wikimedia.org/buglist.cgi?query_format=advanced&list_id=130101&resolution=---&resolution=LATER&resolution=DUPLICATE&product=Wikimedia%20Mobile&product=Wikipedia%20App [17:55:42] bharath: also you might want to look at: http://meta.wikimedia.org/wiki/Mobile_Projects/Contribute#Apps [18:02:40] MaxSem what was the rt ticket for getting dedicated ahrdware for WLM api? [18:30:00] MaxSem ^^ [18:42:57] Sorry, I've got an emergency here, will be later [18:43:03] no problem [19:39:54] * awjr waves at jdlrobson [19:40:03] * jdlrobson waves back [19:40:11] survive wikimania? [19:49:51] just about awjr [19:49:59] pretty exhausted and a little ill [19:51:30] sounds about right :p [20:07:05] awjr: I've seen a lot of problems with users being stuck on the desktop site and not being able to get back to mobile [20:07:27] I was wondering - if we delete the "stopMobileRedirect" cookie on loading the mobile site will that fix the problem? [20:07:34] (currently we set that when the desktop link is clicked) [20:07:57] jdlrobson hmm havent touched MF in nearly two months so i dont know what has changed [20:08:06] stopMobileRedirect cookie is supposed to be semi-permanant [20:08:12] so deleting it on load would be bad. [20:08:24] I'm seeing loads of reports on external forums and through the feedback of people getting stuck on desktop [20:08:27] however, the stopMobileRedirect cookie should get deleted if the user clicks 'mobile view' [20:08:28] let me see if I can replicate again [20:08:41] jdlrobson can you share some links with me? [20:08:54] i can try and find them [20:09:57] forwarded 2 emails [20:09:58] plus http://ask.metafilter.com/216272/Why-arent-I-getting-mobile-wikipedia [20:10:47] So open iOS simulator. Go to en.m.wikipedia.org (mobile page) click on Uncle Tupelo. Click desktop link on bottom [20:11:20] hmm [20:11:36] wheni get to a good stopping point i'll take a look at MF and see if i can tell what might be happening [20:12:20] Google uncle tupelo wiki, click top link get desktop. Click mobile view at bottom to switch to mobile [20:12:31] now google uncle tupelo wiki - still get the desktop view [20:12:40] v4.3.2 iOS simulator [20:13:01] seems to only effect that version.. can't seem to replicate in v5 [20:13:50] that is weird. in that case it sounds like stopMobileRedirect might not actually be getting deleted [20:17:59] awjr: any idea how I can access my sandbox on gerrit? [20:18:18] jdlrobson hmm probably not, i dont even know what that is :p [20:18:26] I wanted to share a branch sandbox/jdlrobson/ds [20:18:37] are you able to check that out from mobile frontend? [20:18:44] i should be one sec [20:19:41] jdlrobson yeah i see your branch [20:19:49] awesome [20:19:56] care to look at it? There's some weirdness going on I don't understand [20:20:03] I did this on Saturday/plane yesterday [20:20:15] MFE needs this badly [20:20:16] can you wait ~15mins? [20:20:19] sure [20:20:24] cool [20:20:24] i'm popping out for coffee anyway [20:20:33] ok perfect i'll probably be ready when you're back [20:37:10] jdlrobson im ready when you are [20:42:54] plus ive got some wlm app questions for ya [20:42:57] hey [20:42:58] just got back [20:43:01] word [20:44:12] hey so can you get my code running [20:44:12] ? [20:44:21] yup already running [20:44:46] so basically the problem is L199 MobileFormatter.php is doing weird things [20:44:56] if you right click on one of the sections it will load a special page [20:45:05] whoops [20:45:07] forgot to add it [20:45:10] * jdlrobson amends commit [20:45:26] ack my MF instance is whack [20:45:35] try again [20:45:40] ^ awjr [20:45:46] it's probably my failure to commit that file [20:46:47] no, my configs have changed for working on other things [20:46:54] i think i've almost got it fixed [20:47:19] ok still L199? [20:47:44] yup [20:47:54] just check you have specials/SpecialMobileSection.php [20:48:11] so if you load up any article in your instance which has sections… right click and open in a new tab one of the sections [20:48:36] one sec im getting a PHP warning [20:48:42] Warning: Missing argument 5 for MobileFormatter::__construct() [20:48:48] now on L199 if you var_dump pageTitle it reports it as MobileSections/ArticleName/Foo rather than ArticleName [20:48:58] looks like you added a parameter to the constructor for MobileFormatter which is not getting passed in in MobileFrontend.body.php [20:49:13] that parameter should be optional [20:49:20] should probably set it as null [20:49:48] jdlrobson i don't see $protectedSection referenced anywhere in the constructor [20:50:01] ahrgg still old cold [20:50:03] *code [20:50:04] one sec [20:51:12] force pushed [20:52:12] ok that looks better [20:52:37] sweet [20:53:03] so let me know when you are on a Special:MobileSection//<section> page [20:53:12] <awjr> i am [20:53:22] <jdlrobson> right now right click on any of the subheadings [20:53:23] <jdlrobson> broken link [20:53:35] <jdlrobson> and it steps from L199 - some how it reports the wrong title [20:53:43] <jdlrobson> (also does it seem a lot faster?) [20:53:50] <awjr> oh wait - do i need a section with sub-sections/ [20:53:54] <jdlrobson> yes [20:54:01] <awjr> o one sec [20:54:04] <jdlrobson> ohh wait a minute [20:54:09] <jdlrobson> just collapsible sections [20:54:13] <jdlrobson> so not a section within a section [20:54:15] <jdlrobson> that's not important [20:54:20] <awjr> oh ok [20:54:31] <awjr> cool im in a collabpsible section in a new tab [20:55:23] <awjr> i didnt quite follow - what is the expected behavior? [20:56:13] <jdlrobson> ok to take an example [20:56:13] <awjr> this is what i got after clicking 'Publicity and origins of term "flying saucer": [20:56:14] <awjr> Special:MobileSection/Querytest2/Publicity_and_origins_of_term_"flying_saucer"#Publicity and origins of term "flying saucer" [20:56:18] <jdlrobson> on http://en.m.wikipedia.org/wiki/San_Francisco [20:56:24] <jdlrobson> right click on History and open in a new tab [20:56:41] <jdlrobson> should load Special:MobileSection/San_Francisco/History [20:57:16] <awjr> ok [20:58:14] <awjr> jdlrobson it seems to be working correctly as i understand it/as it's written [20:58:31] <jdlrobson> good. but the problem is [20:58:35] <jdlrobson> on Special:MobileSection/San_Francisco/History [20:58:53] <jdlrobson> right click on the education heading [20:59:11] <jdlrobson> for me it loads Special:MobileSection/MobileSection/San_Francisco/History/Education#Education [20:59:17] <jdlrobson> and I have no idea why [20:59:29] * jdlrobson updates core in case that is the problem [20:59:33] <awjr> hmm i got a fatal [20:59:40] <jdlrobson> yup you have same problem as me [20:59:42] <awjr> Fatal error: Call to a member function getParserOptions() on a non-object in /home/awjrichards/Dev/wikimedia_git/extensions/MobileFrontend/specials/SpecialMobileSection.php on line 38 [20:59:49] <awjr> ok lets see [21:00:25] <jdlrobson> Not sure what's going on as title only gets set in the constructor [21:00:37] <jdlrobson> yet it's changing during the transformation [21:03:01] <awjr> it's trying to get the id of the article <article>/<section name> [21:03:44] <awjr> but of course that's not actually an article, so $id is getting set to 0 (in renderSection() ) [21:03:59] <awjr> so $article becomes a non-object [21:04:04] <awjr> hence the fatal [21:05:12] <awjr> jdlrobson ^ [21:06:07] <jdlrobson> but why is title pointing at <article>/<section name> ? [21:06:27] <awjr> jdlrobson: 1) what exactly are you trying to achieve? 2) why are you appending the section name to the URI such that it becomes <article>/<section name>? [21:06:38] <awjr> oh i see, it's not supposed to do that :p [21:06:55] <jdlrobson> it should be pointing to <article> [21:07:06] <jdlrobson> if you look at SpecialMobileSection.php L41 [21:07:12] <jdlrobson> it's passing in the title of the article [21:07:21] <jdlrobson> yet some how that title is changing itself [21:07:24] <jdlrobson> and I don't get why [21:08:17] <awjr> well that's what $pageTitle is getting set to on line 20 of SpecialMobileSection [21:09:40] <jdlrobson> it is? [21:09:45] <awjr> jdlrobson i think what you're doing at line 200 of MobileFormatter.php is dangerous [21:09:47] <jdlrobson> i var_dumped and it didn't seem to be.. [21:10:00] <jdlrobson> how so awjr ? [21:10:21] <awjr> i dont think it's a good idea to concat $pageTitle . '/' . $name [21:10:52] <awjr> and i dont see why it's necessary if you're also appending $name to the hash [21:10:58] <awjr> $url = SpecialPage::getTitleFor( 'MobileSection', $pageTitle . '/' . $name )->getLocalUrl() . '#' . $name; [21:11:15] <jdlrobson> awjr: it's necessary on long pages [21:11:24] <awjr> jdlrobson explain? [21:11:25] <jdlrobson> so that the section is at the top of the page [21:11:34] <jdlrobson> this is for non javascript users [21:11:39] <awjr> hmm [21:11:42] <jdlrobson> if they click History they need to see the History section [21:11:46] <jdlrobson> not the page summary [21:11:51] <jdlrobson> which they would if you don't append the hash [21:11:58] <awjr> will $name ever be something like section_name/more_section_name/even_more_sectionname? [21:12:03] <jdlrobson> anyway this is just a proof of concept a the moment [21:12:17] <jdlrobson> i don't think so awjr [21:12:20] <jdlrobson> I want to avoid that [21:12:44] <awjr> ok then it's not so bad if we can assume the last slash contains the section name [21:13:06] <jdlrobson> but awjr do var_dump($title); above L41 and var_dump($this->title); above L200 and then say wtf [21:13:27] <jdlrobson> might want to add ->getText() to both of those for less noise [21:13:50] <jdlrobson> awjr: there's an edge case where a section name might contain a / but I'm not worrying about that /just/ yet [21:14:08] <jdlrobson> I just want to get it to a state where it makes a point about how much quicker mobile is this way [21:16:29] <awjr> jdlrobson so the title strings are the same [21:16:34] <awjr> which i presume is what you expect? [21:16:41] <jdlrobson> really?! [21:16:44] <jdlrobson> mm not for me.. [21:17:31] <awjr> ok so for me both title strings look like: <article>/<section> [21:17:48] <awjr> and the fatal is showing up because <article>/<section> isn't actually an article with an id [21:19:30] <jdlrobson> mm that's different to my environment [21:19:45] <awjr> let me try this over i might've goofed something up [21:21:55] <jdlrobson> string(13) "San_Francisco" [21:21:56] <jdlrobson> string(57) "MobileSection/San Francisco/Culture and contemporary life [21:22:01] <jdlrobson> it what gets logged for me [21:22:17] <awjr> yeah now that's what im getting, i dont know what i did differently the first time [21:22:57] <awjr> jdlrobson it's likely because of how you're creating $pageTitle [21:23:12] <jdlrobson> :/ [21:23:16] <jdlrobson> how so? [21:23:40] <awjr> what exactly is it you want in $pageTitle? just the name of the actual article? [21:24:07] <jdlrobson> $title = Title::newFromText( $pageTitle ); [21:24:26] <jdlrobson> L28 SpecialMobileSection is how I use it [21:24:42] <awjr> right right, but what is the contents of $pageTitle supposed to be? [21:24:45] <jdlrobson> I just want to delegate to MobileFormatter [21:25:25] <awjr> because right now $pageTitle looks like: MobileSection/<article>/<section name> [21:25:47] <jdlrobson> Well it should reflect the article title [21:25:56] <awjr> ok so $pageTitle = <article title> [21:26:12] <jdlrobson> L33 SpecialMobileSection [21:26:16] <jdlrobson> that's what I'm trying to achieve [21:26:17] <awjr> what you're doing in SpecialMobileSection::execute() will not, and does not, give you that :p [21:26:30] <jdlrobson> why not? [21:26:50] <awjr> becaues it results in MobileSection/<article>/<section name> [21:26:55] <jdlrobson> how ? where? [21:26:56] <awjr> rather than <article> [21:27:05] <awjr> ok let's back up [21:27:12] <jdlrobson> k [21:27:16] * jdlrobson eager to learn something [21:27:33] <awjr> 1) is there a reason you're not using a query string to pass your params? [21:27:43] <awjr> that would make this a lot easier [21:28:43] <jdlrobson> caching [21:29:00] <jdlrobson> MaxSem seemed to suggest that appending query strings would cause our cache issues (since the values are infinite) [21:29:11] <jdlrobson> also i hate query strings [21:29:12] <jdlrobson> i like pretty names [21:33:47] <awjr> jdlrobson is the idea that when you click on a section link, you get taken to the special page? [21:33:59] <jdlrobson> yup [21:34:12] <jdlrobson> (to get round the problem of X/Y being a valid title name) [21:34:34] <awjr> ok so the first time you do it, it will work, but then clicking another section title on that page will have the unexpected results [21:35:19] <awjr> because after you've done it the first time, $this->title becomes MobileSection/<article>/<first section name you clicked on> [21:35:34] <awjr> (that is, $this->title on line 199 of MobileFormatter.php [21:36:49] <awjr> jdlrobson does that make sense? ^ [21:38:13] <jdlrobson> but why… caching? [21:38:26] <awjr> no, because that's the page you're on [21:38:39] <jdlrobson> but where does it get set? [21:40:35] <awjr> it's MW magic [21:40:42] <awjr> in the ContextSource, i think [21:41:02] * jdlrobson dislikes MW magic [21:41:17] <awjr> hehehe you are not the first MW dev to say that :p [21:41:28] <jdlrobson> so how can I get the title I passed in the first place [21:41:38] <jdlrobson> not this magic one [21:41:40] <awjr> shit hang on [21:43:15] <awjr> what do you mean 'the title I passed in the first place'? [21:47:50] <jdlrobson> well on L41 [21:47:52] <jdlrobson> awjr: ^ [21:48:18] <jdlrobson> I have the title I want there [21:48:22] <jdlrobson> yet some how it magically changes [21:58:13] <jdlrobson> awjr: ? [21:58:19] <awjr> jdlrobson im hunting [21:58:33] <awjr> although i have to stop in a minute to deploy a config change [21:58:40] <jdlrobson> I need to play catch up with some of the WLM stuff [21:58:59] <awjr> ok im gonna finish following htis thread and then do the deployment [22:00:02] <jdlrobson> k [22:03:49] <awjr> jdlrobson quickly before i move on, it looks like MobileFormatter is getting instantiated twice for some reason. the first time from inside SpecialMobileSection (with the correct title) the second time from somewhere else [22:03:56] <awjr> i'll keep digging after i get this change deployed. [22:04:05] <jdlrobson> ok cool that's what I suspected [22:04:07] <jdlrobson> but couldn't work out why [22:04:15] <jdlrobson> thanks awjr - just would be shame not to get this polished up [22:04:26] <awjr> np we'll figure it out [22:04:32] <jdlrobson> I know we have other priorities but I think this would be a big win for mobile site [22:09:14] * MaxSem is back [22:09:29] <MaxSem> jdlrobson, do you know that special pages are uncached? [22:19:36] <awjr> i had forgotten about that [22:20:27] <MaxSem> so the question is how to cache stuff and maintain this cache actual [22:20:41] <MaxSem> special pages are uncached - not suitable [22:21:33] <MaxSem> cached URLs with section number/title in it - not clear how to purge [22:22:21] <MaxSem> there will be a *shitload* of possible URLs you'll have to purge on every page change [22:25:36] <awjr> has anyone heard from patrick today? [22:26:23] <MaxSem> hehe http://www.mediawiki.org/w/index.php?diff=562420 [22:27:48] <jdlrobson> MaxSem: ? it's not inactive.. [22:28:35] <MaxSem> srsly, this proposal doesn't stand a snowball's chance in hell [22:29:09] <jdlrobson> that kind of thinking is not helpful.. [22:29:12] <MaxSem> awjr, the RT ticket you've asked about is https://rt.wikimedia.org/Ticket/Display.html?id=3221 [22:29:59] <awjr> thanks MaxSem [22:30:23] <jdlrobson> and MaxSem I talked to various people at Wikimania and most were in agreement we needed to improve the situation even though it is not an easy task [22:33:03] <MaxSem> awjr, any opinions regarding WLM on Commons' api.php vs. separate domain with a copy of what we have deployed on TS? [22:36:37] <awjr> MaxSem: no different from friday - if we can somehow limit access to the WLM API, then i think it's fine on commons; otherwise i think we'll be better off hosting the API separately [22:38:43] <MaxSem> awjr, my other thoughts on this matter are: going the way of MW API would result in a slight change of request structure, e.g. 'action' parameter is already taken [22:41:08] <MaxSem> changing the app for it would be quite easy however by retaining the API format we could make the app fall back to Toolserver if WMF's copy is down [22:41:23] <MaxSem> or out of service due to its temporary nature... [22:41:52] <awjr> MaxSem yeah, my feeling is the easiest thing would be to just host their API as-is [22:42:00] <awjr> the fall-back is nice [22:42:57] <MaxSem> probably, we could introduce miser mode that disables everything not needed by the app [22:48:37] <MaxSem> yawn [22:48:42] <MaxSem> good night [22:49:03] <MaxSem> even though in some places it will come not quite soon:) [22:49:34] <awjr> good night MaxSem [22:51:08] <awjr> jdlrobson so yeah, back to your issue… MobileFormatter is getting invoked twice for some reason - once by you (with the correct title set) and a second time for some other reason [22:51:29] <awjr> the second time it gets invoked the pagetitle is getting overridden [22:51:33] <awjr> hence your whack links [22:51:49] <jdlrobson> but we don't know why it is invoked twice? [22:52:04] <awjr> not yet i havent looked hard enough [22:52:11] <jdlrobson> :( [22:52:18] <awjr> oh you know... [22:52:29] <awjr> it might be because of the hooks we use in MF [22:53:56] <awjr> too bad MaxSem just left he probably could've answered this quickly [22:54:19] <awjr> jdlrobson dunno if you saw earlier but max brought up a good point i had forgotten about: special pages are not cached [22:54:41] <awjr> which probably makes this approach no good [23:05:06] <gerrit-wm> New review: Jdlrobson; "Hi Krinkle" [mediawiki/extensions/MobileFrontend] (master) C: 0; - https://gerrit.wikimedia.org/r/14419 [23:05:13] <awjr> jdlrobson so DOMParse is getting executed and i think is somehow getting a new output object which is overwriting your title [23:05:26] <jdlrobson> awjr: yeh I saw - I'm not sure what solution is but I just want to get a proof of concept [23:05:30] <awjr> DOMParse gets called in skins/SkinMobileBase.php on line 30 [23:05:39] <awjr> in the outputPage function [23:06:16] <jdlrobson> awjr: what we probably want is /w/mobileview/article/section [23:06:39] * jdlrobson looks at SkinMobileBase.php [23:07:32] <awjr> hmm actually by the time SkinMobileBase::outputPage is called, it already has an overwritten output object [23:09:14] <awjr> jdlrobson i've got some other stuff i need to take care of today - does that point you in the right-ish direction of figuring this out? [23:09:35] <jdlrobson> no worries it's not urgent [23:09:51] <jdlrobson> As I said it was just something I'm keen for us to try that I did on the plane that is not quite working [23:10:06] <jdlrobson> and wanted to get it polished and tried out before it gets stuck in the code graveyard [23:10:24] <awjr> heh for sure [23:12:37] <gerrit-wm> New review: Krinkle; "Please open a bug for this. I am not going to repeat myself." [mediawiki/extensions/MobileFrontend] (master); V: 0 C: 0; - https://gerrit.wikimedia.org/r/14419 [23:13:19] <awjr> jdlrobson if you've got a sec, i played around this morning with the template stuff int he WLMApp but i ahven't been able to get it to work right. here's what i've done most recently: [23:13:20] <awjr> https://gist.github.com/3125706 [23:13:25] <awjr> mind taking a look? [23:13:37] <jdlrobson> sure [23:13:40] <awjr> still results in Error in success callback: Camera3 = SyntaxError: Unexpected token . [23:14:13] <awjr> seems to be breaking at the point of getting the template [23:14:42] <awjr> brb [23:14:56] <jdlrobson> camera3? [23:15:08] <jdlrobson> I guess somethings not there that's being passed to template [23:15:10] <jdlrobson> will look in a bit