[00:04:14] coreyfloyd: I'm looking at your comments on the kanban proposal. Mind if my reply simmers until tomorrow, or would you like something tonight? [00:51:25] bearND mdholloway: hey! do we share schemas with non-android platforms? [00:53:45] shoot: https://integration.wikimedia.org/ci/view/Mobile/job/browsertests-Gather-en.m.wikipedia.beta.wmflabs.org-linux-chrome-sauce/169/ [00:59:43] niedzielski: i'm not sure, but it looks like it, e.g.: https://meta.wikimedia.org/w/index.php?title=Schema:MobileWikiAppSavedPages https://github.com/wikimedia/apps-ios-wikipedia/blob/81b3e560ab56ad06cbc0e00414dbe618bcc4b622/Wikipedia/EventLogging/SavedPagesFunnel.h [01:03:18] mdholloway: thanks! i see the same revision, 10375480, in our codebase [01:03:30] the table seems to be empty in the database though [01:06:21] niedzielski: hmm, not sure why that would be. [01:06:35] niedzielski: but i haven't looked at EL lately. [01:07:47] mdholloway: i think that endpoint hardly gets hit on android because we have to manually switch it out. i will propose a change to use the test endpoint for pre-beta builds and the prod endpoint for everything else [01:08:29] niedzielski: that sounds like an excellent idea. [03:16:47] niedzielski: interesting idea. I like it. Create a Phab task for it. [03:17:48] bearND: thanks, actually it was just a couple liner so there's a small patch out there [09:06:11] hullo [11:08:03] hi phuedx [11:08:08] forgot to open irccloud [11:08:08] hey joakino [11:09:21] phuedx: how are you today [11:09:27] better thanks [11:09:31] i have had toast and water [11:10:08] hopefully you can keep it in [11:26:48] phuedx, joakino: how's it going? [11:27:01] bmansurov: alright thanks [11:28:05] hi bmansurov ! [11:52:20] phuedx: note https://phabricator.wikimedia.org/T96864 it seems like there's 7 days until they change something [11:52:33] we may need to give it priority quickly [11:52:45] idk [11:54:02] joakino: iirc mobilefrontend was patched up by anomie and me [11:54:40] joakino: i'll check out gather and document my findings [11:58:12] k thx phuedx ! [11:58:41] in gather there's the API stuff and the /models/* stuff that makes queries [11:59:13] joakino: there are 30 instances of 'continue' [11:59:16] may have to ping jdlrobson regarding the continuation work, i know he worked on it when querying collection lists and collection pages [11:59:39] phuedx: continue is good? query-continue is what is deprecated, right? [11:59:58] oh mibad [12:00:06] there are 2 instances of query-continue [12:00:11] sorry -- wrong way round lol [12:11:11] joakino: ok -- there's one query continue that needs some work [12:11:20] the other one is just "forward the parameter if it exists" [12:11:35] awesome [12:11:38] should be easy then [12:12:08] we should put it in the queue high up and communicate with bd808 and anomie about it [12:16:47] gonna take a quick break for lunch and chores [12:26:52] me too, i'm out for lunch [13:23:07] Morning phuedx jdlrobson Krinkle_ ... anyone got a sec just to confirm quickly if my understanding of the SkinMinervaDefaultModules hook and related module stuff is correct? [13:25:27] AndyRussG: i have some time, what do you need? [13:26:11] phuedx: cool thanks! I'm reorganizing the modules used by CentralNotice and there are differences in what's loaded for the desktop and mobile sites [13:26:46] In CentralNotice, we have this: [13:26:46] function onSkinMinervaDefaultModules( Skin $skin, array &$modules ) { [13:26:46] $modules[ 'centralnotice' ] = array( [13:26:46] 'ext.centralNotice.bannerController.mobiledevice', [13:26:46] 'ext.centralNotice.bannerController.mobile', [13:26:48] 'ext.centralNotice.bannerController.lib', [13:26:50] 'ext.centralNotice.bannerChoiceData', [13:26:52] ); [13:26:54] return true; [13:26:56] } [13:28:09] And I see that in the initial HTML on the mobile site, this gets translated to loading modules via a call to mw.loader.load in the head, like so: [13:28:10] mw.loader.load(["mediawiki.page.startup","mobile.head","mobile.site","ext.centralNotice.bannerController.mobiledevice","ext.centralNotice.bannerController.mobile","ext.centralNotice.bannerController.lib","ext.centralNotice.bannerChoiceData", [13:28:20] (etc.) [13:29:26] Also the module loaded for desktop from the BeforePageDisplay does not get loaded explicitly on mobile [13:30:27] So just two questions: (1) Am I correct in assuming that if I have dependencies set up correctly, I really only need to have one module added in the SkinMinervaDefaultModules hook? [13:31:57] and (2) on the mobile site, just on desktop, this base HTML is cached for a long time and so probably there's some footwork and waiting to be done to deprecate modules, as on desktop? [13:32:22] (1) yes. if you were to create a module, say 'ext.centralNotice.mobile', that depended on those four modules then you'd only need to add that one module [13:32:27] Mmmm a third question, just to confirm, the BeforePageDisplay hook doesn't get called when we're on the mobile skin? [13:32:42] (2) yes. you're going to have to wait 30 days (?) for long tail articles to catch up [13:33:00] once you've done that though, you're free to change the dependencies of the single module that you've defined :) [13:33:06] (i take it that's what you want) [13:33:17] sorry s/dependencies/composition [13:35:16] (3) it does -- we listen to it and don't return false (stop propagation) [13:36:21] back to two: there'll have to be a period where you include the single module and those four modes back to back, then, after a suitable period, you can remove the four modules [13:36:26] but that's fine [13:36:30] and it's under your contorl [13:36:32] *rol [13:36:58] K cool thanks \o/ [13:36:59] Yeah I think what I can do is just work with one of those modules, I think I can change its dependencies right away [13:36:59] since it'll be the calls to RL that respond with what the dependencies are and what really gets loaded by the calls to mw.loader.load() [13:36:59] and that itself isn't cached long [13:37:00] But the base HTML (i.e. skin) is what will have the mw.loader.load() calls to all this cruft for quite a while [13:37:02] Basically I think I'll deprecate ext.centralNotice.bannerController.lib and change the skin to only request ext.centralNotice.bannerController.mobile [13:43:40] Hi again phuedx, sorry I had some connectivity issuz! ;p [13:43:47] i noticed :D [13:44:00] The last message got of urs was "(i take it that's what you want) [13:44:00] sorry s/dependencies/composition" [13:44:10] And then I sed: [13:44:10] K cool thanks \o/ [13:44:10] Yeah I think what I can do is just work with one of those modules, I think I can change its dependencies right away [13:44:10] since it'll be the calls to RL that respond with what the dependencies are and what really gets loaded by the calls to mw.loader.load() [13:44:10] and that itself isn't cached long [13:44:11] okie [13:44:11] But the base HTML (i.e. skin) is what will have the mw.loader.load() calls to all this cruft for quite a while [13:44:13] Basically I think I'll deprecate ext.centralNotice.bannerController.lib and change the skin to only request ext.centralNotice.bannerController.mobile [13:44:15] The other stuff will be dependencies [13:44:20] (dunno if u saw any of that) [13:44:30] yeah i got that quite quickly [13:44:35] 2:35:17 PM (3) it does -- we listen to it and don't return false (stop propagation) [13:44:35] 2:36:21 PM back to two: there'll have to be a period where you include the single module and those four modes back to back, then, after a suitable period, you can remove the four modules [13:44:35] 2:36:27 PM but that's fine [13:44:35] 2:36:31 PM and it's under your contorl [13:44:35] 2:36:32 PM *rol [13:47:31] joakino: yt? [13:47:53] phuedx: ah hmm! When you say " there'll have to be a period where you include the single module and those four modes back to back, then, after a suitable period, you can remove the four modules" you mean, the four back-to-back will still be getting loaded due to the cached HTML, and after that cache is all refrehed, then I can get rid of unneeded modules entirely, right? [13:48:14] yeah, that's a much better way of putting it [13:48:39] (mine was wrong) [13:48:44] (which is why yours is better) [13:50:14] phuedx: (I understood the way you put it, so that worked! :) ) [13:52:00] phuedx: WRT BeforePageDisplay hook, if the mobile site does call it, and CentralNotice adds a module there ($out->addModules( 'ext.centralNotice.bannerController' );) why don't I see that module explicitly requested in the HTML of the mobile site? [13:53:10] (Just want to make sure how I understand all the details of this...) [13:56:09] AndyRussG: your module has a mobile target, right? ;) [13:56:24] Ah good question... mmmm [13:58:16] phuedx: no it doesn't! So that's the reason, then [13:58:40] yeah -- i've done that before and have gone down all sorts of rabbit holes chasing it [13:58:46] something to be super wary of :) [13:58:47] * AndyRussG was just about to dive headfirst into a mobile skin debug session [13:58:51] \o/ [13:58:55] been there… [13:58:59] yeah thanks for saving me from that one! [13:59:22] it's typically something that mobilefrontend devs don't have to think about [13:59:27] because it should be done by definition [13:59:32] but there are always exceptions [13:59:36] hmmmm [14:00:33] bmansurov: yt? [14:01:31] So the SkinMinervaDefaultModules isn't actually necessary to make a module available on the mobile site, no? It can just be added in another hook and have a mobile target? Or is there something else special about adding a module via the SkinMinervaDefaultModules hook? [14:01:36] phuedx: ^ [14:03:10] Heh one more question... Is there any talk ever of making device detection available in PHP, maybe in load.php as part of ResourceLoaderContext? [14:03:28] Thanks again BTW, this has been super helpful :) [14:03:58] AndyRussG: i'm not aware of it if there has been chatter -- although i think it's probably critical moving forward [14:04:15] if other teams are going to own mobile development within their vertical [14:04:19] i think it'd be a good first step [14:04:26] (there are many steps) [14:04:52] re: why skinminervadefaultmodules -- honestly, i'm not actually that sure [14:04:58] Interesting! OK, that's also good to hear [14:04:59] i'm going to have to defer to jdlrobson on that one [14:05:11] Ah OK [14:05:40] the documentation is a little sparse around these hooks [14:06:21] Yeah the mobile info available in PHP also has a CentralNotice use case, specifically improving server-side filters for which banners a user should see [14:07:01] Yea I didn't see any doc... [14:09:11] AndyRussG: for context: https://gerrit.wikimedia.org/r/#/c/63584/ [14:09:19] there's talk of control, but again, i'm not sure [14:10:11] in the case of an extension that simply wants to add a module then you have two hooks (or more) available [14:10:20] and you pick one [14:10:33] but for a skin author maybe you want everything to be kept in the skin code? [14:11:52] Hmm! Yeah skins are a part of our codebase I haven't splashed about in much [14:13:16] I guess for consistency I'll stick with adding just the needed module in the SkinMinervaDefaultModules hook [15:06:47] phuedx|SWAT: kind of back now [15:06:53] okie poke [15:07:06] do you need anything from me? [15:07:11] joakino: nope not now [15:07:16] just want you to be aware of https://phabricator.wikimedia.org/T96864 [15:07:24] i've moved it to the top of todo [15:07:32] although it might be being worked on by a volunteer [15:09:02] dbrant: would there be any objections to phabbing a remove session funnel card? [15:09:22] niedzielski: not at all [15:09:38] dbrant: gr8, thanks! [15:12:57] dbrant: i saw that "Easy" tag email this morning. is it fine to add that? [15:13:21] niedzielski: good idea [15:14:37] dbrant: can / should we delete schemas? [15:15:20] niedzielski: i don't think we can, and probably shouldn't... [15:24:41] phuedx|SWAT: awesome, that's great [15:25:07] there's an additional comment from tgr but i'm not really sure how to act on it [15:25:16] it'll have to be a judgement call at the end of the week [15:25:20] well [15:25:23] tomorrow actually [15:25:38] someone more familiar with collectionslist.js commenting on the ticket would be helpful too :) [15:28:01] phuedx|SWAT: I thought I saw some code where something like pageimages or textextracts was called with a generator and you had to make sure to iterate the generator results but not the other API results [15:28:27] but now I am unable to find it, so maybe I am imagining things, or the code was removed since [15:29:07] tgr: could you add another comment to the phab ticket and we'll keep an eye out for it [15:37:35] AndyRussG: the primary use of SkinMinervaDefaultModules is to turn off/replace modules you don't want on your page.. [15:40:19] jdlrobson: ah hmmm.... so if there's a module I _do_ want on the mobile skin, in practical terms, no difference between using that hook making it available by giving it a mobile target by ing it amobile and adding it elsewhere? [15:40:25] jdlrobson: thanks! [15:40:44] so yeh.. it was made for Flow [15:40:49] so they could hijack the talk link [15:41:02] like most things it would have been better in core. [15:41:14] jdlrobson: ah interesting [15:41:58] So if it seems more logical, I can actually just not even use that hook, I guess... [15:42:53] yeh i wouldn't use that hook unless you need to override something [15:43:01] otherwise just do it the normal way [15:43:27] I discourage using most of the custom hooks in MobileFrontend [15:43:39] jdlrobson: it's going to be awesome when we set it up and document it https://phabricator.wikimedia.org/T103692#1396709 [15:43:48] jdlrobson: I feel we're going to benefit a bunch of teams [15:44:02] joakino: oh yeh ebernhardson was asking about it yesterday :) [15:44:08] zomg [15:44:12] good news though i have it working in cron job form [15:44:24] trend setters [15:44:31] phuedx|SWAT: thought leaders [15:44:40] #thoughtleadering [15:44:40] phuedx|SWAT: how long are you goig to be swatting for [15:45:15] * joakino joins enthusiastically [15:45:16] there's nobody on that channel, bummer [15:46:00] cron job meaning it runs on new patches? [15:46:05] jdlrobson: ^ [15:46:31] jdlrobson: fantastic... :) [15:46:31] jdlrobson: and so maybe i can sneek CirrusSearch into your list of subscribed patches? ;) [15:47:08] jdlrobson: BTW I'm plowing ahead with my CN refactor, I'll let you know when there's a WIP patch or so... Sorry for not replying yet to your comment on the MW page [15:47:51] joakino: i'm coming out of swat now [15:48:07] phuedx|SWAT: what did you swat [15:48:08] I'm pretty sure I'm on track, though, apologies for coding first and explaining later.... [15:48:09] there was an error in the config change (i think) that was causing a lot of notices on live [15:48:13] the browse prototype thing [15:48:17] it works well on testwiki [15:48:32] but when synced, it started issuing notices about an undefined variable [15:48:39] we'll have to get onto the evening window [15:48:45] uooh [15:49:11] joakino: yeh i want to automate it rather than run manually [15:49:22] i'm just gonna explore the verified quickly [15:49:24] there's a reason why we call it derploying [15:49:31] cool jdlrobson [15:50:12] ebernhardson: hopefully when we have it figured it out we'll document the steps and publish to wikitech and encourage other teams to try setting it up and streamline the process [15:52:17] joakino: doesn't look too complicated, i'm sure i could setup what you have now on a labs instance. i was just hoping to avoid running it myself :P [15:53:47] ebernhardson: we all are trying to avoid that, but it's not possible now :p hopefully if the process is written out and used by several teams we can get releng to absorb it and maintain it [15:55:10] which is as it should be [15:55:15] costs a little bit more [15:55:20] but we get systems that we need [16:00:47] okie poke [16:00:48] out of swat [16:06:27] jdlrobson: yt? [16:06:41] phuedx: just catching up with my gsoc student [16:06:43] be free in 20 [16:06:48] okie [16:08:50] jdlrobson: when you're done, take a look at my comment here: https://gerrit.wikimedia.org/r/#/c/219451/5/wmf-config/mobile.php [16:19:47] phuedx, hi! just saw your comment on the spreadsheet. The difference between team an owner is: owner should be a go-to person (for questions, notifications, etc), usually belonging to the team but not necessarily. [16:20:57] mforns: okie, i understand [16:21:38] phuedx, OK :] let me know if you have other questions [16:22:43] mforns: updated [16:22:56] phuedx, cool, thanks! [16:25:11] phuedx, BTW, so these 4 schemas (MobileBetaWatchlist, MobileLeftNavbarEditCTA, MobileOperatorCode and MobileWatchlistInteraction) have been mentioned in the task as obsolete and ok to delete, would be that correct? [16:25:24] as far as i can tell, yes [16:25:35] though i would like jdlrobson or kaldari to comment on the ticket [16:25:46] phuedx, OK sure, thx [16:25:56] phuedx: mforns hey [16:26:07] yeh all those can die, I have never heard of MobileOperatorCode though [16:26:10] hi jdlrobson :] [16:26:28] seems that schema wiki page was deleted some time ago [16:26:45] jdlrobson, OK so I will mark them as OK to delete [16:27:23] phuedx: any reasons why wmgMFIsBrowseEnabled wouldn't be defined? i don't know that code well enough to provide any useful input on that comment [16:29:12] jdlrobson: could you shout that out in -operations -- i'm really not sure myself [16:29:53] phuedx: so what exactly is the issue? we are seeing notices on testwiki? [16:30:48] enwiki! [16:39:11] notices on enwiki? :o [16:55:54] tgr: were you able to replicate the image problem with vagrant? [16:55:57] it's such a pai [16:55:58] n [16:57:11] jdlrobson: not yet, but I will look into it today [16:59:25] standup? [16:59:33] joakino: jdlrobson can anyone invite me to the MW standup call? Kristen forgot to and I can't access the hangout [16:59:46] mbinder: done [16:59:52] cal invite, hangout invite, whatever [17:00:22] jdlrobson: hmm, still can't get in [17:01:23] not a huge deal, she just asked me to cover but if you guys can handle it that's fine by me, too [17:18:09] oh btw jdlrobson rmoen i sent email i think about the tick √ change on Gather. Works fine on beta labs but it's not on testwiki [17:18:22] do you guys think we could swat that at some point? [17:18:27] short break [17:18:35] joakino: :( It might have been merged after the cut [17:18:43] probably [17:18:54] what's the procedure now to get it to go to enwiki tomorrow [17:19:08] should cherry picking it just work since it is not deployed yet? [17:19:11] how does it work [17:19:17] Have we set the new guidelines we talked about for what qualifies for swat? [17:19:34] rmoen: idk what that is :p [17:19:56] joakino: its a discussion that jdlrobson, phuedx|AFK, and i had last friday [17:20:01] after standup [17:20:23] joakino: we should be avoiding swat as much as possible [17:21:13] sooo many things to do arggh [17:21:17] jdlrobson: agreed, so do we leave gather without the green checks till next thursday? we should communicate that so that any weird metrics through this week could be attributed to this [17:21:30] joakino: sadly :-/ [17:22:49] okie, cc/ phuedx|AFK ^ [17:23:38] i'm going to head out, I have some personal issues to attend to [17:24:41] jdlrobson, joakino: shoot. So since we don't know what time the branches get cut on Tuesday, we should try to have everything merged for the cut on Monday [17:24:51] Or even Friday if possible [17:27:33] joakino: phuedx|AFK dbrant bearND coreyfloyd bgerstle - would you please make updates to https://etherpad.wikimedia.org/p/Scrum-of-Scrums and https://phabricator.wikimedia.org/project/sprint/board/1109/? i'm heading into the meeting for the former in 2 minutes. i'm heading into the meeting for the latter tomorrow at 9 am sf time [17:28:54] dr0ptp4kt: added a note about iOS releasing 4.1.5 today [17:29:02] coreyfloyd: RE: SOS ^ [17:29:07] coreyfloyd: are you also updating at the wiki stuff? [17:31:09] dr0ptp4kt: added a few things for Android /cc:dbrant [17:31:51] bearND: thx! [17:32:24] bgerstle: wiki stuff? [17:32:53] release history [17:33:07] bgerstle: was going to unless you feel like it [17:33:31] coreyfloyd: if you wouldn't mind, i'm grinding away at image caching now [17:33:40] i had a minor breakthrough that should drastically simplify things [17:34:01] TL;DR; image downloader already tracks currently-running operations => use that to prevent loopback in the protocol [17:34:13] so now everything can "just use" the image controller and it "just works" [17:34:16] that's the idea, anyway [17:36:11] bgerstle:bearND thanks! joakino phuedx|AFK got anything for the scrum of scrums (https://etherpad.wikimedia.org/p/Scrum-of-Scrums) or the roadmap (https://phabricator.wikimedia.org/project/sprint/board/1109/)? [17:38:52] bgerstle: nice [17:55:45] bmansurov: thanks for the review on the edit collections overlay changes. However, you pointed out things that either were not part of the change or were in the mocks but were not scoped in the task. It is quite common for things to be in mocks but not scoped in a task. Sometimes things are broken down into other tasks. But since I do not see them, I will [17:55:45] update the card description to reflect the mocks. [17:56:09] rmoen: sounds good [17:56:37] bmansurov: going forward, I don't feel like that warrants a -1. Perhaps a separate task. As these tasks were estimated off their descriptions [17:56:56] rmoen: fair enough [18:04:59] rmoen: yeah, to paraphrase greg-g "make sure you're green on sunday" [18:09:12] phuedx: yeah [18:09:42] Supergreen [18:10:26] evergreen! [18:18:00] mdholloway: hey! i saw your note on the pencil icon on nexus 9. that's a real bummer. if there was one device i thought it would work on, it'd be that. any idea if you have some unusual configuration enabled? [18:19:06] niedzielski: i don't think so, but let me take a quick look at my settings to double-check.. [18:20:07] mdholloway: thanks! especially with the webview, that should be updated independent of the platform i thought [18:24:16] niedzielski: no active state in the genymotion nexus 9 emulator, either [18:25:42] niedzielski: wait, hold on [18:26:44] niedzielski: if i tap as quickly as i usually do, there's no state change, but if I push more heavily and leave my finger down, there is. [18:27:08] (leave my finger down for a second before releasing, that is) [18:28:28] mdholloway: does it "feel" different from the other devices? [18:28:30] niedzielski: on 4.4 i get the active state even with the quick tap [18:28:34] yep [18:29:50] niedzielski: still nothing on my API 10 phone no matter how I hit the button, but that's less of a surprise [18:30:56] mdholloway: would you say the API 22 nexus 9 genymotion emulator has the same feeling as the physical device? [18:31:36] niedzielski: yeah, i'd say so [18:32:12] niedzielski: on both, i have to leave my finger/trackpad button down longer than i would naturally if i want to see the state change [18:34:14] jdlrobson, bmansurov, rmoen: so it looks like the deployment of the browse thingemy failed due to cache invalidation of initialisesettings.php on prod machines [18:34:37] so i'd like to line up the patch to be swatted again in the evening window [18:34:43] however, i likely won't be awake then [18:34:48] can one of you own the swat? [18:36:05] phuedx: I won't be online at the swat time ;( [18:36:26] no worries :) [18:36:31] mdholloway: surprisingly, the genymotion emulator is less performant on my current linux configuration so it's harder for me to judge but i'm pretty sure i'm seeing the behavior you described. let me roll back to the beta to see how that worked [18:39:03] niedzielski: it feels like the active state just takes a hair longer on this emulator even on an old build [18:40:11] ping dr0ptp4kt [18:41:31] phuedx: i was about to ping you. lemme hit refresh on the hangout [18:41:46] phuedx: huh. still not working [18:47:22] niedzielski: how does it feel on your nexus 7? [18:48:00] mdholloway: feels fine. the nexus 9 seems to be the odd one [18:48:08] niedzielski: weird. [18:49:49] mdholloway: i'm installing the latest nightly cyanogenmod on it to see if anything changes [18:52:12] kaity: where can I see a mock-up for the media viewer? I'm trying to find out the close button color in it. Was it white or gray, do you remember? [18:53:29] phuedx: sorry, was deep in edit collection overlay. I'll be around for swat, in fact I think I'm doing swat today. ANd I could perhaps own the swat, but i'm not quite sure what it is yet. [18:54:29] jdlrobson: oops i made the same task at the same time :) [18:54:35] rmoen: emailing -- sec [18:54:37] i merged mine into yours [18:55:48] brb [18:55:53] mdholloway|afk: yeah seems to be ok [18:56:16] mdholloway|afk: i'll leave a follow up notes in the patch comments and see what folks think [18:56:37] mdholloway|afk: thanks for all the help! [18:57:41] bmansurov: the current close icon is BFBFBF [18:57:54] kaity: ok thanks [18:58:06] bmansurov: thats kinda weird, doesn't follow the shades of gray we have [18:58:30] bmansurov: lets make it a color that we have that falls close. [18:59:02] kaity: does #999 sound good? [18:59:15] I think CCC would be closer [18:59:21] bmansurov: what are the shades? [18:59:46] sorry? [19:00:03] mhurd: hey just saw the iOS update [19:00:23] mhurd: it doesn't have the latest language icon, did that not get updated before it went out? [19:00:36] bmansurov: what are the specified gray colors we use? [19:00:37] kaity: no that update's been in apple's queue for a while now [19:00:47] kaity: next one i think :) [19:01:23] kaity: 111-999, AAA-EEE, and F9F9F9 [19:01:52] bmansurov: so BBB would be closest [19:02:19] mhurd_foods: ok thanks [19:02:23] kaity: ok [19:02:27] mhurd_foods: when will it be updated? [19:03:16] kaity: after next production release is sent to apple and they get around to approving it i guess :) [19:03:48] kaity: hard to nail down exactly when both of those things will happen, but i'd guess a couple weeks? [19:04:03] kaity: i'd ping corey for more info [19:05:00] mhurd_foods: oh ok. I thought the icon would be fixed before it got merged, I didn't know we were so close to a big update [19:05:53] rmoen: https://wikitech.wikimedia.org/w/index.php?title=Deployments&oldid=167604#Week_of_June_22nd [19:07:31] kaity: ? we just updated the icon a couple days ago. the last release sent to apple was sent way before then as part of our regular release cycle. Next turn of the cycle will contain everything merged since the last time, including the icon [19:07:38] kaity: do you think we should use the same color in the reference drawer (beta)? [19:08:40] mdholloway|afk: one more question, for the api 10 device is that a regression or a preexisting issue? [19:09:21] mhurd_foods: I see. Still trying to learn how releases work. I didn't realize the language stuff was going into a release yet [19:10:18] mhurd_foods: are we able to hold features back from release until they're all done? [19:10:42] mhurd_foods: sorry you should get foods we can talk later! [19:10:43] kaity: you guys signed off on it, right? [19:12:40] mhurd_foods: yes, signed off on it a couple days ago when you showed the latest. [19:13:40] kaity: k. ya let's chat after foods [19:14:26] phuedx: got it. So what is the browse prototype. Maybe jdlrobson can help me confirm it after I swat the change ? [19:14:43] s/prototype./prototype?/ [19:15:03] rmoen: sure, so i've made two dirty test pages on testwiki, and the same pages should work on the cluster [19:15:07] sec [19:15:29] https://test.m.wikipedia.org/wiki/Alcatraz_Island and https://test.m.wikipedia.org/wiki/Golden_Gate_Bridge [19:15:44] when the change is out you should see a "Tags" section at the bottom of the page [19:16:04] note that this has already been tested on testwiki [19:16:06] but still… [19:16:26] ok [19:17:04] Sounds good [19:17:08] rmoen: here's a chat log describing what probably went wrong the first time: [19:17:13] https://www.irccloud.com/pastebin/IVtVDs8s/ [19:17:22] ^ props to bd808 [19:19:22] the change was synced to testwiki and later to enwiki and that may have caused a weird issue (maybe?) [19:20:28] phuedx: in the above text blob, I understand the part about touching InitializeSettings so the cache invalidates. But I don't really get why I shoudln't just touch that file and then sync all the changes at the same time. [19:20:57] additionally, not sure what is loading mobile.php .. do things in that dir get loaded automatically ? [19:21:15] that's required in CommonSettings.php [19:21:34] oh derp its not a new file [19:21:34] rmoen: i think that may have been the suggestion (touch n sync) [19:22:50] so the whole "touching and syncing" doing part makes sense. Just not sure what signs to look for that imply it is required. [19:23:26] I suppose a feature not working that otherwise should be is a good indication ? [19:24:16] rmoen: and a crap ton of warning spam in the fatalmonitor [19:24:26] That too [19:24:36] the symptom was "undefined variable wmgMFIsBrowseEnabled" blah in fatal monitor [19:24:41] I mean in theory, when you get the change on Tin. The timestamp is updated ? [19:24:51] theory :D [19:26:06] phuedx: despite not fully understanding, i'll have a go at it. [19:26:09] :) [19:28:09] marxarelli: undefined local variable or method `user' for # (NameError) [19:28:15] user doesn't seem to be global... [19:28:56] rmoen: you are the man [19:34:03] phuedx: doing what I can [19:37:19] jdlrobson: oh, right. i forgot that Gather isn't using mw-selenium 1.x [19:37:26] yehh just noticed that [19:37:33] uninitialized constant ArticlePage::PageObject (NameError) [19:38:06] i'll try to get it upgraded this week [19:38:29] unless you want to give it a go. the upgrade docs are fairly complete (we follow them every time we do an upgrade) [19:38:39] https://doc.wikimedia.org/rubygems/mediawiki-selenium/file.UPGRADE.html [19:46:06] will have a go [19:51:22] marxarelli: hit issues [19:53:24] jdlrobson: k. i have a 1:1 in a few but i can help out after that [19:53:25] marxarelli: https://gerrit.wikimedia.org/r/220566 [19:53:31] would be great if you could take a look [19:57:08] i'm beat [19:57:44] gonna try and get a lot of shut-eye for the morning [19:58:04] (5:00 am wake up call from harry at the moment) [19:58:08] g'night folks [19:58:30] rmoen: Adding a new var to InitializeSettings.php is the thing to watch out for. [19:58:58] oh [19:59:02] phuedx|zzZ: gn [19:59:09] If a new var gets added there is a high percentage chance that it will cause an undef var storm [19:59:24] unless the settings file is synced first [19:59:44] but that's not a fatal error [19:59:53] at least usually [20:00:50] bd808: thanks but it is still confusing. I haven't had time to look at the patch and what it does yet. Still working on other things. [20:01:15] *nod* [20:02:56] the change set added a new var and used it as a feature flag. Tyler ran a sync-dir to push it out. I'm 98% certain that the warning storm would have disappeared if InitializeSettings.php was touched and synced again to invalidate the per-MW server cache file [20:05:13] bd808: right.. so the new new var was defined inside InitializeSettings.php ? [20:05:52] Yes. Where it gets a different value based on the wiki [20:07:05] so strange.. it still doesn't make sense to me why if you actually make a change in the file and sync it the cache doesn't update the timestamp but somehow touching it does. Wouldn't the timestamp be different ? [20:07:26] s/doesn't update/doesn't notice/ [20:07:27] git preserves timestamps [20:08:06] so you can update a file on tin via git and actually get the tiemstamp to go back in time [20:08:21] which won't invalidate the cache file [20:08:29] bd808: Ok i had a hunch it was something to do with git. So if i modify a file that is tracked by git, it doesn't update the timestamp when i push it into the repo? [20:08:47] Thats so bad.. [20:08:59] i mean, in our case [20:09:05] trusting timestamps is bad :) [20:09:37] our config system is a powerful gun pointed directly at the server's foot [20:09:51] BOOOM GOT YA!!!!!! [20:10:18] bd808: i love gun / server analogies [20:10:57] I added stuff in scap that touches the InitializeSettings file on each server after the rsync when I rewrote it last year [20:11:04] bd808: I found a potential race condition when we generate the settings cache. Apparently there is no lock while it is written and a process can end up reading an half(or so) written file => fails to unserialize() error [20:11:08] this fixes the problem *most* of the time [20:11:12] er metaphor /w/e [20:11:22] hashar: yup [20:11:36] that is what can cause the stale cache sometimes too [20:12:22] locks and php worker threads aren't good friends [20:12:54] we should really be computing the expanded cache info on the deploy server and shipping it to all nodes [20:13:06] instead of letting each node figure out what to do [20:13:49] The cache being a blob of serialized PHP is gross too [20:14:05] it would be much better to have it be a PHP file that can be bytecode cached [20:16:10] niedzielski: preexisting. [20:16:34] mdholloway: thanks!! [20:20:25] bd808: I have pasted my thoughts on https://phabricator.wikimedia.org/T103744?workflow=create [20:20:59] bd808: I also though about migrating a bunch of our settings to YAML :-d, compile them on tin then push the result [20:21:07] bd808: err what you just suggested. Sorry [20:21:26] Tim cringes at the mention of yaml [20:21:36] bd808: we went with serialize() because unserialize() is faster than parsing the php iirc [20:21:38] the only word he hates more right now is Composer [20:21:46] ahah poor Tim [20:21:56] I like composer for devs [20:22:03] but for deployment / prod ... that is a nightmare [20:22:11] nothing is signed :-/ [20:22:35] unserialize() is faster than running the whole InitializeSettings fprocess but not at all faster than parsing php [20:23:18] APC cache and HHVM are way faster than unserialize() [20:24:03] ahh yeah we live in a modern world now [20:24:48] if I had some spare brain cycles I would refactor mediawiki-config a bit [20:25:01] it is hard to review changes nowadays :-( [20:25:13] nyway. I am distracting everyone. *shuts off* [20:37:41] i should probably eat.. [20:39:05] etonkovidova: hey! have some time to run smoke tests on the App Store version of the iOS app (4.1.5) w/ your device in Japanese? [20:39:29] we're seeing some crashes now that might be experienced by japanese users, perhaps others [20:41:55] bgerstle: japanese? hmm... [20:42:10] etonkovidova: might be data migration related [20:49:50] etonkovidova: scratch that, probably not navigation related [20:50:20] bgerstle: takes a lot of time to load '2015 in sports' [20:50:31] hm [20:51:16] bgerstle: to be sure - the version is 4.1.5(144) - it's in App store - right? [20:52:03] etonkovidova: yeah [20:52:12] etonkovidova: should be, at least [20:53:29] bgerstle: kk [20:53:56] etonkovidova: to be clear: i would test the version downloaded directly from the store [21:04:08] bgerstle: understood [21:16:48] etonkovidova: i'm not having any luck reproducing the crash :-( [21:17:58] bgerstle: me neither... any details about the crash? [21:18:07] it happens while navigating to articles [21:18:33] somehow we get an article w/ an empty title [21:18:40] which "shouldn't" happen [21:38:42] marxarelli: visit(ArticlePage, using_params: { article_name: article }) [21:38:54] bad URI(is not URI?): Selenium_Gather test (URI::InvalidURIError) [21:43:02] tgr: did you see my comments? [21:43:31] tgr: https://phabricator.wikimedia.org/T97704 [21:46:27] etonkovidova: any luck? [21:46:34] we're at 140 crashes already [21:48:26] bgerstle: shoot... not on my iOS 7 device [21:48:50] etonkovidova: most of the crashes we're seeing are on iOS 8, though it's probably not iOS 8 only [21:48:55] jdlrobson: even replied to them! [21:48:57] bgerstle: again - are there any more details? [21:49:18] etonkovidova: all we know is it happens after loading an article and/or scrolling it [21:49:31] it's probably not japanese-specific either [21:49:50] sorry tgr ! looking now :) [21:49:57] rmoen: are you swatting for sam today? I just saw his mail [21:50:03] yes i am [21:50:16] jdlrobson: ^ [21:50:25] ok cool rmoen i'll add a note on the email so no one gets confused [21:50:31] tgr: so yes i guess we found a bug then [21:50:36] I haven't seen the email [21:50:45] i flagged using http://localhost:8888/w/index.php/Special:ApiSandbox?useformat=desktop#action=editlist&format=json&id=119&mode=flag [21:51:03] i ran this for myself, an anonymous user, my selenium account and then the admin account [21:51:11] with the same query for all those different accounts [21:51:18] the flag got incremented but it didnt auto hide [21:51:25] i'm happy to merge as is though and iterate on this [21:51:32] jdlrobson: what was the query where hiding did not happen? [21:51:32] jdlrobson: can you advise what email ? [21:51:40] don't worry rmoen i got it [21:51:52] bd808: hey, would you be able to check something related to siteinfo? [21:51:56] i'm only worried that there was an email i didn't receive [21:52:21] yey only 7 starred emails till inbox zero (down from 25 this morning) [21:52:29] rmoen: are you getting readership mails? [21:52:49] bgerstle: well, I see slowness - and, for '2015 in sport' the previous article's ToC is displayed - but no crashes... [21:52:49] rmoen: it is [reading-wmf] Enabling the Browse prototype on enwiki [21:52:55] if you aint got it ping dr0ptp4kt [21:52:57] jdlrobson: i'm just now seeing it [21:53:00] ok cool :) [21:53:46] jdlrobson: I would have responded to the email had i saw it but Sam and I worked it out earlier in IRC [21:53:55] no worries [21:54:05] tgr: the query was the one above [21:54:07] bgerstle: I can look. what's bugging you? [21:54:14] tgr: action=editlist&format=json&id=119&mode=flag [21:54:19] 3 of those in a row from different accounts [21:54:53] bd808: is there any way to tell whether or not siteinfo responses to the iOS app could contain empty title ("*") fields? [21:56:04] we're seeing a non-trivial amount of crashes related to titles, and this *could* be one source [21:56:13] and it's one of the few things we're doing differently in this release [21:57:35] tgr: also can you give me some help with the continue query change [21:57:45] i think we are okay but i was wondering how i force it without backwards compatiblity [21:57:49] it is a case of using 'formatversion' => 2, ? [21:58:04] jdlrobson: I mean, what's the query that returned the flagged list but shouldn't have? [21:58:17] tgr: oh the query returns the flag list [21:58:21] i was just wondering about autoflagging [21:58:29] sorry, the "title" field would be "mainpage" [21:58:35] AFAIK formatversion and continuation are completely unrelated [21:58:49] it shows up in /w/api.php?action=query&list=lists&format=json&lstmode=review shows me that collection in the results [21:58:56] but is still public [21:58:59] despite 3 hides [21:59:12] bgerstle: an empty mainpage? Hmm.. let me think about that a bit [21:59:29] the commit message says "hide items with >3 unreviewed flags from public lists, unless they are approved" [21:59:37] jdlrobson: so autohiding will not affect any of the properties (permission or permission override) [21:59:57] i'm confused though - i should not be able to view the hidden collection right? [22:00:22] those reflect DB values, you want log entries when DB values change, and you don't want to get into the mess of what user to log when something is hidden due to 3 flags [22:00:46] well, the review queue is specifically for showing flagged entries [22:01:00] you need admin bits to use it [22:01:09] so there is no autoflagging? [22:01:21] it just bubbles up collections into a review queue [22:01:33] you should not see entries with 3+ flags in most API replies, except lists API with mode=hidden or review [22:02:35] tgr: i might just be misunderstanding what it does - it's likely it needs fine tuning [22:02:51] the list can be shown using /w/api.php?action=query&list=lists&format=json&lstprop=label%7Cpublic&lstids=119 [22:02:59] as it is still public [22:03:03] bgerstle: it seems unlikely as Title::newMainPage() checks for an empty response and replaces it with a Title named 'Main Page'. [22:03:09] an autoflagged collection shouldn't be visible at all until someone approves it [22:03:12] bd808: ok [22:03:18] (apart from by the one who owns it [22:03:27] that last query should not return items with 3+ flags, if it does, that's a bug [22:03:56] tgr: it does [22:03:57] :-/ [22:04:06] so bug.. [22:04:23] correction, it should not return them unless you own them [22:04:31] tgr: it returns them when i'm anon [22:04:34] I'll look into it [22:04:36] alright, i'm stumped then [22:04:38] tgr: but that's also problematic [22:04:45] since it gives me no indication it's flagged [22:04:52] i would expect gl_perm to be 'flagged' [22:04:59] perm to be flagged rather [22:05:15] jdlrobson: the list api returns the number of flags [22:05:22] unless I forgot to add that :) [22:05:48] I thought it would be less confusing if perm/perm_override matched DB values [22:06:06] but I can set perm_override to hidden for 3+ flags if you prefer that [22:06:23] I wasn't sure because flags are kind of nonpublic information [22:07:27] dbrant: bearND coreyfloyd bgerstle - kaity and i were chatting and she had a question. you guys know if there's event logging for apps toolbar taps for the wikipedia apps? i realize we can derive the info for taps on the search magnifying glass, table of contents button, and the share a fact upshare button, but do we have toolbar taps info beyond that? [22:07:56] dr0ptp4kt: i don't believe so but i'd have to check [22:07:58] jdlrobson: re: continuation, I think you'll just have to merge https://gerrit.wikimedia.org/r/#/c/160223/ to test it [22:08:03] dr0ptp4kt: i'm heading out but can get back to you sometime tomorrow [22:08:06] o/ [22:08:13] cherry-pick I mean [22:08:16] bgerstle: and if not can we? :) [22:08:17] tgr: perfect thaat's what i was looking for! :) [22:08:38] bgerstle_afk: thx. kaity ^^^^^ [22:08:41] ok so i guess i'm running it already so i think we are good ;-) [22:08:42] kaity: yeah, just need to go through the rigamarole of adding a new EL schema [22:24:25] dr0ptp4kt: kaity: we've got separate schemas for a few individual parts of the toolbar: search, ToC, save page, share (subtract the shares through text highlights). Yes, like bgerstle said, we can add more schemas if you know what you want to measure and how to analyze it. [22:24:44] bearND: awesome [22:24:45] dr0ptp4kt: kaity: Things that are not covered yet: taps on nav drawer (hamburger icon), but one has to be careful since a user can open the nav drawer on Android also by dragging from the left edge (do you want to count this as well?). Another thing that's not covered are a few items in the overflow menu: read in other languages, find in page. [22:25:29] bearND: those would be great to have too [22:25:58] dr0ptp4kt: kaity: so to summarize if we add another schema there might be some overlap with existing EL. It really boils down to what you want to measure and why. [22:26:39] bearND: if we restructure the navigation we want to have baseline engagement numbers and then see if they change [22:27:29] bearND: how does engagement with these compare now? search, ToC, save page, share [22:29:48] kaity: I don't know. I haven't really analyzed EL data. That's usually up to the PO. I did add some Limn graphs a long time ago but that was for editing. [22:59:20] tgr: on the flagging stuff. [22:59:45] so the end goal should be if my collection get 3 flags i get a notification saying it's been flagged for review. The status should reflect that e.g. 'flagged' [22:59:58] it should be hidden at this point from everyone except me [23:00:14] then admin comes along and approves it, i get a notification saying that my collection is public again [23:00:16] and it's public again [23:00:26] and if I view it it says "public" [23:00:36] should i merge what you've done so far? and we can iterate off of it ? [23:06:50] jdlrobson: let me have a look at the visibility bug [23:07:04] the status/notification thing should probably be a followup task [23:15:28] marxarelli: would love to hear your thoughts on https://gerrit.wikimedia.org/r/#/c/220566/ [23:15:33] keen to get that work wrapped up [23:16:05] jdlrobson: sure. do you have the full backtrace? [23:17:40] jdlrobson: I have trouble reproducing, could you maybe share the DB record for that list? [23:17:49] tgr: sure [23:19:11] jdlrobson: synced changes. Can you help me confirm browse experiement ? [23:19:33] also, could you check the debug output? [23:19:48] https://www.irccloud.com/pastebin/Q8wDAEbs/ [23:19:58] ^ tgr [23:20:08] if you use vagrant you can tail -fn0 /vagrant/logs/mediawiki-mobilewiki-debug.log and then resend the API query [23:20:29] wait wrong one.. [23:20:56] so, i have a task to add "Couldn't find what you were looking for? Give us your feedback" to mobile search results (not Special:Search, but the in-page shown from search bar). see https://phabricator.wikimedia.org/T102895 (scroll down for mockups). any particular suggestions so you don't all immediatly -2 the change? :) [23:22:02] rmoen: i can try... [23:22:11] yeah i have no idea what to look for [23:22:24] ebernhardson: when are you doing this? It would be great to sync with phuedx|zzZ tomorrow and jonkatz as i suspect you'll need support from us [23:22:33] rmoen: do you have the bug handy? [23:22:40] jdlrobson: i was starting to poke at it now, but i can delay until tomorrow [23:22:46] https://phabricator.wikimedia.org/T101155 [23:23:16] rmoen: so i assume this means it is working https://en.m.wikipedia.org/wiki/Special:TopicTag/American_TV_dramas [23:23:19] https://en.m.wikipedia.org/wiki/Special:TopicTag/American_TV_dramas [23:23:22] yeah was just there ^ [23:23:38] and tag shows at bottom of http://en.m.wikipedia.org/wiki/Alcatraz_Island [23:23:40] so yeh we're good [23:23:45] Perfect [23:23:47] thanks jdlrobson [23:25:55] i was sorta nervous about the timestamp thing. But I checked and both files timestamps were updated [23:26:11] no errors/warnings on the cluster so we're good