[00:17:14] MaxSem: why var $followRedirects;? [00:43:11] YuviPanda: i think betas in the market make sense [00:43:23] nightlys might be overkill [00:43:32] tfinc: +1 [00:43:40] tfinc: if we move betas to market pushing out a beta is much less work [00:44:21] so i'm guessing we can do a beta after every feature gets completed [00:44:35] we can try it. but keep in mind that our version filter will be pretty large [00:44:40] betas, rcs, etc [00:44:54] yes, we shouldn't call it a 'beta' [00:45:01] we should call it 'experimental' [00:45:10] or go the Firefox way, come up with a sexy name [00:45:12] like Aurora [00:59:06] sure .. we can figure out a good name for it [00:59:08] meet up time [00:59:17] heading out to http://www.sfhtml5.org/events/52625572/?eventId=52625572&a=ed1_l6&action=detail [09:32:44] Hey YuviPanda: any luck repro'ing the bug I mentioned yesterday? [10:40:40] YuviPanda: Can repro on nightly too. [10:40:51] I can, I mean [10:42:21] Also, sometimes there's a one pixel gap above and to the left of the top bar (nightlies and the last RC) [10:47:13] Reproducible: load app, press nearby, depress zoom out button (gap appears), release (gap disappears), hit back to go to main article (gap reappears) [10:48:51] I'm going to go ahead and write these up as bugs, since they're still in the nightlies. [10:54:05] wikibugs (NEW) Nearby fragile, sometimes starts very zoomed out - https://bugzilla.wikimedia.org/35605 normal; Wikipedia App: Near by; (jarry1250) [10:58:37] (mod) Search box sometimes has pixel-wide left/top margin - https://bugzilla.wikimedia.org/34661 +comment (Jarry1250) [11:50:44] Jarry1250: sorry just saw the messages [11:51:12] Jarry1250: this is iOS? [11:51:24] No, Android. [11:51:41] I've put what I know on those two bugs. [11:52:04] Jarry1250: thanks, will look into it! [11:52:09] Jarry1250: consistently 100% reproducible? [11:52:24] Both, yes. On my device, using the instructions given. [11:52:36] Well, I tried them a few times, reproduced every time. [11:52:57] Jarry1250: alright, will look into it! [11:53:04] Jarry1250: btw, we released it to market :) [11:53:11] There are probably other ways to reproduce, but those work (for me) [11:53:15] 1.1? [11:54:21] Jarry1250: yes [11:54:55] Well, you might want to address bug 35065 soonish then :P [11:55:37] Jarry1250: :D We will! [12:32:30] MaxSem: poke [13:30:59] YuviPanda, pong [13:31:24] MaxSem: action=parse&mobileformat=html gives quite different html than what MF produces. [13:31:33] no way to differentiate sections, for example. Is this intentional? [13:32:22] yes, collapsible sections should be JS-only [13:35:41] YuviPanda, https://bugzilla.wikimedia.org/show_bug.cgi?id=34422 [13:36:43] MaxSem: well, the HTML structure seems different. [13:37:00] for example, the HTML produced by MobileFrontend has lots of divs and content inside the divs [13:37:05] the API call doesn't. [13:37:30] these divs are part of skin [13:38:01] I output pure page content, ie result of wikitext-->html rendering [13:38:28] agh [13:39:45] MaxSem: so mobileformat=html doesn't actually push things *through* MF, just does minor formatting corrections [13:40:11] it uses the same html conversion code [13:40:19] what's your concern? [13:40:38] MaxSem: okay, so I need to do js based sections in the app [13:40:50] MaxSem: in MF, each section comes wrapped in a
[13:41:04] MaxSem: in the API, it doesn't. [13:41:40] MaxSem: so I'll have to actually then reprocess the HTML on the client side to differentiate each section [13:43:00] hrm, MF still has parts of section-processing code in place [13:43:16] need to ask jdlrobson's opinion [13:43:54] he was involved in this deprecation [13:44:23] MaxSem: okay [13:44:31] aah, today's friday [13:44:53] MaxSem: did I explain my issue properly? [13:45:16] yes, divs around sections [13:45:30] yes. [13:45:39] any way of differentiating sections, really. [13:45:57] i could now write js that went around and converted one h2 to another into a div, but that'd be stupid on my part [13:48:23] the easiest way would be to always unconditionally add these damn divs [13:48:55] so, we're not going to see Jon today? [13:50:35] MaxSem: no [13:50:50] MaxSem: +1 for unconditionally adding divs. [13:50:57] or we could even add
tags [13:51:20] and see some browsers explode unpredictably? [13:52:46] MaxSem: who cares :P [13:53:05] MaxSem: but yes, I think adding divs is a nice idea, atleast with mobileformat=html [13:53:16] or perhaps we could have a mobileformat=html5 [13:53:26] which could have proper
and
bits [13:54:55] I will note that the gains are negligible practically, and I'm not sure how hard it is to implement [13:55:01] but it'd be nice-to-have [14:29:27] eh, WP app reloads page on pressing back? [15:38:41] MaxSem: yes [15:42:02] well, that sucks;) [15:42:22] browsers stopped doing it more than 15 years ago:) [15:42:32] MaxSem: what do they do instead? [15:42:41] load cached version [15:42:58] MaxSem: so, we do that if we've no netwokr [15:42:59] *network [15:43:52] MaxSem: cache first then network was our initial behavior. Then we realized we had no control over cache [15:44:02] MaxSem: so main pages started showing up several days old [15:44:35] cache expiry strategy would have fixed that [15:44:59] MaxSem: something which Android doesn't let you control [15:45:10] MaxSem: so the alternative was to do our own cache [15:46:24] since I have an Android phone now, I might be interested in doing that [15:47:35] MaxSem: aha [15:47:37] awesoem :D [15:47:49] MaxSem: it'd be super easily doable once the API work is complete. [15:47:59] because then we'll have a 'Page' object that can be thrown around and serialized [15:48:03] I'm already regretting this decision - that thing is huge [15:48:14] instead of the stateless ui-centric design we have [15:48:16] MaxSem: what phone? [15:48:33] SGS2. thanks crap not Galaxy Nexus [15:48:52] MaxSem: Tried the Galaxy Note? :P [15:49:36] why not windows-based 15" tabletm then? [15:50:29] MaxSem: because you're not out of your mind :) [15:51:17] really? I'm not that sure [15:51:57] you don't have a 15" Windows Tablet [15:52:02] hence you're not out of your mind [15:52:27] that's quite a narrow definition of sanity:P [15:53:12] MaxSem: :P [15:53:17] it is one that you pass [15:55:44] MaxSem: thoughts on mobileformat=html5 [15:55:50] and just adding divs to mobileformat=html [15:55:51] ? [15:56:58] not convinced that HTML5 is needed atm [15:57:07] me neither [15:57:10] but something on a backburner [15:57:13] adding divs? [15:57:26] wanted to discuss this with Jon [15:58:26] MaxSem: out till Monday then :( [15:58:34] well, I could do the other parts of thist ill then. [16:01:00] what's the problem with dynamic section loading? Jon already did this for MF [16:02:50] MaxSem: MF gives you divs [16:03:02] MaxSem: action=parse&mobileformat=html does not [16:11:26] action=mobileview even gives you the sections separately [16:53:01] maplebed: Message from VCC-compiler: [16:53:02] DNS lookup(195.189.142.0/23): Name or service not known [16:53:03] ('input' Line 27 Pos 9) [16:53:04] "195.189.142.0/23"; [16:53:05] --------##################- [16:54:47] preilly: this should be: [16:54:49] acl digi_ips { [16:54:49] "203.92.128.185"; [16:54:51] "115.164.0.0"/24; [16:54:52] "116.197.0.0"/24; [16:54:54] "195.189.142.0/23"; [16:54:55] "91.203.96.0/22"; [16:54:57] "80.239.242.0/23"; [16:54:58] "217.212.230.0/23"; [16:55:00] "141.0.8.0/21"; [16:55:00] "82.145.208.0/20"; [16:55:01] } [17:01:48] maplebed: https://gerrit.wikimedia.org/r/4004 [17:01:51] greetings all [17:02:03] we'll get started at 10:05 [17:02:10] preilly is just finishing something up [17:04:20] is wmf_office "carrier" for testing? [17:09:00] https://gerrit.wikimedia.org/r/#change,3930 is what i was referring to [17:13:12] ummm, was it terminated prematurely? [17:19:50] * YuviPanda waves. [17:20:11] sorry everyone, portable internet got shot and had to travel elsewhere with internet [17:20:41] preilly: load looks fine on 1041. Continuing to the rest. [17:20:59] tfinc: ^^ [17:21:07] YuviPanda: ahh .. that explains it [17:21:37] * maplebed imagines http://www.nytimes.com/2012/03/13/technology/homeless-as-wi-fi-transmitters-creates-a-stir-in-austin.html in combination with YuviPanda's recent comment... poor internet. [17:21:55] YuviPanda: for next time see if you can get that figured out beforehand . these check ins are better over voice then irc [17:22:14] but for now .. lets us know what you've been doing since our last check in, what your doing today, and any blockers [17:22:19] tfinc: will make sure, I think i've missed two in a row now. :( [17:22:25] yes. [17:23:10] yesterday was spent fixing some bugs in the code that produces 'Wikipedia Experimental' releases, and started work on moving to action=parse API [17:23:36] found a few issues that I've discussed with MaxSem, and I'm going to continue side stepping those issues for now until we could discuss with jon on monday. [17:24:17] today i'll start with investigating a few complaints fo regressions in the market (saved pages disapperaing, intent filter not working) [17:24:20] and then get back to the API [17:25:07] * tfinc pulls upgrade stats [17:25:14] I've seen a complaint about text becoming very small on market [17:25:37] preferences got reset again? [17:25:41] YuviPanda: https://support.google.com/googleplay/android-developer/support/bin/answer.py?hl=en&answer=2528691 !?! [17:25:51] finally [17:26:02] tfinc: :) [17:26:09] we don't have to do a stupid shared account [17:26:09] MaxSem: that technically shouldn't happen. [17:26:13] tfinc: \o/ [17:26:52] YuviPanda: i just sent you an invite [17:26:55] let me know what it looks like [17:26:56] tfinc: do you have more devices with 1.0.x market release around? [17:27:01] YuviPanda: yes [17:27:11] tfinc: test out a thing for me? [17:27:20] sure. what do you need tested ? [17:27:21] 1. Save a few pages [17:27:26] 2. Change font setting [17:27:28] 3. Upgrade [17:27:37] check if it stays [17:28:24] tfinc: i accepted, looks like you need to confirm the account [17:28:30] YuviPanda: we've had 500,000 updates in the last 24hrs [17:28:35] woohoo [17:28:44] 610,678 V1.1 users now [17:29:04] we'll overtake V1.03 tomorrow [17:29:08] :D [17:29:27] which means it takes less then a week to update all of our current users to a new version [17:29:36] thats pretty insane [17:29:42] with how quickly we can do it [17:29:50] YuviPanda: did you get the invite ? [17:29:52] maplebed: i'm technically homeless (been couch surfing for a few months now), so that makes sense :) [17:30:01] tfinc: i accepted, it told me that you'll need to 'confirm' [17:30:12] tfinc: I wish Android versions upgraded that fast [17:30:16] thats dumb as i sent out the invite [17:30:22] our daily uninstall rate is growing [17:30:25] thats a bit troubling [17:31:01] tfinc: do you know how it is compared to other apps? [17:31:08] YuviPanda: i'll ask around [17:31:45] YuviPanda: access granted [17:32:57] YuviPanda: i'm seeing lots of reports about lost pages [17:33:01] why is that happening ? [17:33:09] preilly: the change is live on all mobile varnish hosts. [17:33:15] tfinc: shouldn't, that's why I asked you to check. [17:33:32] i'm testing it right now as well [17:34:43] maplebed: okay, thanks! [17:40:20] YuviPanda: we've really bifurcated our reviewers its mostly 5 star with a trickle of 1 star [17:41:05] YuviPanda: update our new features section on the market and put a note that the update *might* wipe your saved pages [17:41:10] tfinc: I see the issue. [17:41:16] hmm ? [17:41:25] tfinc: upgrading doesn't show you your saved pages [17:41:41] however, they aren't gone - going back to v1.0.3 shows them back. Looks like a path issue [17:41:46] hehe [17:41:47] nice [17:41:58] we didn't really test upgrade paths :( [17:42:07] YuviPanda: i asked you to test upgrade paths ;) [17:42:25] tfinc: I hope you put a note on the iOS instructions about wiping bookmarks [17:42:32] nope, but i will [17:42:42] there is nothing that we can easily do on that one [17:42:57] tfinc: I was testing MFE upgrade paths. Not this. I figured that since that is unchanged urlcache code shouldn't need changes. [17:42:59] looking into it now [17:43:16] tfinc: me clicking 'my apps' tells me 'sorry there was a problem' [17:43:23] am unable to access it [17:46:24] my apps ? [17:46:45] 'my android apps'? [17:46:49] i guess that's the management interface? [17:47:00] takes me to https://play.google.com/apps which error [17:47:02] *errors [17:47:09] ohh [17:47:17] you mean the management interface [17:47:25] yes [17:47:37] YuviPanda: what does this show you https://play.google.com/apps/publish/Home [17:47:41] thats the link that i use [17:47:51] well, that loads [17:48:36] YuviPanda: so you can see stats, binaries, crash reports, etc ? [17:49:32] tfinc: yes i do [17:49:38] excellent [17:49:43] i'm no longer a bottle neck then! [17:49:54] YuviPanda: take a look at the upgrade stats [17:50:04] yes, moving fast! [17:50:30] tfinc: updating description [17:50:59] woot! [17:51:14] we should issue a 1.1.1 that fixes the saved pages issue [17:51:22] yes. i'm working on it [17:51:57] modified [17:55:54] hello [17:56:24] Hello, is this air boats? Yeah, hi, it's me space bot. [17:56:46] wow [17:57:04] My tongue says sangria by my heart says michelada. [17:57:27] preilly is this what happens when you delegate puppetization to jerith and company ;) [17:57:30] we're getting popular [17:57:38] :) [17:57:57] oh, I thought it was a run fo the mill spam bot [17:57:59] nevermind [17:58:21] /mode +q is ur frayend. [17:58:26] ArcherBot: karma YuviPanda [17:58:41] preilly: can we get an Eliza bot too? i'd love for archer to talk to her [17:58:44] so much karma that it crashed [17:58:44] hilarious ... [18:00:07] terrychay [18:00:09] tychay [18:00:10] Fact: The Internet doesn't go down, Terry Chay's laptop just goes into sleep mode [18:00:20] tychay [18:00:21] Fact: Terry Chay does not walk, or run, or drive, or take an airplane to a place. He simply uses a Keynote transition. [18:01:16] Announcement: Terry Chay joins WMF as Director of Features Engineering [18:01:17] Fact: Terry Chay doesn't write code, he just thinks it, and minions do it for him [18:02:59] thats too perfect for him just joining [18:04:06] tfinc: looks like a PhoneGap issue. [18:04:08] tfinc: You're getting our new improved deployment infrastructure before we are. ;-) [18:04:24] jerith: mwhaha … woo! [18:04:27] jerith: ha ha [18:04:29] Preferences persist in same app version when reinstalling, but not across app versions [18:04:46] Although you're getting a different one, probably. [18:06:02] How do you puppet-manage services that make persistent connections? [18:06:37] jerith: what do you mean? [18:07:19] Let me actually stop making assumptions and start again. [18:07:27] How does your deployment process work? [18:07:42] YuviPanda: when the app gets move to an sd card .. do our saved pages move as well ? [18:10:13] tfinc: yes, android takes care of that [18:10:36] I investigated that when we made the move [18:10:45] let me try again just to confirm. [18:10:58] jerith, I'm surprised with not hearing "wow, your code sucks" from you:P [18:11:11] cause I know it sucks:) [18:11:28] MaxSem: I try to be diplomatic. ;-) [18:11:38] YuviPanda: i'm tweeting about the saved pages issue [18:11:42] But actually, I haven't had a chance for a proper review yet. [18:11:43] okay [18:11:50] tfinc: move to SD card doesn't affect thing [18:11:51] s [18:11:51] s [18:13:07] YuviPanda: "Were aware of some users upgrading to V1.1 of the Wikipedia Android app who are not seeing saved pages. Were investigating now" [18:13:18] *We're [18:13:25] sure [18:13:46] sent [18:17:19] preilly: i've found some bugs in piano bar .. it doesn't properly share audio on osx. for instance I've had a number of cases where its not playing and no other app has audio until i kill piano bar [18:19:33] tfinc: lame [18:19:35] archer [18:19:35] : Karate? The Dane Cook of martial arts? No, ISIS agents use Krav Maga. [18:20:59] do it have a lana trigger ? [18:20:59] wow [18:21:37] we need a preilly bot. [18:25:45] archer [18:25:45] : Karate? The Dane Cook of martial arts? No, ISIS agents use Krav Maga. [18:25:48] archer [18:25:48] : Karate? The Dane Cook of martial arts? No, ISIS agents use Krav Maga. [18:25:52] archer [18:25:52] : If you want breakfast you should try the diner; you're obviously into greek. Get it? [18:26:18] tfinc: mobile-feeds:/var/www/archer/index.php [18:26:18] : I have to go, but if I find one dog hair when I come back I'll rub sand into your dead little eyes. I also need you to buy sand. I don't know if they grade it, but ... coarse. [18:34:20] tfinc: found the issue. [18:34:41] YuviPanda: nice. whats was it? [18:35:01] tfinc: PhoneGap. They changed the path in which the database is stored between 1.3 and .14 [18:35:03] *1.4 [18:35:14] so the data is still all there. [18:35:42] I'll write a small piece of code that's run on upgrade that'll migrate data from old path to new one [18:37:45] spiffy [18:39:44] very cool http://dillinger.io/ [18:40:33] tfinc: on it. But sortof pissed with the PhoneGap people. [18:40:43] this is a breaking change. And was not mentioned in the CHANGELOG [18:40:44] YuviPanda: was it in the release emotes ? [18:40:46] or anywhere. [18:40:47] no [18:40:51] http://phonegap.com/2012/01/31/phonegap-1-4-released/ [18:40:56] make sure to flame them appropriately [18:41:05] indeed. [18:41:16] their CHANGELOGS are simply commit messages [18:41:21] and they write shitty commit messages [18:44:18] * tfinc wonders what archer would say about RagingPanda  [18:44:32] archer [18:44:33] : Hey Cyril. Cyril. CYRIL! I'm saving Lana, as usual! [18:44:59] archer [18:45:24] : You better call Kenny Loggins. 'Cause you're in the danger zone. [18:45:35] archer [18:45:35] : How'd you get life insurance, Lana? Don't they know you're in the danger zone? [18:45:43] archer is all well and good to have but it would be better to have mobile fronted check in bot be in here as well [18:45:43] : See that? He was putting on his pants, and I stopped him. So you just watch your step, mister ... dammit. [18:46:34] ArcherBot! [18:46:34] : How'd you get life insurance, Lana? Don't they know you're in the danger zone? [18:46:40] how boring [18:46:58] MaxSem: do you want me to remove it? [18:47:24] depends how much it will annoy us in the future:) [18:47:34] long long time ago, when I was a GSoC student, I started writing a brionbot. [18:47:36] hmmm... [18:47:37] later [18:48:22] archer [18:48:23] : Hm? Sorry I was picturing Whore Island. [18:49:22] archer [18:49:22] : So, thanks for nothing Carol. Now, I have to break into ISIS headquarters—in a $900 turtleneck. And if it gets ruined, I'm going to make you drink heavy cream, you ... Carol. [18:49:47] tfinc: the commit message that made this breaking change is... [18:50:00] Proved generating sqlite database path to open database without permission error [18:50:09] how very descriptive and accurate [18:50:37] useless [18:51:06] let me fix it first, can rage later [18:52:09] archer [18:52:19] ArcherBot has left the building [18:52:42] grrr, I've just vandalised it [18:53:18] preilly: pulse check on eta of work on project-specific js? [18:53:30] MaxSem: Why did you change it to GAME OVER? [18:53:41] Amgine: still no progress [18:53:59] because "MAX WAS THERE" would have been too obvious:P [18:55:09] maplebed: can you look at this file: /var/lib/gerrit2/review_site/logs/mobile.log: [18:55:17] maplebed: on that host [18:55:59] sure. [18:56:22] FixingPanda: this is the bug that i noticed last week but couldn't reproduce https://bugzilla.wikimedia.org/show_bug.cgi?id=34661 [18:56:52] tfinc: yup, but I think that can wait for 1.21 [18:56:53] *1.2 [18:57:11] sure, if its not a quick fix then it can wait [18:57:21] preilly: there is no file called 'mobile.log' in that directory. [18:57:23] sorry. [18:57:23] let me get this one out first. [18:57:41] FixingPanda: why don't you want to use "Beta" in the android market ? [18:57:54] tfinc: because my idea is [18:57:57] 1. finish one feature [18:57:58] 2. put it up [18:58:04] beta sounds a bit too 'late cycle' for that [18:58:12] This is in between a beta and a nightly [18:58:18] so i'd like to ideally call it 'experimental' [18:58:46] i don't know. people seem to have understood beta just fine over the last handful of years [18:59:13] what i don't want to happen though is [18:59:21] that we refer to it as a beta internally and something else externally [18:59:27] it has to be the same thign [18:59:35] hmmm [18:59:42] okay. Beta then. [18:59:49] Actually beta makes sense [18:59:55] since I can keep doing 'beta1', 'beta2' [19:00:00] 'experimental 1' doesn't quite work [19:00:03] nope [19:00:04] :D [19:00:05] easier for bug reporting [19:00:29] tfinc: alright, 'beta' then. Waiting on Icons from heather *and* an actual new feature before we push it out :) [19:01:00] woot. beta channel here we come [19:01:11] *nod FixingPanda [19:01:29] tfinc: we still haven't figured out 'feedback mechanism' for it [19:01:38] tfinc: the market reviews are one (they show us version too) [19:04:54] maplebed: I think it's templates/gerrit/hookconfig.py.erb [19:06:28] maplebed: so, do you think: "operations/*": "operations.log", [19:06:28] + "mobilefrontend/*": "mobile.log", [19:06:29] [19:06:32] maplebed: would work? [19:06:40] all irc bots suck [19:07:48] maplebed: https://gerrit.wikimedia.org/r/4015 [19:07:54] echo "all irc bots suck" >> mobile.log [19:08:06] maplebed: okay, cool [19:17:30] maplebed: mediawiki/extensions/MobileFrontend [19:19:33] maplebed: https://gerrit.wikimedia.org/r/4021 [19:20:48] ok, committing. [19:22:32] New review: preilly; "(no comment)" [mediawiki/extensions/MobileFrontend] (master); V: 1 C: 2; - https://gerrit.wikimedia.org/r/3960 [19:22:34] Change merged: preilly; [mediawiki/extensions/MobileFrontend] (master) - https://gerrit.wikimedia.org/r/3960 [19:22:44] tfinc: ^^ [19:23:05] maplebed: thanks, for your help... [19:23:18] you're welcome! lunch time. [19:25:08] New review: preilly; "(no comment)" [mediawiki/extensions/MobileFrontend] (history); V: 1 C: 2; - https://gerrit.wikimedia.org/r/3894 [19:25:10] Change merged: preilly; [mediawiki/extensions/MobileFrontend] (history) - https://gerrit.wikimedia.org/r/3894 [19:54:02] preilly: thanks for getting gerrit in here [19:54:08] so were getting mw->mf [19:54:18] are we also getting wikimedia mobile -> * ? [19:54:31] wait [19:54:35] i'm thinking about this wrong [19:54:50] what would it take to have a bugzilla bot in here [19:55:18] tfinc: like wikibugs? [19:55:24] yes [19:55:38] we would need it to monitor at least three areas [20:03:11] tfinc: okay, I'll look into it [20:11:04] lovely .. another budget meeting [20:11:06] * tfinc dies a little [20:50:04] http://hacks.mozilla.org/2012/03/people-of-html5-andrew-betts-on-building-the-ft-com-html5-app/ [21:19:05] tfinc: you sister is here [21:19:15] preilly: thanks. she just messaged me [21:46:08] oh, fun — localStorage to cache your JavaScript libraries [21:46:57] http://www.joezimjs.com/news/localstorage-script-caching-with-basket-js/ [21:48:27] http://addyosmani.github.com/basket.js/ [21:49:26] preilly: nice [22:02:14] tfinc: is tychay with you? [22:07:29] * FixingPanda slams self on wall [22:09:44] FixingPanda, take it easy [22:10:04] MaxSem: i've been spending the last 3 hours trying to get a fucking sqlite insert to work [22:10:09] still nothing [22:10:38] problem with sqlite or interface? [22:10:41] people who 'design' Java APIs must hate their users [22:10:57] Java is very interprisey [22:11:04] MaxSem: not sure. It tells me 'constraint failed', which is baffling because SQLite doesn't really enforce any constraints except Unique ID [22:11:05] even enterprisey [22:11:11] and the *one* row I am inserting doesn't violate that [22:11:22] nooo [22:11:27] Java is evil. [22:11:46] it also enforces NOT NULL - even stricter than that joke called MySQL [22:11:59] yes, but i did a .schema and there are no NOT NULLs [22:12:07] besides, i'm feeding it data for all three columns [22:12:15] show me your schema and query [22:12:25] String[] params = { oldData.getString(0).substring(0, 30), oldData.getString(1), oldData.getString(2) }; [22:12:26] v10Db.execSQL("INSERT INTO savedPagesDB VALUES (?, ?, ?)", params); [22:12:26] query [22:12:37] CREATE TABLE savedPagesDB (id NVARCHAR(32) UNIQUE PRIMARY KEY, value TEXT, timestamp REAL); [22:12:38] schema [22:12:57] MaxSem: even предприятие-y [22:13:13] ololo [22:13:33] Russian words aren't built this way;) [22:13:34] Java pushes old blind women down stairs while wearing an expensive suit. [22:13:53] MaxSem: I know [22:14:09] MaxSem: [https://en.m.wikipedia.org/wik, {"key":"https://en.m.wikipedia.org/wiki/Groundbreaking","title":"Groundbreaking"}, 2012-03-30T18:21:59.283Z] [22:14:19] is data for it [22:14:23] I'm assuming it doesn't enforce REAL [22:14:35] because this data is being read from another database with the exact same schema [22:14:39] (I am merging two databases) [22:16:54] SQLite has dynamic type system [22:18:50] http://techcrunch.com/2012/03/30/wikipedias-next-big-thing-wikidata-a-machine-readable-user-editable-database-funded-by-google-paul-allen-and-others/ [22:19:06] go wiki data [22:19:21] are you trying to insert "https://en.m.wikipedia.org/wik" exactly? [22:20:21] MaxSem: nope, I was trying to insert the full string, then *thought* maybe the NVARCHAR(32) constraint was being respected and throwing me the error and hence did a substr(0,30) [22:20:47] well, that's how it failed [22:21:02] first 30 chars are always the same [22:21:06] sqlite> select * from savedPagesDB; [22:21:07] https://en.m.wikipedia.org/wiki/Groundbreaking|{"key":"https://en.m.wikipedia.org/wiki/Groundbreaking","title":"Groundbreaking"}|2012-03-30T18:21:59.283Z [22:21:16] you'd notice that the first column is way more than 30 chars [22:21:20] also that's the only row in the table [22:21:21] yup [22:21:31] its type is TEXT [22:21:52] FixingPanda: when do you want to push 1.1.1 fix? [22:21:58] there's no nvarchar or other strongly typed heresy [22:22:13] MaxSem: indeed, so that create statement seems to be the work of some poor misguided soul [22:22:39] tfinc: in a few hours. That's what I'm bitching to MaxSem about, once that bit is done this should be ready to go [22:22:41] luckily, sqlite eats unknown types easily [22:22:59] k, bitch on [22:23:01] :D [22:23:25] MaxSem: i'm going to do a full wipe and try again. [22:23:26] i'm going to be driving down to LA in about an hour. back online around 10 [22:23:41] FixingPanda: but with your new powers you don't have to wait on me to push 1.1.1 [22:23:45] indeed! [22:24:07] MaxSem: i'll also note that I had to use execSQL for this, while the documentation says this: [22:24:20] void execSQL(String sql, Object[] bindArgs) [22:24:20] Execute a single SQL statement that is NOT a SELECT/INSERT/UPDATE/DELETE. [22:24:21] and that's how they made WP app 1.1.1: Rise Of Machines [22:24:37] so, the way to get that to work is to actively do what the docs tell you to not do... [22:25:37] how to repro this thing, does it fail on the first insert into the DB? [22:25:53] first and only [22:25:56] maybe you're indeed inserting duped data? [22:25:58] ah, lovely eclipse [22:26:00] An internal error occurred during: "Compute launch button tooltip". [22:26:00] java.lang.NullPointerException [22:26:19] MaxSem: i'm clearing everything out and trying again. [22:26:49] make sure the DB is actually empty [22:27:12] MaxSem: it isn't empty, it had one row [22:27:42] i cleared it and can't show you [22:27:58] but I checked to make sure that it had a different entry [22:29:03] what sqlite version it is, btw? [22:29:37] 3.x, whatever comes with android. [22:35:13] any luck? [22:35:50] MaxSem: ran into another issue, this one's fixable [22:35:58] (crashing when one of the databases doesn't exist) [22:41:12] awjr, can you look up something in error logs? [22:41:15] FixingPanda: https://play.google.com/store/apps/details?id=com.castalia.goocus [22:41:20] MaxSem sure [22:41:40] awjr, any warnings or notices in https://en.wikipedia.org/w/api.php?action=parse&page=Barack_Obama&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE [22:41:42] ? [22:42:46] tfinc: looks new and interesting [22:43:11] tfinc: seems like a social network of sorts built around wikipedia + facebook? [22:43:16] yes [22:43:20] i'm tinkering with it right now [22:43:22] spotted it on twitter [22:43:36] tfinc: thoughts? [22:43:59] slow and clunky so far [22:44:09] but i'm keen to see how it tries to make wikipedia more social [22:44:38] and of course its screen scraping :( [22:44:47] goddamn. [22:44:47] MaxSem im not sure actually - i dont know where/if i can see notices or warnings [22:44:59] fatals i can definitely see [22:45:21] and exceptions [22:46:08] Reedy, maybe you know more?^^ [22:46:16] MaxSem actually i think i found where to look [22:46:27] Waa? [22:46:37] fatalmonitor will do it in some form [22:46:47] awjrichards@fenari:/home/wikipedia/logs$ grep 'SUP_WIKIMEDIA_MOBILE' syslog/apache.log [22:46:49] returns nothing [22:47:04] yeah, it's not that log you want [22:47:08] :( [22:47:13] fatal.log appearsempty [22:47:17] *appears empty [22:47:37] tail -f /var/log/mw/fatal.log [22:47:59] Should get like [22:47:59] Method: GET [22:47:59] URL: http://oc.wikipedia.org/wiki/Calce [22:47:59] Backtrace: [22:48:04] And a nice big backtrace [22:48:45] tfinc: I now have them working partially (will work if people have not added new saved pages since they upgraded) [22:49:11] Reedy but no warnings/notices in the fatal log - are those logged anywhere? [22:49:15] tfinc: *however*, I also need to support merging, which is to make sure that if people have added new stuff since upgrading, that stays too [22:49:21] tfinc: looks like it shares searches, likes, and timelines everything (which is mostly about that legal case in Ireland against Facebook) [22:49:21] * Reedy wonders if MaxSem could have chosen a smaller article [22:49:41] FixingPanda: while i dislike their workflows suck .. their doing some fun things here [22:49:42] it's my standard bugbait [22:49:50] tfinc: like? [22:49:56] (I'll check it out once i'm out of this bug) [22:50:00] fatalmonitor will give you some stuff [22:50:38] i'd love to chat with them about their approach [22:50:50] (and get them to our API) [22:50:56] FixingPanda: yes [22:51:21] * Reedy just symlinked that fatal log into /h/w/l/fatal.log [22:51:28] that is a ginormous file [22:51:28] but we have to show everyone why migrating is a) easier in the long run b) more stable c) way more awesome for them [22:51:30] 14G! [22:51:39] tfinc: indeed. So let's migrate ours first :) [22:51:49] tfinc: however, sooner or later something we do will break them. [22:51:52] so... [22:51:58] they know that [22:52:06] and thats why were going to migrate, document, and show what the api is better [22:52:14] :) [22:52:14] but we have to lead by example there [22:52:23] indeed. [22:52:40] DamnJavaPanda: apples dictionary app screen scraped wikipedia until not so long ago... [22:52:56] nice trolling opportunity missed? :) [22:53:00] I think we broke it by enabling vector by default :D [22:53:12] Reedy: that's so un-apple, letting random people have control of content [22:53:13] I'm sure we also broke it again at somepoint.. [22:53:41] :D [22:53:43] they were heroic enough to overcome Vector with useskin=monobook [22:54:08] Tricksters [22:54:16] I believe they are switched now [22:54:31] We should enable html5 again and break even more screen scraping stuff [22:54:35] +1 [22:54:46] Reedy: also, Extension:ShortUrl [22:55:06] wait, I need to break action=parse to explode on pages other than Obama [22:56:12] should break the Wikipedia article page [22:56:23] 'yo dawg… ' [22:57:20] wah documentation is incredibly awesome [22:57:32] three methods, different names, same set of argments and same documentation [22:57:50] fuck yeah overloading [22:59:47] Reedy: did I also tell you about the fact that to actually issue an INSERT statement, you've to use a method whose documentation says: [22:59:48] Execute a single SQL statement that is NOT a SELECT/INSERT/UPDATE/DELETE. [23:00:20] That's the bestest type of documentation [23:00:39] At least you know what to use to drop tables [23:00:46] indeed [23:04:43] so, nothing in the logs? [23:06:21] MaxSem not that i can see, but im not convinced the logs i was looking in capture php notices or warnings [23:07:32] Import article to testwiki, put some debugging hax in? [23:08:04] tfinc: I've a working fix. [23:08:11] great [23:08:16] i tweeted that we were close to having one [23:08:51] tfinc: think you could test it for me? [23:08:56] sure [23:09:03] i'll likely be here for another 30mn [23:09:10] let me pull up an older phone [23:09:11] I guess it's most likely OOM [23:09:13] tfinc: let me make you two builds [23:09:17] https://test.wikipedia.org/w/api.php?action=parse&page=Barack_Obama&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE [23:09:18] a 1.0.3 [23:09:20] and a 1.1 [23:09:23] so you can test with combinations [23:09:37] i'm doing a final bit of testing before pushing it off [23:09:42] Reedy, wy there's no HTTP 500 then? [23:09:47] *why [23:10:02] No idea [23:10:18] the output suggests the api thinks it's done for whatever reason [23:10:59] Paris does the same [23:11:58] at least machine-readable formats seem to work [23:12:17] Screw humans [23:12:52] https://test.wikipedia.org/w/api.php?action=parse&page=Paris&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE [23:13:06] dies even missing 91 templates [23:13:07] lols [23:13:48] tfinc: http://dl.dropbox.com/u/8768784/Wikipedia-v1.0.3.apk is 1.0.3 [23:13:51] DamnJavaPanda: old phone is charging now [23:13:57] tfinc: http://dl.dropbox.com/u/8768784/Wikipedia-v1.1.1.apk [23:14:02] is 1.1.1 (potential fix) [23:14:09] tfinc: you can use this on your new phone, any phone as well [23:14:11] preilly: http://svn.wikimedia.org/viewvc/mediawiki/trunk/tools/gerrit-dippybird/ [23:14:14] no need for old phone [23:14:18] sure [23:14:29] send me a bit.ly link [23:14:33] tfinc: so, there are three scenarios to test [23:14:47] start iwth a clean install of 1.0.3 [23:14:50] (uninstall your old app) [23:14:54] add a few saved pages [23:15:05] then upgrade to 1.1.1 (they have same key, so will upgrade) [23:15:12] your old saved pages should automatically turn up here. [23:15:15] MaxSem: Seems to be making it through your onAPIAfterExecute [23:15:22] that's the most basic scenario. [23:15:22] uninstalling [23:15:43] second one is a tad more complicated, but essential [23:15:59] hmm, i think i should take care of that (that's recovery) [23:16:06] maplebed: https://gerrit.wikimedia.org/r/4032 [23:16:16] MaxSem: https://test.wikipedia.org/w/api.php?action=parse&page=Paris&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE [23:16:22] Big result object is big [23:16:49] tfinc: the oher thing to test for you is to uninstall them, then install just 1.1.1 [23:16:54] and make sure it starts (+ saved pages work) [23:17:14] the third case requires juggling 1.0.3, 1.1 and 1.1.1, and I think you won't be able to test that in 30mm. [23:17:20] DamnJavaPanda: bit.ly link please [23:17:24] yes [23:17:56] MaxSem: there seems to be 3 copies of the article in the result object.. [23:17:58] tfinc: 1.0.3 http://bit.ly/H4YWjR [23:18:14] or 5 even [23:18:14] tfinc: http://bit.ly/H4peH4 1.1.1 [23:18:17] Try opening the article [[list of book of Mormon people]] in the app [23:18:50] ["text"]=> string(289522) x 5 = tonnes of text [23:19:09] Notice the bottom of the template in the beginning [23:19:43] whaaatf? [23:20:22] The v d e links - they are pointless in the first place [23:20:45] And their dee [23:21:06] Their design is weird [23:21:06] maplebed: http://pastebin.mozilla.org/1547180 [23:21:34] MaxSem: yeah, your onAPIAfterExecute does something very weird [23:21:55] Reedy, that's several references to the same object in the dump [23:22:07] pfft [23:22:09] ok .. i'm no 1.0.3 now [23:22:16] tfinc: save a page [23:22:18] or a few pages [23:22:25] yes [23:22:32] Is there some CSS trick that can make them not appear in the app? [23:24:27] aharoni: possible. [23:24:37] ok .. saved three pages .. upgrading now [23:24:41] print_r is saner then [23:24:55] aharoni: one of the things we could do is have a Mobile Specific per project CSS. [23:25:02] updating now [23:25:02] aharoni: file a bug? [23:25:07] DamnJavaPanda: got plans for May 4-5? [23:25:30] aharoni: jdlrobson is the best person for this, and he'll be here Monday. [23:25:35] why am i doing 1.03 -> 1.1.1 ? [23:25:58] tfinc: so, that's one of the three scenarios - which is people upgrading from 1.0.3 to 1.1.1 [23:25:59] instead of 1.03 -> 1.1 -> 1.1.1 [23:26:04] ok [23:26:06] i'm currently testing 1.0.3 -> 1.1 -> 1.1.1 [23:26:17] i'm going to run out of time .. need to go in five min [23:26:21] * tfinc rushes to finish this [23:26:23] tfinc: okay [23:26:29] tfinc: that's why just poked you with one. [23:26:41] I'm on the phone now... Email me a reminder, I'll file it tomorrow, damnjavapanda [23:26:49] aharoni: sure! [23:27:13] aharoni: done [23:27:23] installing 1.1.1 [23:27:29] app not installed [23:27:45] maplebed: en.zero.wikipedia.org [23:27:47] tfinc: ? [23:27:50] Gnight [23:28:07] it won't let me go from 1.03 (from download) to 1.1.1 (bit.ly) [23:28:08] yup, now there's just one copy [23:28:15] maplebed: just http://en.zero.wikipedia.org/ [23:28:27] tfinc: what does it say? [23:28:40] "Application not installed" [23:28:46] ugh. very helpful. [23:28:46] thats typically a key signing error [23:28:51] as in .. mis matched keys [23:28:53] tfinc: they're both signed with my debug keys [23:29:10] 1.03 wouldn't be [23:29:16] i downloaded the one thats signed with our market key [23:29:19] it was, I just built it from a branch [23:29:21] aaaaahhhh [23:29:26] not the URL I gave you :P [23:29:27] right. [23:29:36] i saw your url for 1.1.1 [23:29:41] did you send a 1.0.3 url ? [23:29:41] i gave you two [23:29:44] my bad [23:29:50] tfinc: 1.0.3 http://bit.ly/H4YWjR [23:30:02] http://bit.ly/H4YWjR [23:30:02] [http://bit.ly/H4peH4 1 [23:30:09] tfinc: if you're out of time, i'll be able to manage this. [23:30:28] MaxSem: so the printer is only printing that [23:30:59] DamnJavaPanda: i'll do it as were driving down to LA [23:31:02] need to pack up now [23:31:03] bbiab [23:31:05] tfinc: cool [23:31:50] anyone need anything before i leave ? [23:32:23] MaxSem: https://test.wikipedia.org/w/api.php?action=parse&page=Paris&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE&prop=text&format=jsonfm [23:32:32] I think the xml printer doesn't like you [23:33:03] tfinc: should I wait for an 'ok' from you before pushing to market? [23:33:14] tfinc: or shall I push if I am convinced (after reasonable testing) that this is good? [23:33:45] https://test.wikipedia.org/w/api.php?action=parse&page=Paris&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE&prop=text&format=txtfm [23:34:09] awjr: looks like MaxSem has upset the xml printer [23:34:21] https://test.wikipedia.org/w/api.php?action=parse&page=Paris&mobileformat=html&hello=SUP_WIKIMEDIA_MOBILE&prop=text&format=xml [23:34:26] Hell, it's the xml pretty printer [23:34:40] That narrows it done a lot [23:36:26] Xml printer returns fine [23:36:32] $this->printText() gets a value.. [23:36:55] DamnJavaPanda: let me test and then you can push after [23:36:56] i'll try and sing on during the drive [23:37:10] tfinc: alight, I'll stay up then. [23:37:11] worst case we push tomorrow [23:37:14] thanks [23:38:17] MaxSem: still here? [23:38:23] evil, evil printer [23:38:29] ApiFormatBase::formatHTML() [23:38:35] at the start there is text [23:38:38] at the end, there is none [23:39:04] mmm, regexes [23:39:16] $text = preg_replace( '/\<(!--.*?--|.*?)\>/', '<\1>', $text ); [23:39:16] // identify URLs [23:39:16] $protos = wfUrlProtocolsWithoutProtRel(); [23:39:16] // This regex hacks around bug 13218 (" included in the URL) [23:39:16] $text = preg_replace( "#(($protos).*?)(")?([ \\'\"<>\n]|<|>|")#", '\\1\\3\\4', $text ); [23:39:17] // identify requests to api.php [23:39:19] $text = preg_replace( "#api\\.php\\?[^ <\n\t]+#", '\\0', $text ); [23:39:24] One of those is at fault [23:39:46] * MaxSem bets on PCRE limits [23:40:10] $text = preg_replace( '/\<(!--.*?--|.*?)\>/', '<\1>', $text ); [23:40:10] var_dump( $text ); [23:40:13] NULL [23:40:26] Line 263 [23:40:36] awjr: ^ [23:40:50] hello what? [23:40:57] Regex broke the world [23:41:04] what else is new [23:41:31] or &null; if an error occurred. [23:41:33] Fuck yeah [23:42:31] my dev wiki parses Obama for more than a minute [23:42:37] and then dies? [23:42:52] no, I killed all the limits [23:42:57] wheee [23:43:04] You're probably best taking the text, and just using a 2 line php file to run that regex [23:43:29] probably, it manages to displace everythng out of memcached several times during that time [23:44:01] yeesh [23:44:21] tbh, do you really care if htmlfm fails? ;) [23:45:10] now that I know that formatter is to blame I care less [23:45:41] It's certainly not a blocking bug :) [23:46:24] the problem is that XML sucks [23:46:31] Haha [23:46:46] What differences are there between mobile and non mobile parse in the end? [23:47:04] and whole parse output is being put into an attribute instead of a separate tag [23:47:47] so this regex tries to process almost 2 megs of tag soup [23:47:58] yeah, I saw final output [23:48:10] since most of it is just one glorious element [23:48:21] which it tries to highlight [23:48:35] Colours make everything better [23:50:11] I'm going to move from sitting on a hard floor in an uncomfortable position... [23:50:46] * tfinc downloads 103 over 3g [23:51:54] tfinc: hope you aren't driving :) [23:52:10] DamnJavaPanda: it's legal over there [23:52:11] For some reason [23:52:27] Reedy: IRCing while driving? [23:52:35] Using your phone, yeah [23:53:15] Reedy: o_O [23:53:17] really? [23:54:02] Yup [23:55:08] Well, in some cases at least [23:55:09] http://www.ghsa.org/html/stateinfo/laws/cellphone_laws.html [23:57:43] Saved some pages. Installing 1 1 1 now [23:58:28] Saved pages show up fine now [23:58:54] tfinc: :( [23:58:55] err [23:58:55] :) [23:59:06] tfinc: http://dl.dropbox.com/u/8768784/Wikipedia-v1.1.apk [23:59:11] that's 1.1 with same key [23:59:18] so you can do 1.0.3 -> 1.1 -> 1.1.1 if you want [23:59:27] it takes a different code path though, so should be tested [23:59:47] k doing that now