[00:00:47] awight: were you able to see the paypal listener patch with all the correct changes? no hurry on the tests i have plenty to do yet [00:03:54] Fundraising Sprint Octopus Untangling, Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, FR-Paypal, and 3 others: Queue consumer sometimes fails to parse string date - https://phabricator.wikimedia.org/T142417#2581036 (awight) Oops, this was vanishingly rare. ``` /a/archive... [00:04:06] Fundraising Sprint Octopus Untangling, Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, FR-Paypal, and 3 others: Queue consumer sometimes fails to parse string date - https://phabricator.wikimedia.org/T142417#2581037 (awight) Open>Resolved [00:04:39] cwd: I haven't looked at it yet, nudge me again tomorrow! [00:05:30] cool [00:08:03] This config mashup is still not gelling for me... [00:09:30] anything i can help with? [00:10:37] Let me not waste your time quite yet, maybe in a few minutes though. Unless you have more ideas! [00:12:04] nope, but happy to take a look whenever you got somethin [00:12:17] i'll bash on the listener [00:14:33] (PS1) Awight: Configuration class can be reused for other filenames [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306596 [00:23:59] (CR) Awight: WIP smashpig paypal listener (4 comments) [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) (owner: Cdentinger) [00:26:37] (PS1) AndyRussG: GeoIP: Make background lookup optional and configurable [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) [00:28:08] (CR) jenkins-bot: [V: -1] GeoIP: Make background lookup optional and configurable [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [00:29:29] (PS1) Awight: Make tests real [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306599 (https://phabricator.wikimedia.org/T141654) [00:30:05] cwd: ^ don't you want to run it like that btw? [00:30:37] (CR) jenkins-bot: [V: -1] Make tests real [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306599 (https://phabricator.wikimedia.org/T141654) (owner: Awight) [00:32:33] awight: heh i guess commenting out pieces of the test wasn't the best way to get it to pass :P [00:33:19] deviance! [00:34:57] forgot i did that...tbh i have no idea how these pieces fit together but i do think writing against the tests like this has been a good way to get familiar [00:34:57] fr-tech ^ patch for CentralNotice unbreaknow GeoIP thing... Mmmm just gotta fix tests... [00:42:11] (PS1) Awight: [WIP] Payments API for PayPal [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306601 [00:42:31] cwd: I'm only adding that so I can mock it... [00:43:14] (CR) jenkins-bot: [V: -1] [WIP] Payments API for PayPal [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306601 (owner: Awight) [00:43:42] awight: what does it do? [00:44:23] It's to be consistent with the other gateways--It encapsulates any API access to PayPal [00:44:34] The test one just returns true or false. [00:49:38] it will be the endpoint paypal hits with the message you mean? [00:52:14] Yeah. [00:52:26] Ow it hurts. I'd rather have PHPUnit do this mocking for me [00:53:14] But how to use SmashPig's dependency injection and PHPUnit mocks together :( [00:53:31] * awight beats chest and hurls spite at frameworks of all sizes [00:53:53] amen [00:54:24] i thought that one phpthewrongway point was good, php is already a web framework [00:55:00] Corporate Perl with built-in wrong ways to do anything you might want to botch [00:56:01] hehe yeah not the best web framework by any means [00:56:15] but anything you build on top compounds the badness [00:56:41] Here's a dastardly thought--use reflection to hijack Configuration::$objects, and stick the result of $this->getMock in there. [00:56:44] Sigh [00:56:52] Not much better [00:57:49] i am not really familiar enough to confirm or deny... [00:57:52] Heh I seem to recall that in the Java world mocking had improved where PHP mocking was stagnant [00:58:25] (PS5) Cdentinger: WIP smashpig paypal listener [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) [00:59:14] (CR) jenkins-bot: [V: -1] WIP smashpig paypal listener [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) (owner: Cdentinger) [01:01:06] (PS1) Awight: [WIP] Test unhappy validation path [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306603 (https://phabricator.wikimedia.org/T141654) [01:01:37] AndyRussG: There is a way... I thought you were using it in CentralNotice for some reason, but don't see it now. [01:01:53] (CR) jenkins-bot: [V: -1] [WIP] Test unhappy validation path [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306603 (https://phabricator.wikimedia.org/T141654) (owner: Awight) [01:02:05] stagnant is a generous way to put it :) [01:03:28] Gotta run for the night... making a batch of garden tools momentarily! [01:14:10] (PS1) Cdentinger: Get rid of $pathParts [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 [01:58:42] (PS2) AndyRussG: GeoIP: Make background lookup optional and configurable [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) [02:03:23] (CR) jenkins-bot: [V: -1] GeoIP: Make background lookup optional and configurable [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [02:09:16] (CR) Ejegg: WIP smashpig paypal listener (2 comments) [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) (owner: Cdentinger) [02:11:12] (CR) BBlack: [C: 1] "Looks conceptually great to me, but I'm not a good JS reviewer :)" [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [02:14:32] (CR) Ejegg: [C: -1] "Totally unused! Should also take it out of the $endpointObj->execute call in Core\Http\RequestHandler though" [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 (owner: Cdentinger) [02:15:46] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, MediaWiki-extensions-CentralNotice, Operations, and 3 others: CN: Stop using the geoiplookup HTTPS service (always use the Cookie) - https://phabricator.wikimedia.org/T143271#2581179 (AndyRussG) Here's how things work in the... [02:31:19] (PS3) AndyRussG: GeoIP: Make background lookup optional and configurable [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) [02:36:26] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, MediaWiki-extensions-CentralNotice, Operations, and 3 others: CN: Stop using the geoiplookup HTTPS service (always use the Cookie) - https://phabricator.wikimedia.org/T143271#2581207 (AndyRussG) P.S. Thanks to @Krinkle for t... [02:41:19] (CR) AndyRussG: "Thanks @BBlack... :)" [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [02:48:14] (CR) Krinkle: "(See inline comment)." (2 comments) [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [04:03:00] (CR) Faidon Liambotis: [C: -1] "A few minor comments. Moreover, shouldn't we also consider working on T102848 (Split GeoIP into a new component) while we're at it? CN wil" (4 comments) [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [05:43:35] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM, Epic: Epic: Dedupe V2: resolve top conflicts - https://phabricator.wikimedia.org/T143057#2581308 (Eileenmcnaughton) [05:44:11] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Create a way to view the history of address records (dedupe follow up task) - https://phabricator.wikimedia.org/T142549#2581311 (Eileenmcnaughton) [05:44:13] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM, Epic: Epic: Dedupe V2: resolve top conflicts - https://phabricator.wikimedia.org/T143057#2555439 (Eileenmcnaughton) [05:47:21] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Handle Conflicts on privacy fields - https://phabricator.wikimedia.org/T143856#2581327 (Eileenmcnaughton) [05:47:32] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Handle Conflicts on privacy fields - https://phabricator.wikimedia.org/T143856#2581327 (Eileenmcnaughton) a:Eileenmcnaughton [05:49:24] (PS1) Eileen: Handle Conflicts on privacy fields [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306620 (https://phabricator.wikimedia.org/T143856) [05:51:38] Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Handle Conflicts on privacy fields - https://phabricator.wikimedia.org/T143856#2581360 (Eileenmcnaughton) @DStrine I did a patch for this since I'd had a frustrating day & needed a win. You might prefer leave it out of the sprint for now though to keep... [06:12:42] Fundraising Sprint Jabberwock Slaying, Fundraising-Backlog, FR-Adyen, MediaWiki-extensions-DonationInterface, and 3 others: donatewiki and paymentswiki: We should stop falling back to Russian when looking up unavailable Ukranian messages - https://phabricator.wikimedia.org/T135254#2581370 (Ata) @... [06:20:08] Fundraising Sprint Jabberwock Slaying, Fundraising-Backlog, FR-Adyen, MediaWiki-extensions-DonationInterface, and 3 others: donatewiki and paymentswiki: We should stop falling back to Russian when looking up unavailable Ukranian messages - https://phabricator.wikimedia.org/T135254#2581372 (awight... [06:20:47] (PS19) Awight: Orphan rectification for Drush (SEE NOTES) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/300708 (https://phabricator.wikimedia.org/T141487) [07:47:27] Fundraising Sprint Jabberwock Slaying, Fundraising-Backlog, FR-Adyen, MediaWiki-extensions-DonationInterface, and 3 others: donatewiki and paymentswiki: We should stop falling back to Russian when looking up unavailable Ukranian messages - https://phabricator.wikimedia.org/T135254#2581481 (Nemo_bi... [07:48:11] I really can't understand why T96552 doesn't get prioritised, despite people caring so much about the issue. https://phabricator.wikimedia.org/T135254#2581481 [07:48:11] T96552: Add option (disabled by default) to force untranslated centralnotices - https://phabricator.wikimedia.org/T96552 [07:48:33] I can't imagine the feature being so hard to code. [12:12:01] (CR) BBlack: "@faidon: re new component - yes, but not here in this commit that we're waiting on. re old cookie format - it's possible other users of C" [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [14:07:25] (CR) Ejegg: "Third party scripts shouldn't have to care about window.Geo or mw.geoIp.doStuff(). How about having their registered function resolve with" (2 comments) [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [14:23:13] (CR) Cdentinger: "Thanks! A little creepy that the tests still pass, maybe I'll try to make coverage for that." [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 (owner: Cdentinger) [14:28:58] (CR) Ejegg: Import info from pending DB, not AMQ (2 comments) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/299938 (https://phabricator.wikimedia.org/T122641) (owner: Ejegg) [14:37:43] hi Jeff_Green! [14:38:48] hey ejegg, how's it going? [14:39:07] pretty good [14:40:59] how was the time off? [14:41:06] judging by list volume it's been a busy few days! [14:41:22] PTO was great, we did a family trip to Montreal [14:43:03] nice! [14:47:47] fundraising-tech-ops, Operations, ops-eqiad: Rack/Setup pay-lvs1001[2] - https://phabricator.wikimedia.org/T143900#2582571 (Cmjohnson) [14:48:19] fundraising-tech-ops, Operations, ops-eqiad: Rack/Setup pay-lvs1001[2] - https://phabricator.wikimedia.org/T143900#2582587 (Cmjohnson) [14:49:29] ejegg: is smashpig_http_hander.php the live index file? [14:49:57] yep! [14:50:38] fundraising-tech-ops, Operations, ops-eqiad: rack/setup berryllium replacment - https://phabricator.wikimedia.org/T143902#2582606 (Cmjohnson) [14:51:05] fundraising-tech-ops, Operations, ops-eqiad: rack/setup berryllium replacment - https://phabricator.wikimedia.org/T143902#2582619 (Cmjohnson) [14:51:06] cool, i'm gonna try to come up with a test that involves it [14:54:47] hmm, setting superglobals directly to mock the request? [14:55:07] or is there something in the symfony framework that will help? [15:00:10] fundraising-tech-ops, Operations, ops-eqiad: Rack/Setup pay-lvs1001[2] - https://phabricator.wikimedia.org/T143900#2582637 (Jgreen) @Cmjohnson let's name this pay-lvs1003 and connected it to pfw1 2/0/4 which is afaik currently connected to eth2 on pay-lvs1001 and inactive [15:13:56] not sure, but something like that [15:19:56] Fundraising-Backlog, FR-Paypal: PayPal audit issue: donation not in Civi - https://phabricator.wikimedia.org/T143903#2582696 (MBeat33) [16:13:22] Fundraising-Backlog, FR-ActiveMQ: Install redis-py on CRM server - https://phabricator.wikimedia.org/T143443#2582793 (Jgreen) Open>Resolved this is done [16:33:54] AndyRussG: meeting? [16:39:57] fundraising-tech-ops: recycle db1008 for frack virtual test cluster protoyping - https://phabricator.wikimedia.org/T140953#2582881 (Jgreen) [16:41:34] Fundraising-Backlog: Leanne Schreibstein access to lutetium and MySQL - https://phabricator.wikimedia.org/T141945#2582887 (Jgreen) p:Normal>High [16:45:54] I'd like to deploy donation interface to see how it works hookless on payments [16:46:21] any objections to trying that now? [16:47:14] fr-tech ^^? [16:47:52] No objections here [16:47:58] cool! [16:48:48] go for it [16:49:00] fundraising-tech-ops: install OS on frdb1001 - https://phabricator.wikimedia.org/T143245#2582919 (faidon) [16:50:10] (PS1) Ejegg: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306692 [16:50:53] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306692 (owner: Ejegg) [16:53:27] (Merged) jenkins-bot: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306692 (owner: Ejegg) [16:55:19] (PS1) Ejegg: Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/306693 [16:55:30] (CR) Ejegg: [C: 2] Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/306693 (owner: Ejegg) [16:58:44] (PS20) Ejegg: Orphan rectification for Drush (SEE NOTES) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/300708 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [16:59:03] (CR) Faidon Liambotis: "Agreed that most of my comments should be fixed in separate commits. Preferrably soon and before the fundraising freeze, though :/ Part of" [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/306598 (https://phabricator.wikimedia.org/T143271) (owner: AndyRussG) [16:59:06] (CR) Ejegg: [C: 2] "Yay!" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/300708 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [16:59:39] (Merged) jenkins-bot: Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/306693 (owner: Ejegg) [17:02:01] (Merged) jenkins-bot: Orphan rectification for Drush (SEE NOTES) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/300708 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [17:03:54] fr-tech: should we sync up? [17:04:07] sure be there in a few [17:04:14] Fundraising-Backlog: Leanne Schreibstein access to lutetium and MySQL - https://phabricator.wikimedia.org/T141945#2583007 (Jgreen) Open>Resolved ssh, yubikey, mysql all set up and user email sent [17:05:13] !log updated payments-wiki from a472ff0a8c62f697221d71647f4013e5c2dfcd45 to ef2f2f85461d25a3938c173d0116fa0d2dee58d1 [17:13:01] awight / cwd the new 'fr-tech-talk' hangout, or the cdentinger one? [17:13:53] ejegg: ah we are in the old one [17:14:09] k, one sec [17:24:23] Jeff_Green: you available around 4:30 Eastern? I'll have some CRM configuration changes I'd like to deploy. [17:24:29] yes [17:24:34] Erm. hold up, there's an easier way. [17:25:00] I keep forgetting that you've already extracted the settings.php into the localsettings repo. [17:25:25] me too :-) [17:25:32] Jeff_Green: ok on second thought, my wishlist is actually that the config deployment script grabs one more settings file [17:26:10] Jeff_Green: I've pushed a config repo branch awight-orphanage3, that includes a new civicrm settings file [17:26:32] dammit. OK Just ignore me [17:26:34] ? [17:26:37] ok :-) [17:26:44] I did that in vagrant, but for production I was just appending to settings.php. [17:27:13] We can apply the skim coat later... I'm good on my own for today! [17:28:12] Maybe I'll prepare a patch to the FrDeploy stuff if I'm feeling feisty. [17:34:42] (CR) Ejegg: [C: -1] "Could be really handy! But for non-SmashPig yamls, I think we need a way to point to a defaults file that's not in the SmashPig repo's bas" (1 comment) [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306596 (owner: Awight) [17:35:22] ejegg, awight|afk : any comments on this comment? https://github.com/wikimedia/wikimedia-fundraising-SmashPig/blob/master/Core/Logging/Logger.php#L27 [17:35:32] currently can't test that file cause tests init the logger too [17:40:07] (PS1) Ejegg: Update donation-interface lib [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306704 [17:42:42] (CR) jenkins-bot: [V: -1] Update donation-interface lib [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306704 (owner: Ejegg) [17:43:13] cwd i never dove in to figure out what would be so wrong there [17:44:54] Seems like a good thing to prevent... [17:45:23] You could get nasty on it and null the field using reflection, from the test [17:45:55] i'd kind of rather figure out how to not call it twice if that's bad behavior [17:46:25] It's pretty normal for tests to clear out static fields, IMO [17:46:44] * awight|afk scratches head [17:47:00] but that would mean the test nuking the logger it itself had created and replacing it with this one [17:47:07] (PS1) Ejegg: Add more dirs to composer classmap [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306705 (https://phabricator.wikimedia.org/T141487) [17:47:07] And don't we reinitialize dozens of times from tests? Donno why that ever worked. [17:47:31] (CR) Awight: [C: 2] Add more dirs to composer classmap [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306705 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [17:47:41] Thanks awight|afk ! [17:48:18] maybe teardown takes care of it? [17:49:22] (Merged) jenkins-bot: Add more dirs to composer classmap [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306705 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [17:50:59] maybe the logger documenting test behavior shouldn't be the same one the application uses? [17:51:01] (PS2) Ejegg: Update donation-interface lib [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306704 [17:51:27] Mocking the logger would be fine. [17:54:16] (CR) jenkins-bot: [V: -1] Update donation-interface lib [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306704 (owner: Ejegg) [18:05:57] (PS1) Ejegg: Enablement switch for BannerHistoryLog [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306711 (https://phabricator.wikimedia.org/T141487) [18:21:56] fr-tech that BannerHistoryLog switch is (maybe the last thing) blocking using di in crm ^^ [18:22:34] nice [18:24:21] (CR) XenoRyet: [C: 2] Enablement switch for BannerHistoryLog [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306711 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [18:24:34] thanks! [18:24:40] No worries [18:24:49] I'll make sure that's enabled in prod... [18:25:21] Yea, that would be important ;-) [18:25:49] (Merged) jenkins-bot: Enablement switch for BannerHistoryLog [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306711 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [18:54:09] (PS3) Ejegg: Update donation-interface lib [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306704 [19:29:09] it's starting to seem to me like RequestHandler is not really testable [19:29:43] nowhere to override config [19:33:38] ehh, fine to leave that for later. Plenty of testable stuff elsewhere still needs coverage! [19:34:13] fundraising-tech-ops: check_mysql icinga alerts on fdb2001 - https://phabricator.wikimedia.org/T143929#2583594 (Jgreen) [19:35:24] (PS1) Ejegg: Add settings for donation-interface library [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306730 (https://phabricator.wikimedia.org/T141487) [19:40:24] (CR) Ejegg: [C: 2] "Appears correct, and the test makes sense!" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306620 (https://phabricator.wikimedia.org/T143856) (owner: Eileen) [19:41:40] (CR) Ejegg: "Support for this in the buildkit repo: Ie5ac8f94efd5b0f" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306575 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [19:42:00] ejegg: woudln't the change i made have blown up in prod? [19:42:09] calling with the extra param [19:42:29] cwd actully, no... [19:42:57] I found a whole bunch of that same type of error in CiviCRM when I went looking [19:43:04] oh it's not a fatal? [19:43:13] nope [19:43:58] oh funny [19:44:00] (Merged) jenkins-bot: Handle Conflicts on privacy fields [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306620 (https://phabricator.wikimedia.org/T143856) (owner: Eileen) [19:44:02] welp no big deal i guess [19:44:19] there's no formal way to indicate flexible param count, is there? [19:44:54] hrm like phpdoc wise or actual code? [19:45:11] actual code [19:45:26] i guess it's implicit? doesn't seem to complain at all [19:45:26] oop, standup time [19:50:12] (PS2) Cdentinger: Get rid of $pathParts [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 [19:55:48] (CR) Ejegg: [C: 2] "Thanks!" [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 (owner: Cdentinger) [19:56:43] (Merged) jenkins-bot: Get rid of $pathParts [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306605 (owner: Cdentinger) [20:00:12] thanks ejegg [20:04:28] (PS6) Cdentinger: WIP smashpig paypal listener [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) [20:11:15] (PS2) Cdentinger: Make tests real [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306599 (https://phabricator.wikimedia.org/T141654) (owner: Awight) [20:12:02] (CR) jenkins-bot: [V: -1] Make tests real [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306599 (https://phabricator.wikimedia.org/T141654) (owner: Awight) [20:23:23] awight let's see if we can get your crm-di settings patch passing with this buildkit update https://gerrit.wikimedia.org/r/306730 [20:23:46] cos then we can write crm tests that swap out the globalcollect adapter for a testing one [20:23:58] and run most of the codepaths [20:27:43] (CR) Awight: [C: 2] Add settings for donation-interface library [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306730 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [20:28:03] awight: on another topic, it oughtta be pretty easy to quit duplicating queue config between smashpig and di, by getting rid of DonationQueue and pushing all messages via objects we get from SmashPig config [20:28:31] Good thought! [20:28:57] but yeah, having the rest of the config less duplicative would be awesome too [20:29:45] It's a pain. I'm not looking forward to introducing a new variable. [20:30:19] well, we can already use smashpig configuration everywhere [20:30:42] Sure, but that's not right for DI things, yet [20:31:21] really? the 'view' thing seems just like the gateway-specific overrides [20:32:11] Yeah totally, I agree it's a pretty good match [20:32:37] But it's not right to include any DI variables in SmashPig.yaml [20:32:50] ah yeah [20:33:17] well, everything except the UI layer should eventually end up there [20:33:31] The thing that's really causing me pain is that the DI defaults have to be repeated when we're using DI outside of MediaWIki. [20:33:51] Maybe... we should have a WmfFramework function which reads extension.json and registers the globals in there. [20:34:15] well, wouldn't even need to be WmfFramework if you only need it from outside [20:34:44] nvm, that makes the most sense as a holder for it [20:34:50] IMO it should be self-contained, unless it's a generalized extension registration utility [20:35:28] legoktm: Hey ah... Do you have any suggestions for using MediaWiki extensions outside of MediaWiki? [20:35:29] so we'd want to make sure that got called early enough that all the tests could override them [20:35:33] hi eileen ! [20:35:43] hm. [20:35:54] legoktm: We're already pretty far down that path, and... it hurts ;) [20:36:17] The current stumbling block is that we need to get the default configuration out of extension.json::Globals [20:36:24] uhh [20:36:41] (CR) Ejegg: [V: 2] Add settings for donation-interface library [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306730 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [20:36:51] Have you thought about librarizing any of the extension registration stuff by any chance? [20:37:01] no, it's pretty MW specific [20:37:12] (PS2) Ejegg: Let DI globals come from configuration files. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306575 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [20:37:30] I would suggest moving the common code into a composer-installed library [20:37:44] legoktm: +1 we're working on that but it's a long haul [20:38:29] (CR) Awight: Configuration class can be reused for other filenames (1 comment) [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/306596 (owner: Awight) [20:40:24] ejegg: I don't see any sane choice but to refactor DI's global accesses to go through a SmashPig Configuration object, which has been loaded using the DonationInterface.yaml paradigm. But it's still unclear how we should deal with extension.json::Globals [20:41:17] This is quite a rabbithole to throw into the mix. But repeating default config in many places is sure motivating. [20:41:22] *sure is [20:41:55] hmm. down the road only the mediawiki / ui layer globals will need to be there [20:42:19] so I don't know if we need to make a super-elegant solution for that [20:42:47] That's a good point--those globals are moving out of MW anyway! [20:42:55] smashpig should eventually know how to do all the fraud stuff, all the account stuff [20:43:17] it would be nice to have a simple interim solution like that WmfFramework method you were talking about [20:44:04] oh hey, guess what just got a V+2 ? [20:44:15] * awight perks up [20:44:28] I'mma see about a recurring test using TestingGlobalCollectAdapter in CRM [20:48:00] durn. RecurringGlobalcollectTest is skipped [20:48:02] I see [20:48:08] o? [20:48:30] wait, in DI CI? [20:48:43] No, in the CRM /recurring_globalcollect [20:49:06] oh cool, didn't know that existed [20:49:17] It's got some setup you might want. [20:49:18] was just copypasting the tests from DI to adapt [20:49:21] thanks! [20:49:34] thank *you*! [21:08:38] !log update paymentswiki config to 17f6ca972b8c747f90a4c407fe0747765de88623 [21:14:40] (PS1) Awight: Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306800 [21:14:56] (CR) Awight: [C: 2] Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306800 (owner: Awight) [21:15:27] (Merged) jenkins-bot: Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306800 (owner: Awight) [21:17:53] !log update CRM from 43cca607ed0d6d2f91e3f18d9df1473021b40f88 to 73b71f060ad6f76aa2256f7e452e44f383ddb4af [21:25:08] (PS1) Ejegg: Use default test filename for DO_PAYMENT success [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306802 [21:26:27] awight: captureincomingmessage tests that we can capture one and put it in redis, process tests that we can pop it off and (potentially) record a donation, right? [21:26:43] yep [21:26:51] the capture is just stuffing the raw post into a job queue [21:27:31] would it be useful to combine them, so the process one is actually popping a job that just got inserted? [21:28:08] hmm? [21:28:21] Combine the tests or the actual listener stages? [21:28:53] (PS1) Awight: Another autoload directory [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306805 [21:28:56] ejegg: ^ [21:28:57] the tests [21:29:18] So more integrationy and less unity? [21:29:34] hmm good point [21:29:36] I don't surprisingly weak prejudices about that [21:29:42] s/don't/have/ [21:29:44] ergh [21:30:40] so in the stuff that's there, the "raw" record would be a serialized class? [21:30:49] err object i mean [21:31:26] prolly just json_encoded? [21:31:36] http://www.nbcnews.com/tech/tech-news/whatsapp-will-share-user-data-including-phone-numbers-facebook-n637921 [21:32:01] oh right yeah [21:32:26] ok i understand now, thanks! [21:33:00] (PS1) Ejegg: Re-enable recurring GC tests, add more [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306806 (https://phabricator.wikimedia.org/T141487) [21:34:46] ^^ will fail, but only 'cause of the settings I put in the civicrm setup [21:35:50] (CR) jenkins-bot: [V: -1] Re-enable recurring GC tests, add more [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306806 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [21:40:48] (CR) Ejegg: [C: 2] "using gateway_forms outside of mediawiki? Aspirational!" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306805 (owner: Awight) [21:42:09] ejegg: hehe. It's for Subdivisions, apparently. (/me wtfs) [21:42:20] (Merged) jenkins-bot: Another autoload directory [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306805 (owner: Awight) [21:42:25] d'oh! [21:43:12] ah. It's used in getRequiredFields, of course :) [21:44:30] (PS1) Awight: Merge master into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306808 [21:44:39] (CR) Awight: [C: 2] Merge master into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306808 (owner: Awight) [21:44:43] (PS1) Ejegg: Stop failing tests on default country code [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306809 [21:45:42] (Merged) jenkins-bot: Merge master into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/306808 (owner: Awight) [21:46:24] (CR) Awight: [C: 2] Stop failing tests on default country code [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306809 (owner: Ejegg) [21:47:27] (PS1) Awight: Update libs [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306810 [21:47:34] (CR) Awight: [C: 2] Update libs [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306810 (owner: Awight) [21:49:12] (PS1) Awight: Update libs [wikimedia/fundraising/crm/vendor] - https://gerrit.wikimedia.org/r/306811 [21:49:25] (CR) Awight: [C: 2 V: 2] Update libs [wikimedia/fundraising/crm/vendor] - https://gerrit.wikimedia.org/r/306811 (owner: Awight) [21:50:25] (PS1) Awight: Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306812 [21:50:27] (PS1) Awight: Update vendor submodule [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306813 [21:50:35] (CR) Awight: [C: 2] Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306812 (owner: Awight) [21:50:40] (CR) Awight: [C: 2] Update vendor submodule [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306813 (owner: Awight) [21:51:29] (Merged) jenkins-bot: Update libs [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306810 (owner: Awight) [21:51:31] (Merged) jenkins-bot: Merge master into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306812 (owner: Awight) [21:51:33] (Merged) jenkins-bot: Update vendor submodule [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/306813 (owner: Awight) [21:52:12] !log update CRM from 73b71f060ad6f76aa2256f7e452e44f383ddb4af to d040549105151ccb66a464effbbd56a3e4bfbb8b [21:53:12] *YES* [21:53:19] ??? [21:53:42] does it... work? [21:54:20] (CR) Ejegg: [V: 2] Stop failing tests on default country code [wikimedia/fundraising/civicrm-buildkit] - https://gerrit.wikimedia.org/r/306809 (owner: Ejegg) [21:55:25] (CR) Ejegg: "recheck" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306806 (https://phabricator.wikimedia.org/T141487) (owner: Ejegg) [21:56:15] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Delete from the pending database when a transaction is imported into the database - https://phabricator.wikimedia.org/T143942#2584176 (awight) [21:56:19] ejegg: a bit too well :) [21:56:35] how do you mean? [21:57:17] Mostly, just that we're reprocessing even successfully completed donations [21:57:31] Happily, the GET_ORDERSTATUS detects that correctly. [21:57:38] ah, cause they're all in pending! [21:57:44] I'm also suspicious that the older_than condition might not be working [21:57:52] cos this is a *lot* of transactions [21:58:15] err, is it trying everything that's happened since we started mirroring pending? [21:58:24] 21:57:53 Status 1050 = 622 [21:58:24] 21:57:53 Status 100 = 149 [21:58:24] 21:57:53 Status 25 = 87 [21:58:24] 21:57:53 Status 99999 = 5 [21:58:24] 21:57:53 Status 600 = 3 [21:58:27] 21:57:53 Status 20 = 3 [21:58:29] Possibly ;) [21:58:52] i should configure an expiration job! [21:59:14] congratulations, tho, that's freaking awesome! [21:59:43] spare box for real staging coming up! And three redis instances obsoleted [22:01:05] And an obstacle to killing the activemq! [22:01:26] Thanks for the ton of help! [22:01:31] nice, all the DonationInterface recurring tests, plus the original skipped one, are all passing under CRM: https://gerrit.wikimedia.org/r/306806 [22:02:07] whoa [22:02:27] !!! [22:03:25] awight: did you turn off the original orphan job? [22:03:53] I will in a minute, just hoping to verify the work first [22:04:18] ah cool [22:05:44] oops, 6:00, I'mma relocate [22:14:25] Fundraising-Backlog, FR-ActiveMQ: Expire pending database entries after a day or so - https://phabricator.wikimedia.org/T143944#2584285 (awight) [22:16:53] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, FR-ActiveMQ, FR-Smashpig, MediaWiki-extensions-DonationInterface: Delete from the pending database when a transaction is failed - https://phabricator.wikimedia.org/T143945#2584307 (awight) [22:19:47] Fundraising Sprint Muggle Baiting, Fundraising Sprint Nitpicking, Fundraising Sprint Octopus Untangling, Fundraising Sprint Pretending This Isn't Happening, and 8 others: Run the orphan rectifier job from CRM Jenkins - https://phabricator.wikimedia.org/T141487#2584329 (awight) This has been deplo... [22:22:22] Fundraising-Backlog, FR-ActiveMQ: Expire pending database entries at some point - https://phabricator.wikimedia.org/T143944#2584352 (awight) [22:23:27] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, FR-ActiveMQ, FR-Smashpig, MediaWiki-extensions-DonationInterface: Delete from the pending database when a transaction is failed - https://phabricator.wikimedia.org/T143945#2584307 (Ejegg) Maybe the payments-init queue co... [22:25:05] Fundraising Sprint Pretending This Isn't Happening, Fundraising-Backlog, FR-ActiveMQ, FR-Smashpig, MediaWiki-extensions-DonationInterface: Delete from the pending database when a transaction is failed - https://phabricator.wikimedia.org/T143945#2584418 (awight) Nice reuse! [22:28:10] !log update CRM config to 9a8664c5246e7b957940eb7670f781839f462aaf [22:34:31] (CR) Ejegg: "only quibble is the .gitignore settings path assumption" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/306575 (https://phabricator.wikimedia.org/T141487) (owner: Awight) [22:34:46] i gotta head back to santa fe, back on in a bit [22:38:14] so... how many job queues should we have? [22:39:31] I'm thinking consumers that want to delete from the pending DB could queue up a DeletePendingJob to lessen the impact of race conditions [22:40:41] could even tack on a run of that queue after every run of the ConsumePendingToDb maintenance task [22:42:14] Sounds like a trap :) Another decent way to handle db lock failures is to simply retry a few times until it works [22:42:58] BTW, MBeat was just saying that a longer expiry window is better from his perspective. Donors would rather hear that their charge eventually went through, than have to try again using some other method. [22:43:40] +1 [22:43:46] awight: we don't want to retry till the pending consume job runs every time the completed consumer can't find the entry [22:44:10] oh right, that problem. [22:44:33] so the completed consumer sends a message just to kill some time? [22:44:58] or, antimessages [22:45:10] yeah, that's basically what those are... [22:46:39] It's making me a bit sad. [22:47:12] well, we have a decoupled thing that wants to write and delete - front end could queue up the DeletePendingJobs [22:50:52] ejegg: I'm coming up empty for a better way to do it [22:51:30] My immediate problem tho is that the CRM rectifier isn't respecting fraud stuff, so it's settling status 600s which failed for CVV [22:51:43] ooh, that's no good [22:51:50] we showed them fail pages [22:51:54] Yeah, creating work for MBeat [22:52:06] I'll go back to vagrant... [22:52:21] switch back to other job till we get the DeletePendingJobs in? [22:52:49] they'll run along with the Adyen job queue runner, but that shouldn't matter [22:53:24] We're okay for now, the old job is still in place and the new one isn't on a crontab yet. [22:53:33] (and marked WIP for good measure) [22:54:27] The delete jobs will take care of the bulk of this issue, but I still have to fix the hooks so e.g. MinFraud has a chance to give us new information [22:58:30] oh, that part isn't working? [22:59:09] Seems to be borken [22:59:32] Those 600s all had CVV=N, but I don't see that assigning a fraud score anywhere in the logs [22:59:39] & there's certainly no call to minfraud [23:06:03] shoot [23:08:01] I can make the right kind of orphans pretty easily, though. I'm able to mess with it on localhost for now. [23:09:43] just threw some code together [23:14:32] hmm, maybe premature to use smashpig for pushing to queue from DI [23:15:35] (PS1) Ejegg: Use DeletePendingJob [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306840 [23:15:59] I thought there was a spreadsheet somewhere of Ingenico test cards that threw certain errors... [23:16:15] that sounds fun [23:17:03] (CR) jenkins-bot: [V: -1] Use DeletePendingJob [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306840 (owner: Ejegg) [23:17:50] (PS2) Ejegg: Use DeletePendingJob [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306840 [23:18:35] Howdy all, quick note that we've got a (hopefully final!) pre-test in Japan going live in 10 minutes. I'm going to let this run perhaps 3 hours [23:19:07] good luck to all of us! [23:19:40] (CR) jenkins-bot: [V: -1] Use DeletePendingJob [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/306840 (owner: Ejegg) [23:25:08] what the heck? why isn't it using the sqlite in-memory db? [23:27:09] well, I guess i'll leave that mystery for tomorrow. Have a good night all [23:31:15] awight: should the process capture job just set the antifraud message? [23:31:26] looks like that's what the adyen one does? [23:32:42] It does a bunch of things... [23:33:04] Maybe that's not what you're asking though? [23:33:39] I don't know if we need an antifraud step--can we even do that for paypal? [23:34:11] i don't know... is it supposed to house all the logic for validating and processing a payment? [23:34:17] yeah [23:34:17] does smash pig abstract any of that? [23:34:25] no :( [23:35:11] yeah it looks like paypal doesn't set any antifraud msgs [23:35:15] so i should be copying this stuff from the Listeners repo? [23:35:35] copy in... spirit but not in letter ;) [23:35:40] yeah that's the basic workflow, though [23:36:09] It should call the validate API, then if that succeeds, build a message and route it to the correct donations queue [23:36:35] ok thanks, i should be able to figure that out [23:36:50] sorry for taking forever on this, lot of stuff i'm under-acquainted with [23:37:05] Seems like it's going fast, no worries either way though! [23:37:25] I'm monosyllabic from trying to juggle repeated config in an infinite number of places, is all [23:37:44] heh yeah that seems like a giant undertaking [23:37:48] but definitely worthwhile [23:38:03] eh, I'm not actually doing the fixing now. Just suffering throught the repetition [23:38:24] well at least it's getting looked at [23:38:36] vagrant is a completely decent place to develop paymentswiki and the crm, on the bright side. [23:39:23] yeah i agree. i think there can be a lot of cross pollination with the severely manual virtualbox cluster [23:39:39] +1 [23:39:39] and we can actually test services between hosts [23:40:13] on that note, vagrant should be provisioning an apache listener that's wired to SmashPig, lmk if that doesn't work for you [23:40:47] ah is that a recent addition? [23:40:59] nah it's so old that it might not work [23:41:01] would be cool to have tests that actually hit it with requests [23:41:19] sort of, but that's unfortunately not unit test material [23:41:48] well yeah, but depends on the unit [23:41:53] There's some silly python in a few PaymentProviders, inject.py, which will help send the message if you want [23:42:02] if it's all contained within vagrant it's not depending on external resources [23:42:28] But, like phpunit/CI would be hard pressed to integrate at that macro level [23:43:04] it might be more useful as a test for vagrant [23:43:05] I agree though, it's nice to actually send the data through. Just hard to automate with the tools we have [23:43:08] yes! [23:50:50] (PS7) Cdentinger: WIP smashpig paypal listener [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/305761 (https://phabricator.wikimedia.org/T141654) [23:52:02] awight: the "make tests real" patch should be rolled in there, sorry if anything is funky there has been some flail [23:53:16] Fundraising Sprint Muggle Baiting, Fundraising Sprint Nitpicking, Fundraising Sprint Octopus Untangling, Fundraising Sprint Pretending This Isn't Happening, and 8 others: Run the orphan rectifier job from CRM Jenkins - https://phabricator.wikimedia.org/T141487#2584646 (awight) Looks like the glit... [23:53:39] Whew! I think I found the bug I was looking for...