[02:33:33] Fundraising-Backlog, fundraising-tech-ops, Epic: switch fundraising database replication from 'mixed' to 'row' - https://phabricator.wikimedia.org/T183140 (Jgreen) [02:33:36] Fundraising-Backlog, fundraising-tech-ops: add primary keys or unique indexes to fundraising civicrm/drupal/pgehres database tables - https://phabricator.wikimedia.org/T176631 (Jgreen) Open>Resolved this is done [02:34:13] Fundraising-Backlog, fundraising-tech-ops: add primary keys or unique indexes to fundraising civicrm/drupal/pgehres database tables - https://phabricator.wikimedia.org/T176631 (Eileenmcnaughton) woot [06:33:41] Fundraising-Backlog, fundraising-tech-ops, Epic: fundraising database improvements for 2018 - https://phabricator.wikimedia.org/T183138 (Jgreen) [06:33:43] Fundraising-Backlog, fundraising-tech-ops, Epic: switch fundraising database replication from 'mixed' to 'row' - https://phabricator.wikimedia.org/T183140 (Jgreen) Open>Resolved this is done [06:34:00] fundraising-tech-ops: encrypt fundraising mariadb replication - https://phabricator.wikimedia.org/T170320 (Jgreen) Open>Resolved this is done [06:45:35] Fundraising-Backlog, fundraising-tech-ops, Epic: work around and report bug in mariadb.org 10.0.36+maria-1~jessie /etc/init.d/mysql - https://phabricator.wikimedia.org/T201898 (Jgreen) p:Triage>High [14:40:39] Fundraising Sprint Naming Sprints Is Not Important, Fundraising Sprint Owls, Fundraising Sprint Pluto is still a planet, Fundraising-Backlog, Patch-For-Review: Investigate why Ingenico donation did not recur on 6/14 - https://phabricator.wikimedia.org/T199331 (MBeat33) Hi @Ejegg For Ingenico... [14:56:51] Fundraising Sprint Naming Sprints Is Not Important, Fundraising Sprint Owls, Fundraising Sprint Pluto is still a planet, Fundraising-Backlog, Patch-For-Review: Investigate why Ingenico donation did not recur on 6/14 - https://phabricator.wikimedia.org/T199331 (MBeat33) Also, the recurring don... [15:17:17] hey hey AndyRussG :) [15:26:40] (CR) Mepps: Fix mobile orientation of radio buttons on payments.wiki opt-in (1 comment) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [15:32:59] jgleeson: hi! :) [15:33:09] ejegg fr-tech morningsies! :) [15:43:29] morning AndyRussG :) [15:44:03] hi AndyRussG ! [15:44:05] and jgleeson [15:54:18] ;) [17:16:02] hmmm I lost meet fr-tech [17:29:26] saurabhbatra: hi! Anything I can do to help w/ the final sprint? [17:32:44] hi awight! [17:33:04] the deadline's past, so i'm not in a hurry [17:33:23] will start work in an hour or so, just completing doc. and working on that blog [17:35:38] aww okay, hopefully you got some sleep. [17:49:45] dstrine: just a heads-up, talking with ejegg and jgleeson, we're thinking of turning on the new Kafka pipeline on CentralNotice at 1% sampling across the board [17:50:03] that'll get us some better data to work with [17:50:15] the idea would be to deploy that change today, ahead of tomorrows tests [17:50:30] fr-online wouldn't have to do anything different, just keep an eye out for anything odd [18:02:09] !log re-enabled CiviCRM Omnimail import jobs [18:02:13] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [18:21:58] (PS1) Jgleeson: 2d33a7a build: Adding MinusX 69dd4fe build: Updating mediawiki/mediawiki-codesniffer to 19.0.0 479991f build: Re-enable MediaWiki.Usage.ForbiddenFunctions.join d07c534 build: Re-enable MediaWiki.Usage.ForbiddenFunctions.key_exists b5666c4 Update Minfraud UserId to AccountId 915c10b Localisation updates from https://translatewiki.net. 2f31f8a Localisation updates from https://translatewiki.net. d6c111f Localisa [18:21:59] from https://translatewiki.net. 619b657 Updated behaviour for FinalStatus::CANCELLED to match FinalStatus::FAILED [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 [18:25:17] (CR) Jgleeson: [C: 2] 2d33a7a build: Adding MinusX 69dd4fe build: Updating mediawiki/mediawiki-codesniffer to 19.0.0 479991f build: Re-enable MediaWiki.Usage.Forb [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 (owner: Jgleeson) [18:25:20] (CR) Ejegg: [C: 2] 2d33a7a build: Adding MinusX 69dd4fe build: Updating mediawiki/mediawiki-codesniffer to 19.0.0 479991f build: Re-enable MediaWiki.Usage.Forb [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 (owner: Jgleeson) [18:27:27] (PS2) Jgleeson: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 [18:27:43] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 (owner: Jgleeson) [19:06:03] (CR) XenoRyet: Fix mobile orientation of radio buttons on payments.wiki opt-in (1 comment) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [19:14:50] (PS1) Jgleeson: Updated DonationInterface submodule to latest [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452742 [19:15:41] (CR) Jgleeson: [V: 2 C: 2] Updated DonationInterface submodule to latest [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452742 (owner: Jgleeson) [19:18:05] (CR) Ejegg: "Mind adding 'cursor:pointer' to the label while you're at it? Got a request for that on T199278." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [19:30:24] awight: https://github.com/saurabhbatra96/wmf-fd-api#request-definition [19:30:32] this looks better than before! [19:36:17] (CR) Mepps: "I'm testing in Safari on my iphone. How about you? We might need something different depending on browser." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [19:50:15] saurabhbatra: oh very cool! [19:50:56] You really hit the marks with that, it looks completely usable… [19:52:07] haha, json for documenting an api request is pretty crap to start with tbh [19:52:58] illegible to say the least, idk why i chose that in the first place [19:53:28] eh it was a cool idea, it just didn’t look right [19:56:00] working on the blog rn [19:56:03] For long-term interest, we’re using Swagger to document ORES: https://github.com/wiki-ai/ores/blob/master/ores/wsgi/templates/v3_swagger.json [19:56:22] IMO it’s a lot of overhead to write, but good to see a systematic approach [19:58:09] cool! we can sw if we start adding more resources/methods to our API [20:00:34] There might be something lighter-weight recently… [20:02:09] awight: off-topic but we had a convo regarding why is microsoft buying github (and investing in other open source effort) [20:02:51] yes it was good to hear your optimistic perspective ;-) [20:02:52] i found a blog which kinda explains things and also gives a bigger picture - https://medium.com/@johnmark/why-open-source-failed-6cae5d6a9f6 [20:03:41] tl;dr they earn more off of open source software than open source earns [20:04:01] Cool I’ll read, thanks! [20:07:22] provocative title [20:07:26] interesting perspective [20:08:26] cwd: agreed! [20:08:55] i think you can pretty much universally say: where there is a thing, there is a bunch of asshole monetizing it [20:08:59] floss is no different [20:09:11] lol :-) [20:09:23] back in a bit, gonna walk the wog [20:10:22] GPL is somewhat resilient [20:11:25] cwd: imho it's not all bad, a lot of great stuff comes from open source collaborations with prop. firms [20:11:29] ex - kubernetes [20:12:46] but you could argue kubernetes is just a poster boy for google's cloud platform... [20:12:56] the open source bits are like the cockroaches that will survive the next big tech crash [20:13:16] interesting analogy :-) [20:16:48] Then there is other open source like Gerrit, which are equivalent to leaving poisoned catfood in the alleyway [20:16:51] I don't agree with that line [20:16:53] Using or developing more open source software is not going to improve anyone’s lives [20:20:19] I'm also sceptical of the suggestion that individual developers should challenge their own employers patent laws. Capitalism as a system has evolved to protect monopolies and patents/copyrights/others are government enforcement of this. It's a much bigger fight [20:21:01] :) But questioning my employers has been working out really really well for my career. [20:21:06] not. [20:24:17] I don't read that passage as suggesting organised protest or collective action, and if it suggests that, I don't think it makes sense to blame the victims of capitalism for patent law [20:24:36] (Merged) jenkins-bot: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452728 (owner: Jgleeson) [20:24:48] this is also a problem, > It was about the democratization of software and would smash what we then called the “digital divide”. That premise was entirely false. [20:25:27] FLOSS actually allowed amateur developers access to what are often the best tools in the industry, which certainly is democratizing [20:25:39] It just didn’t change captialist power relations [20:27:09] On that, I completely agree. Even beyond MIT vs. gnu, I’m convinced that if corporations have e.g. 100x more power and resources than anyone else, then they can accomplish that much more with open-source data and tools. [20:27:15] "anybody can use this, but if you have the money to employee smart people - you can use it better than most people can and make prop. software off of it" [20:27:22] c.f. processing all of Wikipedia into an AI brain to sell more ads [20:27:45] saurabhbatra: +1, I should keep reading ;-) [20:27:54] (PS1) D3r1ck01: Fix common typo in DonationInterface extension [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/452754 (https://phabricator.wikimedia.org/T201491) [20:28:12] It’s time to demand better. It’s time to demand fairer markets as regulated by governments. [20:28:25] jgleeson: u have my vote [20:28:36] jgleeson: agreed, but it's a lofty goal [20:28:59] I pasted that from the article, I didn't write that. Agreed, it's very lofty and levels above what he is linking it to [20:29:15] i'm pretty sure USA is headed in the opposite direction of that as fast as possible [20:29:21] you could replace that with, "we need utopia, and then that will fix it" [20:29:44] here's hoping USA's trajectory is not indicative of the rest of the world anymore [20:30:03] to be fair, socialism failed pretty hard and there is no alternative to capitalism rn [20:30:19] re - USA's trajectory [20:30:52] ah man [20:30:58] :-( [20:31:25] From what I’ve read, socialism, corporatism/fascism and (monopoly) capitalism all took a similar turn in the 1930s and what we have now are mostly hybrids in which governments play a large role in economic planning, and corporations a large role in determining public policy [20:31:33] it’s all fascism, essentially [20:31:40] I guess if you call what happened in the soviet union, china or cuba socalism, then yeah it failed [20:32:03] although they to me, and by the dictionary definition, are not socialist states [20:32:15] they are state-capitalist states [20:32:15] afaict scandanavia is the only place where they are doing it kind of right [20:32:22] and maybe canada [20:32:50] cold teaches humility [20:32:51] India's no better. I read somewhere - around 50 mil. people were pushed into poverty in 2017 due to an absence of a proper healthcare system. [20:32:58] policy* [20:33:46] jgleeson: hmm, i concur [20:33:57] socialism is fundamentally about workers owning the means of production, and that predates marx. Somehow tyrants like Stalin declared that they had implemented socialism, for purely political mean, and the world takes it for granted [20:34:35] although it you look at the history of the USSR, they disbanded workers councils as soon as they got into power [20:35:45] but when the two biggest propaganda agencies in the world agree on something, even for different reasons, it's hard to convince otherwise. [20:36:54] saurabhbatra, good read though [20:36:56] agreed, i'm a firm sceptic of "news" as well [20:38:12] it's sad how so many people believe the "news" and never think that the reporting agencies might have an interest in how it affects their thinking [20:39:13] but that is a huge discussion for some other time... [20:39:21] lol [20:39:24] * awight outs self. In my youth, I worked for a company that replaced the satellite feed for Reuters (wire service like the AP). One night I accidentally poked into feed content, and it actually was from 1984. [20:39:59] The freaking stories would start out reading as if a real human had written them, interesting, full of problematization and good takes [20:40:10] They would go through 2 or 3 rounds of *anonymous* editor review [20:40:13] the pictures would chagne [20:40:30] the stories would change, and by the end they would be like the rest of the pablum that oozes out of such services [20:41:06] saurabhbatra, it's good to have the discussion, part of the sad thing for me is how rare political discourse is. If people had the energy and were less distracted by mass marketing there would be a hell of a lot more of it, and that would make a HUGE difference [20:41:14] Apparently this has been a thing since the Spanish Civil War [20:41:35] and i thought Reuters was still a cut above the rest :-( [20:41:38] jgleeson: also if we had to engage with any type of direct democracy [20:41:57] such as make actual decisions rather than elect with a +1 people who make the decisions [20:42:28] i make it a point to keep notes of stuff like this, i'll keep sharing if you guys like it [20:42:47] saurabhbatra: hehe during that 1-year stint, they came and hand-delivered an internal company magazine that literally said “We’re no longer run by the CIA, and as proof the people you figured out work for the CIA are leaving, kthx bye” [20:43:01] LOL [20:43:05] haha #workers-channel [20:43:49] lol [20:44:12] (CR) XenoRyet: "Firefox on my desktop, but set for mobile emulation. Chromium as well." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [20:45:52] awight jgleeson: okay this is the last one i promise [20:45:54] Xiaowei R. Wang: Chinese tech isn’t an imitation of its American counterpart. It’s a completely different universe. And at the heart of it always hums the question, just how cultural is the construction of technology? As many scholars such as Joe Karaganis, Jinying Li, and Lucy Montgomery have asked, how can piracy help expand media and technological access in China? Why is creative reuse and the lack of intellec [20:45:54] tual property protections in Shenzhen seen as knock-off culture by many in the US, when the actual conditions are more like open-source? How does the vibrant economy in southern China challenge Western notions of authorship and copyright? Is technology less universal than we think? [20:46:56] nice [20:47:46] awight, I like to think I see progress although it's easy to be forgotten in a haze of the current political landscape. I make that statement based on the fact that in the US Bernie Sanders went from unknown to 43% in the primaries [20:49:09] (CR) XenoRyet: "Ejegg: Yea, I'll add that in." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [20:49:13] whether or not he is the embodiment of all things socialism, that's debatable but that fact that even with his stated position, he nearly got in! which is major [20:50:02] saurabhbatra: Shenzhen is Blade Runner (1982), I’m still kicking myself for taking the train through without stopping. Totally is a good example of how lowering barriers to entry leads to more productivity [20:51:59] Fundraising-Backlog: Donation form does not save revised email address after card # entered - https://phabricator.wikimedia.org/T201962 (MBeat33) [20:52:08] Fundraising-Backlog: Donation form does not save revised email address after card # entered - https://phabricator.wikimedia.org/T201962 (MBeat33) p:Triage>Normal [20:52:57] jgleeson: yes, I’d like to think that culture has also shifted enough that much better conversations can happen than even 10 years ago, towards fixing itself [20:53:14] alright signing off now before fr-tech starts complaining about us hi-jacking their room :-) [20:53:30] no chance of that :) [20:53:38] good talking to you saurabhbatra! [20:53:40] Fundraising Sprint Karma chameleons hide amongst us, Fundraising Sprint Lactose is unusually tolerant, Fundraising Sprint Matt Damon to head up Space Force, Fundraising Sprint Naming Sprints Is Not Important, and 7 others: Help switch over foundation pages ... - https://phabricator.wikimedia.org/T193663 [20:53:56] and fantastic work again on your project [20:54:29] thanks, jgleeson! :-) [20:54:31] agreed awight [20:55:35] Fundraising Sprint Pluto is still a planet, Fundraising-Backlog, MW-1.32-release-notes (WMF-deploy-2018-08-21 (1.32.0-wmf.18)), Patch-For-Review: Handle new CANCELLED_BY_CONSUMER Ingenico responses. - https://phabricator.wikimedia.org/T201647 (Jdforrester-WMF) [20:55:53] Fundraising Sprint Karma chameleons hide amongst us, Fundraising Sprint Lactose is unusually tolerant, Fundraising Sprint Naming Sprints Is Not Important, Fundraising Sprint Owls, and 5 others: Ingenico We don't have an order status after doing a GET_ORDERS... - https://phabricator.wikimedia.org/T194517 [21:00:41] (Merged) jenkins-bot: Updated DonationInterface submodule to latest [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452742 (owner: Jgleeson) [21:01:05] (PS5) XenoRyet: Fix mobile orientation of radio buttons on payments.wiki opt-in [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) [21:02:12] (CR) XenoRyet: "That one's just adding the pointer and label text changes. Still working on the styling." [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/451804 (https://phabricator.wikimedia.org/T201528) (owner: XenoRyet) [21:06:58] ejegg, looks like the merge got done! [21:07:05] I'll reattempt the release [21:10:58] cool jgleeson [21:11:17] that was quite a pipeline delay! [21:11:25] yup [21:12:11] LMK when it's up and I'll do a card test to check the MinFraud variable change [21:18:27] looks good ejegg, I just put through a £1 donation [21:18:45] cool! [21:19:05] Want to !log the update for posterity? [21:19:20] yup was just finding the line [21:19:28] laziness delay :D [21:19:33] does one log updates or update logs? [21:19:49] !log payments-wiki changed from 6393e83ce0 to 7efaea7953, config revision is a5bce0fc89 [21:19:53] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [21:36:45] g'night fr-tech and enjoy the holiday! those who are taking it tomorrow :) [21:52:53] (PS1) Ejegg: FormSettings change: no JCB in JPY via Adyen [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/452839 (https://phabricator.wikimedia.org/T200610) [21:53:47] fr-tech anybody available to review that settings change? [21:54:04] Guess we've been offering something that we couldn't actually get processed [21:54:15] (JCB cards in JPY via Adyen) [21:54:29] Yea, I can take a look. [21:54:36] great [22:02:04] (CR) XenoRyet: [C: 2] FormSettings change: no JCB in JPY via Adyen [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/452839 (https://phabricator.wikimedia.org/T200610) (owner: Ejegg) [22:17:41] (Merged) jenkins-bot: FormSettings change: no JCB in JPY via Adyen [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/452839 (https://phabricator.wikimedia.org/T200610) (owner: Ejegg) [22:22:08] (PS1) Ejegg: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452848 [22:22:54] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452848 (owner: Ejegg) [22:31:53] (Merged) jenkins-bot: Merge branch 'master' into deployment [extensions/DonationInterface] (deployment) - https://gerrit.wikimedia.org/r/452848 (owner: Ejegg) [22:32:16] ejegg: to turn on EventLogging for CN, I'll send it out as a config change rather than a change in the default value of the CN config var, sound okok? [22:33:36] AndyRussG: yeah, sounds good! [22:37:25] :) [22:40:28] (PS1) Ejegg: Merge branch 'REL1_27' into fundraising/REL1_27 [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452853 [22:40:41] (CR) Ejegg: [C: 2] Merge branch 'REL1_27' into fundraising/REL1_27 [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452853 (owner: Ejegg) [22:41:36] yeah it'll make it easier to adjust or turn off if there's a problem [22:41:40] (PS1) Ejegg: Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452855 [22:41:44] (CR) Ejegg: [C: 2] Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452855 (owner: Ejegg) [22:43:13] (Merged) jenkins-bot: Merge branch 'REL1_27' into fundraising/REL1_27 [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452853 (owner: Ejegg) [22:43:57] (Merged) jenkins-bot: Update DonationInterface submodule [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452855 (owner: Ejegg) [22:51:00] !log updated payments-wiki from 7efaea7953 to 6002d9edc0 [22:51:05] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [22:56:18] ejegg: if this looks right, u can +1 if u like (I think not +2 just yet...): https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/452859/ [22:56:19] thx! [22:57:31] (CR) jenkins-bot: Updated DonationInterface submodule to latest [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/452742 (owner: Jgleeson) [23:01:05] looking AndyRussG [23:01:32] thx! [23:03:37] AndyRussG: looks good to me! [23:03:43] ejegg: thx! [23:03:47] going out in a few minutes :) [23:27:08] fr-tech we now have CN event data bubbling up! [23:27:18] awesome! [23:27:18] Nice [23:27:22] ooooh [23:27:39] head on over to stat1005.eqiad.wmnet and say kafkacat -C -b kafka-jumbo1002.eqiad.wmnet:9092 -t eventlogging_CentralNoticeImpression [23:27:59] now globally at 1% sample rate [23:28:02] :) [23:32:09] (PS1) Ejegg: Add personal details to repeat payment attempts [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/452867 (https://phabricator.wikimedia.org/T199331) [23:32:39] oops, that squashed a couple changes together ^^ [23:33:15] changed the changes? [23:33:37] mmm just remembered there's also an EventLogging schema change we need to make before the CN data is accurate [23:33:46] still we should get stuff into the files and we can start fiddling [23:33:49] time may change me, but I can't trace time [23:37:46] :) [23:38:38] (PS2) Ejegg: Add personal details to repeat payment attempts [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/452867 (https://phabricator.wikimedia.org/T199331) [23:38:39] what's the schema change AndyRussG ? [23:41:35] ejegg: we forgot to put in the testing flag for banner previews [23:41:47] (also noted in the etherpod) [23:43:16] we included debug, but that's the RL debug flag [23:44:41] ah, cool. The previous code wasn't doing anything to filter those out, was it? [23:46:01] yeah it was [23:46:23] indirectly [23:46:30] it filtered out when there was no campaign [23:46:55] see lines 76-86 https://etherpad.wikimedia.org/p/fr_user_event_consumer_notes [23:47:55] https://github.com/wikimedia/wikimedia-fundraising-tools-DjangoBannerStats/blob/master/fundraiser/analytics/management/commands/LoadBannerImpressions2Aggregate.py#L338 [23:48:00] At least, that's what I think it does! [23:49:34] (When it's a banner preview, you get no campaign, but now I'm not sure if in that case the script was exactly getting campaign=="") [23:49:43] Anyway, we _should_ filter 'em! [23:55:53] agreed! [23:57:51] (PS1) Ejegg: SmashPig payment processor: expose API codes [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/452871 (https://phabricator.wikimedia.org/T201773)