[00:15:37] awight: remind me - is there something in CRM that lists 'em all? We've got that hardcoded list in exchange_rates, but it doesn't includes some things like BTC [00:15:53] ejegg: I don't think a function exists yet. [00:15:58] k [00:16:06] Feel free to TODO! [00:16:58] yeah, might just add a comment and get back to astropay [00:17:48] Thanks for tossing that validation in :) [00:18:07] Sometimes it's hard to tell if we're making progress on the tech debt, or just acculturating to it [00:18:19] sure thing! Though we need to add it in the import too [00:18:38] I think there will be an exception thrown, during import. [00:18:43] INVALID_MESSAGE [00:18:57] oh, good! [00:19:06] If nothing else, there is a forex call in there which blows up if the currency is invalid. [00:19:31] ahh - what about the cryptocoins? [00:19:47] We only import BTC as USD, already converted [00:19:55] gotcha [00:20:28] well, if we're already filtering by the forex list, I might as well expose it [00:20:40] atgo (oops!): ejegg: Have you two talked about Astropay plans? [00:20:59] not today... [00:21:32] ejegg: Well, we're not filtering during manual entry. I imagine the right behavior is just to parse the USD contribution_amount. [00:21:51] hrm. if the source is empty, parse the contribution amount. [00:22:26] oh yeah, it would be nice to let 'em skip that field [00:22:34] Otherwise, parse the source field and barf red rectangles [00:22:36] yeah [00:23:00] Hey, how ambitious are you feeling about processResponse()? [00:23:12] just looking into that [00:23:20] ok, chat later then! [00:23:37] k [00:27:12] ccogdill: MBeat: It looks like the queue is fine, but fyi there is still potential for my deployment to go wrong, and the symptom would be that donors stop receiving thank-you letters. [00:27:31] okay thanks, something to look out for [00:27:34] Just so you are aware, in case anything happens over the weekend. [00:27:45] got it! [00:27:58] I'm sure your hair would have caught on fire even without my warning :) [00:45:51] (PS2) Awight: Validate source field on manual donation entry [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208019 (https://phabricator.wikimedia.org/T97685) (owner: Ejegg) [00:46:32] (CR) Awight: [C: 2] "Thank you!" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208019 (https://phabricator.wikimedia.org/T97685) (owner: Ejegg) [00:48:20] (Merged) jenkins-bot: Validate source field on manual donation entry [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208019 (https://phabricator.wikimedia.org/T97685) (owner: Ejegg) [00:51:07] (PS1) Ejegg: Don't list currencies in two places [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208051 [00:53:08] (CR) Awight: [C: 2] "Good one! And: the wolf licks the knife and he thinks he's getting a good meal, but the reality is, as with crack cocaine in our communit" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208051 (owner: Ejegg) [00:53:50] (Merged) jenkins-bot: Don't list currencies in two places [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208051 (owner: Ejegg) [00:55:00] (PS2) Awight: WIP remove unused logfile parsing code [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/207742 [00:55:33] (CR) jenkins-bot: [V: -1] WIP remove unused logfile parsing code [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/207742 (owner: Awight) [01:04:16] Fundraising Tech Backlog, MediaWiki-extensions-DonationInterface: Adjustable load balancer to direct small samples of donors to staging payments - https://phabricator.wikimedia.org/T97745#1251276 (awight) NEW [01:13:56] (PS1) Ejegg: Make sure source has a real currency, too [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208053 [01:16:18] (CR) Awight: [C: 2] Make sure source has a real currency, too [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208053 (owner: Ejegg) [01:17:03] (Merged) jenkins-bot: Make sure source has a real currency, too [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/208053 (owner: Ejegg) [01:22:02] ^ smoke-tested, fwiw [01:22:10] nice! [01:22:46] Took me a minute to remember we include vendor/autoload from (ignored) settings.php [01:22:58] Why did I think that was a good idea? [01:24:03] I think I may be to blame for that [01:24:14] luckily, it's not even in source control, for us to check :) [01:29:30] oh wow, it's getting late! [01:29:41] i'mma sign off for the night [04:55:03] (PS2) Awight: Update advanced_help and services [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/207914 (owner: Ejegg) [04:55:15] (CR) Awight: [C: 2] Update advanced_help and services [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/207914 (owner: Ejegg) [04:56:31] (Merged) jenkins-bot: Update advanced_help and services [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/207914 (owner: Ejegg) [05:03:24] Wikimedia-Fundraising, Analytics, Analytics-Kanban: Provide performant query access to banner show/hide numbers - https://phabricator.wikimedia.org/T90649#1251386 (awight) [05:34:59] (CR) Awight: bannerController call to BannerLoader: Remove unused params (1 comment) [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/206142 (owner: AndyRussG) [05:35:11] (PS4) Awight: bannerController call to BannerLoader: Remove unused params [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/206142 (owner: AndyRussG) [05:35:16] (CR) Awight: [C: 2] bannerController call to BannerLoader: Remove unused params [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/206142 (owner: AndyRussG) [05:35:33] (PS2) Awight: Update to $wgCentralSelectedBannerDispatcher [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/206467 [05:36:09] (Merged) jenkins-bot: bannerController call to BannerLoader: Remove unused params [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/206142 (owner: AndyRussG) [05:37:37] (CR) Awight: [C: 2] Delete PayflowPro [wikimedia/fundraising/PaymentsListeners] - https://gerrit.wikimedia.org/r/206339 (owner: Ejegg) [06:29:06] (CR) Awight: [C: 2] Campaign-associated mixins (21 comments) [extensions/CentralNotice] (campaign_mixins) - https://gerrit.wikimedia.org/r/202310 (https://phabricator.wikimedia.org/T90915) (owner: AndyRussG) [16:40:40] morning ejegg K4-713 [16:41:06] hello AndyRussG ! [16:41:11] :) [16:42:24] If anyone is wishing for the great pleasure of +2'ing a small urgent EducationProgram patch, I've one here: https://gerrit.wikimedia.org/r/#/c/208101/ :) [16:43:32] AndyRussG: Morning! [16:43:32] oh rly? not familiar with that codebase, but i can take a look [16:43:46] K4-713: :) [16:44:22] ejegg: thanks! [16:46:36] AndyRussG: So the format version is about that omitted false values issue, right? [16:46:58] But what's the difference between strip base and strip all? [16:47:53] ejegg: there's something called "metadata" tags that are now included in these results, if I understand correctly. Strip base takes out the ones at the root level only, and strip all takes out all of 'em [16:48:23] And you don't want any of em [16:48:30] This morning I talked to Brad (anomie) about the lack of documentation and announcements about these changes, and he sent an announcement right away [16:48:45] Nice [16:48:48] ejegg: correct. Just making it produce the same result as before [16:49:57] ejegg: thanks! .. eh and lol :) [16:50:14] 2 legit 2 quit [16:51:10] ejegg: I'm gonna take out a deploy slot for this and push it out, 'cause this is affecting user-facing features... I may call on you again to +2 some deploy branch patches, if that's OK :) thanks in advance [16:51:32] sure! [16:53:50] \o/ [16:54:32] fwiw: https://lists.wikimedia.org/pipermail/mediawiki-api-announce/2015-May/000082.html [16:56:01] P.S. Amazingly, I understood the reference! [17:06:46] ejegg: (off-topic) http://io9.com/new-test-suggests-nasas-impossible-em-drive-will-work-1701188933 [17:14:09] ah also happy May Day! [17:16:49] AndyRussG: Happy May Day to you! [17:17:15] I'm bummed I forgot to wake up before dawn to join the revelers at the maypole in Harvard Square [17:23:25] ahhh! that also sounds fun [17:23:27] http://en.wikipedia.org/wiki/Mayday_%28disambiguation%29 [17:26:08] arrrise ye workers from your slumber... [17:51:07] http://www.cbc.ca/news/canada/montreal/may-day-protests-held-against-quebec-government-cuts-1.3056851 [18:11:40] awight: this processResponse rabbit hole is deep, but definitely seems worthwhile. freeform $transaction_results array desperately needs pruning [18:11:55] woot! [18:13:12] I'll stand on the rope for you :) and you can have a http://www.stripes.com/polopoly_fs/1.66101.1273635726!/image/1596714863.jpg_gen/derivatives/landscape_804/1596714863.jpg [18:14:36] i'll need a canary [18:16:01] ok u got it. /me finds an out-of-work pigeon [18:16:42] hey, what's with the yellow paint? [18:18:52] * AndyRussG sings [18:19:11] "with a +2 here https://gerrit.wikimedia.org/r/#/c/208161/ and a +2 there https://gerrit.wikimedia.org/r/#/c/208162/ " [18:19:50] * awight runs off with a lump of coal [18:23:09] ;p [18:25:24] ejegg: awight: Though in all seroiusness... I know I should be able to +2 those ^ but I can't... so if anyone might like to do the honors... thanks in advance :) [18:27:44] AndyRussG: Do you have +2 in CentralNotice? [18:28:04] awight: yeah! in EP to, just not on branches other than master. I have to get that... [18:28:14] weird. https://gerrit.wikimedia.org/r/#/admin/groups/34,members [18:28:14] oh [18:28:14] thx BTW [18:28:15] branches [18:28:27] yeah [18:28:30] https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/EducationProgram,access [18:28:31] * AndyRussG shirks from bureaucracy [18:29:10] Sorry to be dense, but can you describe what you're doing with branching? [18:29:32] https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions,access [18:29:35] ugh [18:29:50] https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki,access [18:34:04] awight: preparing patches on deploy branches [18:34:16] About to deploy another urgent EP fix [18:35:40] awesome! [18:37:30] heh yeah... BTW I talked to Brad about the API changes and he quickly sent out an announcement [18:37:50] haha, I was wondering if there was a connection. [18:39:54] indeed there wuz [18:40:36] If I'm preparing core changes and I get an unexpected "Changes not staged for commit" when trying to commit submodule changes, is that bad? [18:40:51] https://wikitech.wikimedia.org/wiki/How_to_deploy_code#Case_1b:_extension_changes [18:41:00] Just on the last stages of updating the submodules here [18:41:01] " [18:41:05] ^ awight ejegg [18:41:35] AndyRussG: what does "git diff" say? [18:41:47] $ git diff [18:41:47] diff --git a/extensions/EducationProgram b/extensions/EducationProgram [18:41:47] index 18778cf..15d6ed2 160000 [18:41:47] --- a/extensions/EducationProgram [18:41:47] +++ b/extensions/EducationProgram [18:41:49] @@ -1 +1 @@ [18:41:50] did you git add the submodule yet, to stage the pointer bump [18:41:51] -Subproject commit 18778cfea41719196f0a18edf7b7da75048d18be [18:41:53] +Subproject commit 15d6ed29c792ab8cd69167450c3d7ed82627edf1 [18:41:58] that looks right [18:42:11] awight: well no, I didn't do that, but I never do! and the instructions don't mention it [18:44:42] ah hrm [18:44:50] sorry, that does not look right [18:45:05] yeah something's spunky [18:45:06] you want that to show up under git diff --cached to prove it's been staged [18:45:14] u need to "git add extensions/EducationProgram" [18:45:54] but... that's not what the instructions sez [18:46:25] $ git commit -m "Update MyCoolExtension" extensions/MyCoolExtension [18:46:36] that step might be staging the change... [18:46:49] yeah [18:46:55] awight: ahhh right yeah I forgot the last argument [18:47:02] * AndyRussG mayday-facepalms [18:47:03] thx! [18:47:06] it actually bypasses the staging [18:47:14] yorp [18:47:14] I prefer git add cos then you can check your work [18:47:23] k, good luck and holler if we can help! [18:47:33] awight: thx! I'll give a shout in a sec for more +2'd [18:47:36] +2's [18:51:46] awight K4-713 lunch? [18:51:52] (Abandoned) Awight: WIP Use DonationQueue in the orphan slayer [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/207740 (owner: Awight) [18:52:18] it feels like it's been ages [18:52:50] (PS6) Awight: WIP Use DonationQueue for limbo queuing [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/206312 (https://phabricator.wikimedia.org/T92922) [18:53:05] awight: https://gerrit.wikimedia.org/r/#/c/208169/ https://gerrit.wikimedia.org/r/#/c/208171/ [18:53:25] atgo: Yeah, but I need to finish a thing first. [18:53:28] er. [18:53:35] (CR) jenkins-bot: [V: -1] WIP Use DonationQueue for limbo queuing [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/206312 (https://phabricator.wikimedia.org/T92922) (owner: Awight) [18:54:54] ejegg https://gerrit.wikimedia.org/r/#/c/208169/ https://gerrit.wikimedia.org/r/#/c/208171/ [18:55:00] * AndyRussG , the pingmonster [18:55:12] AndyRussG: you can self-merge those... [18:55:37] awight: sadly Gerrit only lets me self+1 'em [18:55:42] blargh [18:55:47] do you have deploy permissions? [18:56:11] smarmy deploy permissions yes I do... sort of... arg bureacuracy [18:56:16] It's more fun to pester friends :) [18:56:35] AndyRussG: you need the "wmf-deployment" group in Gerrit, I think. Try JAlexander? [18:56:54] awight: yes u are right, apologies [18:57:25] K4-713: how long? [18:57:29] Nothing to be sorry for! I'm just nudging you over the cliff so we can use you for ever-more-harrowing FR deployments :p [18:57:57] bwahahah [18:58:04] * AndyRussG dons flying squirel wingsuit [18:58:24] harrowing indeed [18:58:32] ejegg: thanks! [18:58:51] nomnomnomnommm [18:58:52] any time [18:59:51] nomnomnommmmmm [19:00:01] COOKIEE [19:04:10] K4-713: ^ [19:07:28] ejegg: awight what's the normal command for sshing onto tin? I had it in my bash history... once... arrrg [19:07:44] AndyRussG: you need a bunch of ssh config. the commandline is just, 'ssh tin' [19:07:58] gotta go through a bastion [19:08:08] AndyRussG: ProxyCommand ssh -W %h:%p USERNAME@bast1001.wikimedia.org [19:08:21] I did, or do, have it all set up [19:08:32] probably need ssh -A tin to do useful stuff once you're there [19:08:39] AndyRussG: https://phabricator.wikimedia.org/L3 [19:08:41] erp [19:08:52] yeah -A is not cool, but apparently that's the thing we do [19:09:24] $ ssh tin [19:09:24] ssh: Could not resolve hostname tin: Name or service not known [19:09:45] AndyRussG: can you paste me your .ssh/config ? [19:10:02] You should at least have, [19:10:03] Host tin [19:10:13] ProxyCommand ssh -W %h:%p agreen@bast1001.wikimedia.org [19:13:35] Permission denied (publickey). [19:14:02] same from bast1001 if I do ssh -A tin [19:14:41] maybe that's what I did before, ssh first into bast1001, I just couldn't find the doc about that [19:14:56] awight: yeah that line for the .ssh/config did help, but still no dice... [19:15:04] I guess it's time to ping opsen [19:15:21] * AndyRussG walks over to opsens' channel [19:56:03] ejegg: awight does this sync-dir command look right to u? [19:56:03] $ sync-dir php-1.26wmf3/extensions/EducationProgram/ 'Update EducationProgram' [19:56:58] hmm, i think so, but it's been a while since I deployed on tin [20:38:52] awight, ejegg|bike: Okay, so what the heck were we talking about in standup that went way over just now? [20:39:01] Template... insanity? [20:39:03] yah [20:39:07] Right. [20:39:09] Okay. [20:39:10] So. [20:39:19] Things we need to plan for: client and server-side validation, and switching various form elements [20:39:26] and... A/B, eventually. [20:39:36] * K4-713 grimaces at the "eventually" [20:39:44] Plan now, do eventually :) [20:39:50] okay. [20:40:21] templates for keeping errant adolescents warm in cold Campridge public squares [20:40:29] I don't think we should substantially change how we're defining what ffnames are allowable to be used with what param combinations... [20:41:00] We should probably just add a layer that describes what partials that ffname pulls in. [20:41:07] Does that make with the sense? [20:41:14] Not sure what you mean by that--recent gateways are just 'astropay' and 'astropay-recurring' [20:41:22] and we would be getting rid of the latter [20:41:50] Well, we want to expand it to do everything, right? [20:41:50] Eventually? [20:41:50] yes [20:41:50] what do you want to do with the ffname? [20:41:50] And, it's going to come through the form chooser still, right? [20:41:50] yep [20:42:03] btw, ejegg is |bike [20:42:13] So, right now, ffname basically contains information about what's a sane thing for that form to try to do, and single .html file that it goes with. [20:42:13] piped through a bike... [20:42:25] That sounds unpleasant [20:42:35] wrong tool! [20:43:21] Anyway, I'm suggesting that we change as little as possible about the form chooser, and just make the thing point to a form recipe. Whether that's an array map of pieces, or what, I don't care. [20:43:25] I'm imagining, we use (gateway, payment_method, country, currency) to figure out what the form does. We could also add a/b variation stuff [20:43:35] I'd prefer to keep the form chooser stuff *really* simple [20:43:42] I don't think that's going to work, actually. [20:43:45] like, 'astropay' => array( everything it can do) [20:43:50] I'm... only half-baked on the why part. [20:43:53] But I'm getting there. [20:44:15] Or, rather, I'm getting back there. I wanted to do things that way initially, and then got wrenched around to what it is today. [20:44:28] There were reasons. [20:44:35] ...which are currently escaping me. [20:44:45] wasn't that reason, that specifying the .html file was the only way to introduce variation into the forms?? [20:44:51] Not really. [20:45:21] If you look all over in RapidHTML, there are hints that we always intended to be more... fluid about this kind of thing. [20:45:44] I remember the sensation of getting 99% to something, and then going: Oh wait. F this, it won't work. [20:47:24] Which led to a sad offsite and a total rewrite over the weekend. [20:48:37] awight: Also, that's not even true. [20:48:58] Have you looked at how the country-related partials slide in, if they exist? [20:51:37] K4-713: oh god. yes i have [20:51:53] Careful in there, though. [20:51:57] That's pretty much what we want to do with everything [20:52:27] I think that particular method of doing things is the result of some questionable thinking, and it might be contagious. :p [20:52:52] But, I only think that because debugging when one of those things is involved, can't be done without dice and chicken bones. [20:53:44] Well, I have some other ideas... For example, if it's possible to get the layout right, I'd like to have payment_method and country processed by the form controller, which will output simple booleans like "show city input", "show CPF input" [20:53:55] but... layout... [20:54:29] meh, I think it's ok. [20:54:34] I don't really see how we're going to be able to support A/B testing without the ffname persisting in some format. [20:55:02] Doesn't have to point to a single file. Could just be like "use the normal recipe" or "named one-off mutant" or whatever, internally. [20:55:28] A few things we can do. One is that the ffname will still map to a top-level template file, and it will include a stylesheet which provides all the variation. [20:55:51] Then, the form definitions would get a lot simpler... if we're only bothering to overdefine the, ah... unusual pieces. [20:56:00] yes! [20:56:29] I can see a future in which it might be possible to read a file and know what's going on. [20:56:33] In the cases where CSS won't be enough, we can have a variant= param maybe, which trips code paths that can toggle boolean visibility params or something. [20:56:36] :) [20:56:39] hold on to that vision [20:56:52] Okay. Yes. I think we wanted the same things. Just from opposite ends of the bunker. [20:57:03] ...and with that... [20:58:11] awight: still intending to have different files for different chunks like credit card picker / bank picker ? [20:58:35] That makes sense to me [20:58:51] It shouldn't really matter, it's just a sanity/encapsulation/organization thing [21:00:30] And instead of different files for each country's quirks, we map each country to a set of booleans to show/hide different fields? [21:01:01] that is my only thought so far. [21:01:22] That will all be done in the PHP controller, and we'll just feed the template a big list of booleans. [21:01:23] cool. That seems like a sane level of modularity [21:15:01] Fundraising Sprint James Brown, Fundraising Tech Backlog, Wikimedia-Fundraising-CiviCRM, Patch-For-Review: Why did TY melt down? - https://phabricator.wikimedia.org/T97685#1253522 (atgo) Ok. Changing the name back. @ejegg @k4-713 can you please make a task for whatever the followon digging was? [21:15:21] Fundraising Sprint James Brown, Fundraising Tech Backlog, Wikimedia-Fundraising-CiviCRM, Patch-For-Review: Throw error on save if the "contribution source" is not formatted correctly - https://phabricator.wikimedia.org/T97685#1253523 (atgo) [21:15:35] Fundraising Sprint James Brown, Fundraising Tech Backlog, Wikimedia-Fundraising-CiviCRM, Patch-For-Review: Throw error on save if the "contribution source" is not formatted correctly - https://phabricator.wikimedia.org/T97685#1250084 (atgo) also should this be in doing or review with those patches? ^ [21:19:33] Fundraising Sprint James Brown, Fundraising Tech Backlog, Wikimedia-Fundraising-CiviCRM, Patch-For-Review: Throw error on save if the "contribution source" is not formatted correctly - https://phabricator.wikimedia.org/T97685#1253534 (atgo) a:Ejegg [21:20:01] hmmm are we going to do a civi deploy early next week? that would be cool [21:20:21] We really should. I'd like to push the Engage patch out again, during work hours. [21:22:12] Fundraising Sprint James Brown, Fundraising Tech Backlog: MWException -> Exception - https://phabricator.wikimedia.org/T97855#1253537 (awight) NEW [21:32:36] Fundraising Sprint James Brown, Fundraising Tech Backlog: MWException -> Exception - https://phabricator.wikimedia.org/T97855#1253556 (awight) [21:48:25] (PS1) Ejegg: Push gateway_params down into data [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/208275 [21:48:27] (PS1) Ejegg: Prepare to prune $transaction_results [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/208276 [22:36:37] (PS6) Ejegg: Make resultswitcher processing slightly less funky [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/206307 (https://phabricator.wikimedia.org/T90504) [22:36:54] (CR) Ejegg: Make resultswitcher processing slightly less funky (3 comments) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/206307 (https://phabricator.wikimedia.org/T90504) (owner: Ejegg) [22:46:07] (PS2) Ejegg: Push gateway_params down into data [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/208275 [22:46:09] (PS2) Ejegg: Prepare to prune $transaction_results [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/208276 [22:46:11] (PS1) Ejegg: getResponseXX -> parseResponseXX [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/208295