[00:02:46] (CR) Awight: [C: -2] "issues" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150091 (owner: Awight) [00:22:09] (PS2) Awight: Use the correct (synthetic) gateway_txn_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150091 [00:22:24] (CR) Awight: Use the correct (synthetic) gateway_txn_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150091 (owner: Awight) [00:22:39] ejegg: K4-713: ^^ if you please [00:22:47] examining now [00:26:13] awight: Does the listener set the recurring flag? [00:26:25] K4-713: the failmail? I just saw that too [00:26:28] Also, is the GC listener... enabled? [00:26:39] Ha, no, I wasn't looking at that. [00:26:58] I was looking at your pending change. [00:27:23] K4-713: I think the GC listener is enabled yeah. I can do a query... [00:27:54] K4-713: nope. nothing. [00:28:01] hummm [00:28:20] I unsurprisingly do not remember why or when we aborted that project [00:28:40] I suspect it had something to do with "OMG NEW THIGNS" [00:28:49] ...also things. [00:32:03] Oh blargh. I remember writing some of this stuff. [00:33:04] Meanwhile... the failmail is totally a regression I just introduced [00:33:17] yaaaaaaaay [00:33:46] Uhh... 'trxn_id' => 'RECURRING GLOBALCOLLECT STUB_ORIG_CONTRIB-' . mt_rand(), ? [00:34:58] teehehehe [00:35:48] I guess it's hard to mess that test value. [00:36:01] It just... you know, underscores how ugly we've gotten. [00:36:07] (PS1) Awight: Magic kludge to use gateway_txn_id as the globalcollect subscr_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150104 [00:36:09] (CR) jenkins-bot: [V: -1] Magic kludge to use gateway_txn_id as the globalcollect subscr_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150104 (owner: Awight) [00:36:59] Did you really get rid of all the fee stuff? [00:37:06] (PS2) Awight: Magic kludge to use gateway_txn_id as the globalcollect subscr_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150104 [00:37:14] K4-713: it should be done in normalization instead [00:37:43] Oooooh. [00:37:55] argh, now it hurts to not have the new tests merged yet [00:37:56] I see, that's all the way over there. [00:38:21] The idea was to minimize the amount of stuff that RGC actually does, so we can see the trees [00:38:26] Aye. [00:38:41] I was confused, because half of that thing was copied from the thing I thought I was looking at. [00:39:08] also, I thought this would be a boring vacation if you couldn't visualize New Montgomery a smoldering ruins [00:39:38] You're probably right. [00:40:04] I will definitely own all the ruination I cause though. [00:41:13] K4-713: ejegg: this could also use attention, if you have reserves: https://gerrit.wikimedia.org/r/#/c/150104/ [00:42:58] oh right, you zapped the code setting it elsewhere. Any reason there is better? [00:44:30] did I? [00:44:38] I was wondering what I must have zapped... [00:45:00] em, i remember it having been set someplace with a disparaging comment above [00:45:01] ejegg: I think that's actually a terrible place, but the plan is that it goes into DonationInterface instead [00:45:09] hehe [00:47:31] I cannot find such a thing in the git log. Maybe what happened is just that we weren't requiring the field previously. [00:47:48] * awight scratches head about how the recurring contribution record was created, in that case [00:47:57] sorry, i'm still foggy on how the missing effort id in that message lead to a double charge. [00:48:10] plz use little words [00:48:32] oh it was not a double charge ;) [00:48:59] oh, should there not have been a charge at all? [00:49:08] it was charged correctly, but the contribution record couldn't be inserted into civi cos a duplicate check matched the original payment exactly [00:49:19] it needs to have a different gateway_txn_id, otherwise... [00:49:20] ok, right [00:49:35] all makes sense now [00:49:45] https://github.com/wikimedia/wikimedia-fundraising-crm/blob/master/sites/all/modules/wmf_civicrm/wmf_civicrm.module#L757 [00:49:48] that line gets angry [00:51:19] right [00:54:11] (CR) Katie Horn: [C: 2] Magic kludge to use gateway_txn_id as the globalcollect subscr_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150104 (owner: Awight) [00:55:42] awight: What do you need to get done tonight? [00:55:59] K4-713: the one you just reviewed was the most important [00:56:07] K4-713: RGC can stay off until the other patch is deployed [00:56:19] Ah, neat. [00:56:48] So, what's the plan? [00:57:11] um. Deploy this now. [00:57:22] Then, if the RGC patch is ready to go later tonight, [00:57:37] I secretly deploy that and test on my own donation. [00:57:45] heh [00:58:03] ...okay. [00:58:13] (PS1) Awight: Merge remote-tracking branch 'origin/master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150111 [00:58:23] (CR) Awight: [C: 2] Merge remote-tracking branch 'origin/master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150111 (owner: Awight) [00:58:58] K4-713: yeah for the RGC thing, I'm pretty confident my fix will work or only need minor ... additional fixup, and we have maybe 2 days before it becomes an international incident. [01:00:30] Just one question: in RecurringGlobalcollectTest, why take the deletes out of tearDown? [01:01:10] ejegg: oh cos it was an incomplete cleanup anyway, and I wanted the data left in the db for debugging [01:01:30] do create calls from the next run then fail? [01:01:42] oh wait no, create again just acts like update [01:01:48] in civi, right? [01:03:31] ejegg: the next creates succeed [01:03:39] ejegg: the unique ids have mt_rand in them [01:03:46] and surrogate keys are autoincremented [01:04:57] ok [01:11:27] (CR) Ejegg: [C: 2] Use the correct (synthetic) gateway_txn_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150091 (owner: Awight) [01:12:12] ejegg: go home ;) [01:12:29] Heh [01:13:15] (PS1) Awight: Merge remote-tracking branch 'origin/master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150113 [01:13:26] (CR) Awight: [C: 2] Merge remote-tracking branch 'origin/master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150113 (owner: Awight) [01:21:50] bahaha [01:21:51] K4-713: ok, I'm leaving RGC off. I added another bug while fixing. [01:21:57] eh [01:21:59] ...dang [01:22:06] At least you're not being chased by a bear. [01:22:08] I'm gonna make a patch tonight... [01:22:10] INO [01:22:26] heh [01:22:28] I guess I'll test on the staging box [01:22:34] then... hara-kiri [07:32:17] (PS1) Awight: Recommend search for subscription using gateway [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150158 [07:32:19] (PS1) Awight: Begin to deprecate timestamp in contribution.trxn_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150159 [07:35:31] (PS2) Awight: Begin to deprecate timestamp in contribution.trxn_id [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150159 [08:23:12] (PS1) Awight: Make double-normalization harmless [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150164 [08:23:32] (PS2) Awight: Make double-normalization harmless [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150164 [08:45:18] (PS1) Awight: Fix timezone bug in next_sched search [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150165 [17:14:05] K4-713: ejegg: quid pro nullo? https://gerrit.wikimedia.org/r/#/c/150164/ [17:15:34] Double-normalization! [17:16:04] http://rlv.zcache.com/huge_magnet_double_rainbow_all_the_way_photosculpture-r41726442b0e04c7389b7c9b7b3e38f47_x7sai_8byvr_512.jpg [17:16:13] oh [17:16:15] thanks! [17:16:28] Yeah, man: Totally. :p [17:16:34] that is causing me feelings I didn't know I had :p [17:16:44] I have a new feeling! [17:16:48] That brings me up to 8. [17:17:02] * awight counts on fingers [17:17:26] It's like... one for each of the deadly sins, and the double-rainbow one. [17:17:32] That's all. [17:17:41] woohoo! a live well lived [17:18:56] strlen( $custom_vars[$field] ) < 14 [17:19:02] ...what's the 14 for? [17:19:05] oooh [17:19:08] I should document [17:19:15] effing mysql native dates [17:19:20] It's not a power of 2! I am suspicious. [17:19:23] YYYYmmddHHMMss [17:19:26] ooooooh [17:19:32] soooo asinine [17:21:12] Also, you have a hanging fixme with no explanation... [17:21:29] :( Usually context is hideous enuf to speak for itself [17:21:37] OK, documenting my dirty laundry... one moment please [17:21:51] The thing I worry about, though, is that sometimes people fix the code and go comment-blind. [17:22:05] Then the thing is fixed, but there's a FIXME hanging out making people nervous. [17:22:22] no that is totally fair [17:22:37] you're not crazy [INSTITUTION] [17:22:43] I'm not? [17:23:12] sorry. Someone had to tell you. [17:23:19] Huh. [17:25:40] (PS3) Awight: Make double-normalization harmless [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150164 [17:27:18] (CR) Katie Horn: [C: 2] Make double-normalization harmless [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150164 (owner: Awight) [17:29:01] ooh are we presenting at Metrics again Thursday? https://meta.wikimedia.org/wiki/WMF_Metrics_and_activities_meetings/2014-08 [17:29:24] Uhh... [17:29:26] Are we? [17:29:41] I could do some standup if you want [17:30:09] And what's with those airline peanuts? Right? Amirite? [17:30:37] hehe [17:30:57] (PS1) Awight: Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150262 [17:30:59] but srsly no, I didn't know anything, maybe it's not real [17:31:05] (CR) Awight: [C: 2] Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150262 (owner: Awight) [17:31:19] Yeah, I don't think it's real. [17:31:25] Or, it's not us. [17:31:39] but I will prepare some fundraising jokes just in case. [17:32:17] * K4-713 thinks [17:32:22] (PS1) Awight: forgot to remove tests [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150264 [17:32:31] Did you hear about the duck that wanted to donate to wikipedia? [17:32:33] (CR) Awight: [C: 2] forgot to remove tests [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/150264 (owner: Awight) [17:32:34] ... [17:33:06] why no, I didn't [17:33:26] He wanted us to bill him. [17:33:29] :/ [17:33:35] That didn't even work. Sorry. [17:34:20] hahaha [17:34:23] those are my fave [17:34:48] did you hear about why all the people in Antarctica can't donate to Wikipedia? [17:35:02] they froze their accounts [17:35:11] chaCHING [17:35:33] what about the biggest joke: where do all the donations go at the end of the day? [17:36:23] ummm [17:36:27] <_< [17:36:28] >_> [17:36:35] ummmm [17:36:40] I don't know, where? [17:36:42] I mean.. [17:36:46] I know [17:36:48] wait [17:37:06] into your pockets [17:37:17] * K4-713 squints [17:37:35] yeah probably won't work over the CCTV link [17:37:53] It might. They could see you tapdancing. [17:37:58] IRC, not so much. [17:38:06] oooh, we could do a Yipees thing and toss a bucket of ones into the audience [17:38:16] Did you hear about the rock monster that wanted to donate to wikipedia? [17:38:19] t-shirt cannoooonnnn [17:38:33] why no I did not hear about him [17:38:36] Turns out we don't support cross-boulder payments. [17:38:50] *rimshot* [17:38:55] * K4-713 hears crickets [17:38:59] It cost them $300 to shut the place down for the day, http://money.cnn.com/2007/07/17/news/funny/abbie_hoffman/ [17:39:19] We need the human element. People just don't understand what we do. [17:39:26] How about we pass a hat? [17:39:34] Woah. [17:39:41] Collection plate at a fundraising talk. [17:39:46] yaya [17:40:03] "Now, imagine doing that TWO MILLION TIMES." [17:40:39] What do California and the WMF have in common? [17:40:45] hmm [17:40:46] Tell them they cannot scroll to the next talk until they pay us [17:40:47] I don't know. [17:40:58] nobody will give you their 2 cents? [17:41:04] ...hipsters? :) [17:41:05] they both have a really cool fun raisin group *rimshot* [17:41:12] bahaha [17:41:13] oh [17:41:16] damn you both win and lose [17:41:17] *wins at bad joke of the day* [17:41:21] exactly [17:41:26] Surely there's time left in the day. [17:41:34] uh-oh. [17:41:37] you cannot win against me in this battle [17:41:44] The bar is about to get raised. [17:41:47] marktraceur good f'ing poin [17:41:48] t [17:41:57] the bad joke bar [17:42:18] hipsters lolz [17:42:22] if you raise it, pizzzacat won't be able to order a drink [17:42:29] Everything I can think of is inappropriate. [17:42:32] oh diss [17:42:34] * awight chucks a fonebook [17:42:39] I know right [17:42:55] we'll have to have "fundraising unplugged" [17:43:00] So a string walks into a bar and the bartender says "Sorry, you'll have to leave, we don't serve strings here." He walks out and sees his friend, another string, going in. [17:43:04] He warns his friend that the bar doesn't serve strings, but the other string just walks in, goes to the bathroom, ties himself in the middle and musses up one of his ends. [17:43:18] Hey hey hey. We're telling fundraising jokes. [17:43:24] ...make it donor-related. :D [17:43:32] He walks up to the bar and orders a beer. The bartender looks at him funny and says "Wait, aren't you a string" and he replies "Nope, I'm a frayed knot." [17:43:46] K4-713: I'm not going for "worst fundraising joke", just "worst joke" [17:44:02] haha [17:44:04] Ehrm... How about "Why is SEPA Direct Debit so popular with the straight single ladies? " [17:44:12] You get a Mandate. [17:44:19] eeergh [17:44:29] marktraceur not a fundraising joke so -1, but a funny bad joke so +5 [17:44:31] * awight peanut gallery gasps for oxygen [17:44:41] REQUIRED MANDATE. [17:44:42] haha [17:44:44] hahaha [17:44:56] sooo baddd soo goood [17:45:05] I wish I had my drums [17:45:06] Woot. [17:46:28] All right, fine - did you know most of our donations come from Texas? They all have TX IDs. [17:46:31] aww man [17:46:45] :p [18:24:08] jessicarobell: can I bug you about the TY translations? [18:26:14] No worries if you don't have time right now. I just wanted to check in about resetting all the translation statuses to match reality, so we have a clean start for the new workflow. [18:26:41] There are a lot of languages with a stale "published" status... erp [18:33:40] awight, running tests I take it? [18:33:48] hehe. -j6 kernel_image [18:33:56] need to dry anything? [18:34:04] hmm... no; but I could do lunch [18:34:13] any time [18:38:07] awight: Did I miss anything good? [18:38:14] ejegg: K4-713: basic thing I do not understand, https://payments.wikimedia.org/index.php?title=Special:GatewayFormChooser&ffname=error-noform [18:38:25] K4-713: nooo but the lunch bell rang [18:38:28] bahaha [18:38:29] KLAXON! [18:40:38] awight: Ah. The noform isn't enabled, I think. [18:40:43] ooooh [18:40:53] but. shouldn't it melt down and error form me anyway?? [18:40:59] ...nnnnno? [18:41:24] The form chooser is supposed to always give you something. No params are actually required. [18:41:29] https://payments.wikimedia.org/index.php?title=Special:GatewayFormChooser&ffname=error-default [18:41:37] I thought invalid things would tase me [18:41:55] At what level? [18:42:10] ffname is sort of taken as a suggestion. [18:42:41] If the thing you specify doesn't exist or isn't valid with the rest of your params, it goes "Silly rabbit. You meant cc-vmad." [18:43:09] ...and then error logs that it switched you so we can fix campaigns and links and things. [18:43:21] But, you're NOT EVEN AT YOUR COMPUTER RIGHT NOW because lunch. [18:44:01] Little bit of frustration over in the FR corner. [18:51:44] awight: sorry, messing about with screens and such, missed this. It takes a pretty funk link, usually directly to the gateway page, to actually trigger that no-form form [19:01:50] awight: here's the no-form form: https://payments.wikimedia.org/index.php?title=Special:GlobalCollectGateway&ffname=badname&payment_method=aa [19:11:52] awight i made this for your civi CI stuff: https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1848 [20:08:05] ejegg: thanks! do u happen to have a link handy to trigger error-cc? [20:08:32] hey ccogdill - could we push our checkin back a hair? [20:08:47] when are you thinking? [20:09:03] sort of whenever [20:09:10] i was just goign to run a quick erranc [20:09:14] errand [20:09:24] but if not, no worries [20:09:25] okay. well I’m happy to do it now before you go or later [20:09:29] ooh let's do that! [20:09:33] I’m pretty wide open :) [20:09:33] i'll come to you? [20:09:37] sure! [20:09:51] awight: hmm, not sure where that one pops up [20:10:17] me neither! Couldn't even find error-cc via grep [20:12:12] neither that nor error-default, which points to error-cc.html show up for me either [20:12:40] blaaargh [20:12:48] * awight uses a bad credit card [20:14:12] errr. I can't even type in my CC details. [20:14:13] http://payments.dev/index.php?title=Special:GlobalCollectGateway&appeal=JimmyQuote&ffname=cc-vmad&recurring=&uselang=en&language=en¤cy=EUR&country=US&amount=0.81 [20:14:21] dies connecting to GC! [20:16:24] ejegg: https://payments.wikimedia.org/index.php?title=Special:GlobalCollectGateway&appeal=JimmyQuote&ffname=error-cc&gateway=globalcollect&country=US¤cy_code=USD&amount=3.00&language=en&utm_source=fr-redir.default~default~default~default~control.cc&utm_medium=spontaneous&utm_campaign=spontaneous&payment_method=cc fwiw [20:18:20] eeeww [20:18:29] at least it's encoded? [20:18:52] why the heck is it copyig in the utm_souce? [20:19:10] Is this really what you get from a bad cc donation? [20:19:26] Or just foing directly to ffname=error-cc? [20:19:48] ejegg: it's some jankiness on donatewiki... [20:20:11] that there is a serious rabbithole. [21:00:03] K4-713: did my cheesy UML diagram contain any fun at all? [21:00:24] Well... so here's the thing. [21:00:36] My comprehension level today seems to be... missing. [21:00:42] oh no worries! [21:00:50] You have plenty on yr plate [21:00:57] I will corner you in a month [21:01:17] * K4-713 sets the clock [21:01:28] I like the boxes and arrows. [21:01:33] ...that's all I got. [21:02:24] Mostly, I did this cos I wanted to solve our ID nightmare, but... got carried away [21:03:19] i would also be interested in the full explanation of those nice boxes and arrows [21:03:57] hehe well it all started when I realized I was no good at drawing ovals... [21:04:03] Ovals are easier than boxes. [21:04:06] Unless you're a computer. [21:04:09] not if you need closure! [21:04:11] * K4-713 narrows eyes [21:04:26] omg i remember swapping around the syscall table on early macos [21:04:35] round rectangles for evarything! [21:04:36] * K4-713 narrows eyes more [21:04:37] like, is PipelineInteraction something like our 'transaction' as in, any step of the process [21:04:56] well we kind of use transaction to mean a Donation [21:05:11] We need new words. [21:05:14] but yeah the PipelineInteraction idea is that any time a process interacts with a donation, it leaves a trace [21:05:20] Ones that aren't, you know, database keywords. [21:05:28] but there are all those 'doTransaction' calls which can do things like redirecting a user [21:05:52] erp. right, I hadn't considered those, but we probably SHOULD add api interactions [21:06:54] so the PipelineInteractions are just us talking to the user? [21:07:04] as for PipelineInteractions though, we currently have the source_* headers which do exactly this, but I want symmetry, recording the exact identity of the consuming process. [21:07:24] talking to the user only really happens in one place, it's captured by the DonationInterface interaction [21:07:34] oh, gotcha, they're our internal pipeline [21:07:42] other things I tried to figure out here were, the few places we need action methods on these objects [21:07:52] like subscription->cancel and donation->refund [21:08:06] ok [21:08:27] also... an abstract way of dealing with a donation's status, which can tell us both the raw gateway status code, and booleans which describe properties we care about [21:08:33] the only one I grokked so far was "is_settled" [21:08:44] I don't know if we care about anything else... [21:10:44] and Pledge vs Subscription? [21:11:16] Pledge is something I stole from Civi, the idea is that Major Gifts can track amounts that people are committing to donating in the future [21:11:24] http://book.civicrm.org/user/contributions/pledges/ [21:11:43] huh, ok [21:13:36] I was trying to nail down the IDs and I think we have to use the long, natural-key style for contribution_recur.trxn_id, like "RECURRING GLOBALCOLLECT 123123" [21:13:45] cos otherwise gateways can collide [21:14:00] Plus... There is this gateway account name nonsense in the works... [21:14:10] We'll probably have to jam that into the same natural key somehow [21:14:38] ... and even migrate existing data which is already a mess, so we don't need to preserve insane special-case logic [21:17:33] then the Donation's own unique id would still include the Subscription ID + some unique-ifier like effort id or timestamp? [21:18:43] ejegg: yeah. I think we should ditch the timestamp because it's so abused and ambiguous, and only include terms which are useful for manipulating the entity in the processor API [21:18:50] like effort_id [21:19:26] makes sense [21:19:36] I don't know how, but we might need some kind of polymorphism across gateways... [21:19:50] I think gateway_txn_id is a bad misnomer [21:20:07] probably, each gateway should be responsible for maintaining and querying custom fields that identify a transaction [21:20:22] right [21:21:06] I'm not even sure the "unique id" is serving a purpose for our system... [21:21:16] hadn't thought about that. [21:21:40] this would be the long trxn_id that we ensure as unique across all gateways, etc. [21:21:50] might as well just have an int primary key [21:21:54] But we should never query according to that [21:22:05] well, the surrogate keys should be hidden as much as possible IMO [21:22:42] querying should be like find(DonationId), and DonationId contains eg (gateway, order_id, effort_id) for GC [21:49:43] AndyRussG: thoughts about yr CN issue, did you set country and language criteria? [21:49:54] Relatedly, it could be a geolocation fail [21:50:11] or if you set it to limit traffic to less than 100% [21:51:02] We really need some kind of allocations debugging mode [21:51:16] so in case y'all weren't aware, the new Teenage Mutant Ninja Turtles is coming out August 9 [21:51:18] AndyRussG: there is Special:GlobalAllocations which will be informational [21:51:40] my friend Nate and I are going to be dressing up (when I get back from London) to go see it [21:51:43] hashtag offsite [21:51:50] http://www.amazon.com/Teenage-Turtles-Cosplay-Zentai-Suit-Medium/dp/B00L8PNG84/ [21:52:01] they're back to actually mutants again, right? Not aliens? [21:52:05] or http://www.amazon.com/Forum-Novelties-Costume-Multicolor-Standard/dp/B004QQ6LU2/ [21:52:41] awight: Ah cool let me check that out [21:52:42] pizzzacat those are both terrifying [21:52:49] ...ly awesome [21:53:02] I'm pretty sure I didn't set it to be geospecific [21:53:46] "Great for parties, stage performances, or when racing rabbits" [21:54:12] AndyRussG: the default unfortunately is to display nowhere, I think... /me checks that [21:54:33] Hmmmm [21:54:40] I put it on "emergency" mode [21:55:09] AndyRussG: you can browser-debug the BannerRandom call and look at the params, that will tell you what your satellite wiki looks like [21:55:10] pizzzacat: I dress up for movies too. [21:55:43] SWEET. we are going to be Michaelangelo and Donatello. everything else needs people [21:55:48] Did I tell you about the incident at the Star Trek reboot, in which a bunch of my friends went dressed up as Star Wars characters? [21:56:03] I thought we were all going to be killed. [21:56:03] ha no [21:56:11] Also we had a trash-bag Darth Vader. [21:56:11] haha haha nice way to go [21:56:20] classy! [21:57:08] We ran into the serious trek costuming people, and they... fed the trolls. Heh. [21:57:59] http://2.media.dorkly.cvcdn.com/32/63/2c5b6865c9b02fffbfa599308e694864-some-of-the-best-teenage-mutant-ninja-turtle-cosplay.jpg [21:58:10] badass [21:58:19] green duct tape I think? [21:58:25] I bed florist tape would work really well, too. [21:58:28] *bet [21:58:33] awight: Yeah I did have a peek at the request... So the sattelite wiki should be calling Specail:BannerRandom on the infrastructure wiki? [21:58:33] or garbacge bags. [21:58:36] balloons anyone? http://twistedconservative.files.wordpress.com/2013/10/image-3-web.jpg [21:58:37] but no shells! [21:58:48] Especially if you wanted to stick lightly to walls, chairs, and eachother. [21:58:49] It's calling it on the subscribing wiki [21:59:41] $wgCentralHost = '//trunkwiki.dev'; [21:59:47] http://localhost/subscribing/index.php/Special:BannerRandom?uselang=en&sitename=subscribing&project=subscribing&anonymous=true&bucket=1&country=CA&device=desktop&slot=5&debug= [22:00:06] where trunkwiki is the infrasctructure wiki [22:00:07] AndyRussG: aha jes that's it [22:00:21] K, I was wondering [22:00:36] I have the same host for both wikis [22:00:54] They're both localhost [22:01:01] require_once( "$IP/extensions/CentralNotice/CentralNotice.php" ); [22:01:01] $wgNoticeInfrastructure = true; [22:01:01] $wgNoticeProjects = array( 'subscribing' ); [22:01:13] ^ That's the infrastructure config [22:01:37] Here's the subscribing config: [22:01:37] require_once( "$IP/extensions/CentralNotice/CentralNotice.php" ); [22:01:37] $wgNoticeInfrastructure = false; [22:01:37] $wgNoticeProject = 'subscribing'; [22:01:37] $wgCentralHost = '//localhost'; [22:01:38] $wgCentralPagePath = '//localhost/infrastructure/index.php'; [22:02:00] Maybe I should make some virtual hosts in my apache config? [22:02:05] ooh that does look tricky. [22:02:09] oh, try this one: $wgCentralBannerDispatcher [22:02:19] yep [22:02:21] point that to infrastructure's BannerRandom [22:02:59] As in, http://localhost/infrastructure/index.php/Special:BannerRandom ? [22:03:05] yep! [22:04:47] might also want wgCentralBannerRecorder pointing to inf's Special:RecordImpression [22:05:16] and also $wgCentralDBname [22:05:34] Hmmm [22:05:52] Yeah I was gonna say, it's calling infrastructure for BannerRandom [22:05:52] [18:04:38.067] GET http://localhost/infrastructure/index.php/Special:BannerRandom?uselang=en&sitename=subscribing&project=subscribing&anonymous=true&bucket=0&country=CA&device=desktop&slot=9&debug= [HTTP/1.1 200 OK 26ms] [22:06:40] But calling subscribing for the RecordImpression [22:06:53] AndyRussG: there is a mediawiki-config repo that can be very helpful, if a bit overwhelming. It has most of the production settings for wikipedia and the other projects [22:07:01] Maybe I should just set up different host names to try to get as vanilla an environment as possible [22:07:04] /operations/mediawiki-config [22:07:15] https://noc.wikimedia.org/conf/ [22:07:16] also [22:07:40] did you set $wgCentralBannerRecorder too? That's pointing to inf's RecordImporession on my machine [22:07:42] ejegg: awight: yeah I like those, so soothing [22:08:13] Also BTW even though it's calling infrastructure for BannerRandom the response is still mw.centralNotice.insertBanner( false ); [22:08:46] Well, just found a bug: I can't unselect all projects and languages for a campaign. [22:09:16] AndyRussG: what does Special:GlobalAllocation say? [22:09:46] AndyRussG: ah, another likely explanation is that the start and end period for your campaign has elapsed already. [22:09:53] Ah hmmm, indeed no banners allocated [22:09:56] the default is 1 hour, starting upon campaign creation [22:10:33] Ah, yeah, thanks I did prolong it :) [22:10:51] and it's enabled? [22:10:55] Fun how the word "campaign" is just omnipresent here [22:11:04] ino, seriously. [22:11:07] Lemme check, it _was_ enabled [22:11:17] The time and enabled should be enuf to make it appear in GlobalAllocations at least... [22:12:14] Ah found it [22:12:22] "No banners assigned to campaign", heh [22:12:29] phew! [22:12:30] I created a banner but didn't assign it 8p [22:12:38] so many variables... [22:13:02] Wee! It works, banner displayed on subscribing wiki [22:13:29] rad. you have arrived in purgatory :D [22:13:58] "When you think you've hit bottom... Oh no! There's a bottom below..." [22:15:29] Lemme try to set up different host names, see what that does [22:21:24] Hmm even with different host names in $wgCentralHost (if I comment out the $wgCentralBannerDispatcher line) it still calls the subscribing wiki for BannerRandom [22:22:19] # cat /etc/hosts [22:22:20] 127.0.0.1 localhost [22:22:20] 127.0.0.1 localghost [22:22:20] 127.0.0.1 localmost [22:22:53] Then on the subscribing wiki: [22:22:53] $wgCentralHost = '//localmost'; [22:22:53] $wgCentralPagePath = '//localmost/infrastructure/index.php'; [22:23:01] AndyRussG: do you have $wgResourceLoaderDebug=true ? [22:23:25] oh, looks like $wgCewntralHost is only used to add a dns prefetch header [22:24:13] AndyRussG: you need to set the dispatch variable, otherwise the default is $wgCentralBannerDispatcher = "{$wgScript}/{$wgContLang->specialPage( 'BannerRandom' )}"; [22:25:24] Undocumented feature= [22:25:25] ? [22:26:37] AndyRussG: CentralNotice.php:69 does explain i think [22:27:06] hehe although rereading what i wrote, it's wrong. [22:27:31] it should default to the resourceloader server, not to the local server [22:29:11] Ah OK (sorry I was still on https://www.mediawiki.org/wiki/Extension:CentralNotice) [22:29:31] Meta normally serves resourceloader requests on production? [22:29:44] That can't be [22:29:45] I think it's bits.wmo normally [22:31:38] AndyRussG: doesn't look like an easy config variable to reuse, actually, it will not be configured this way on normal 3rd-party installs. https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php search for $wmfHostnames['bits'] [22:32:46] Iiinteresting [22:33:09] K I guess I still have a lot to learn about the production setup [22:33:22] me too! [22:34:47] So bits just knows what version of MW every project is on and serves the correct JS, css? [22:35:16] ooh I have not wondered. Is that sent with the ResourceLoader request? [22:36:08] https://en.wikipedia.org/wiki/Main_Page?debug=true [22:36:08] AndyRussG: you can add "debug=true" to most page requests to get unminified RL requests and responses [22:36:38] AndyRussG: I don't see anything about the MW version... [22:36:50] [18:34:22.004] GET https://bits.wikimedia.org/static-1.24wmf14/extensions/MultimediaViewer/resources/mmv/mmv.ActionLogger.js [HTTP/1.1 200 OK 101ms] [22:36:50] [18:34:22.005] GET https://bits.wikimedia.org/static-1.24wmf14/extensions/MultimediaViewer/resources/mmv/mmv.DurationLogger.js [HTTP/1.1 200 OK 1058ms] [22:36:50] [18:34:22.006] GET https://bits.wikimedia.org/static-1.24wmf14/extensions/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js [HTTP/1.1 200 OK 160ms] [22:36:50] (etc) [22:37:17] AndyRussG: hahaha ok that, then :) [22:37:19] Y'all causing trouble with Media Viewer in here? [22:37:25] No, you're OK. NVM. [22:37:28] rm -rf / [22:37:34] <_< [22:37:35] >_> [22:37:49] man that used to be my favorite thing to type at Best Buy... [22:38:00] marktraceur: Can cause trouble if you like... [22:38:04] del /w /s /r C:\ ... [22:38:13] Heheheheheh [22:39:01] such an annoying kid [22:40:11] Most data on Windows hard drives in Best Buy is surely deserving of such acts [22:40:19] True I don't see any version # or anything being sent, but you don't always have all produciton wikis on exacty the same MW version at exactly the same time, with exaclty the same extension versions, too, do you? [22:40:54] Or maybe they are all updated exactly in tandem [22:41:11] Or maybe bits knows what's on each server and decides what to send based on that [22:41:41] using the referrer? [22:41:56] I guess... [22:42:20] Or some such [22:42:51] AndyRussG: wait I don't understand, I thought u found the version after "static-" in the URL? [22:43:14] oh derp, yeah, there it is [22:43:28] doubel derp here [22:43:30] donno how that works for local wikis, I think that's all wmf config magic [22:43:45] hehe all along I thought you were long-finished derping me [22:44:18] no, you're fully de-derped [22:44:31] * awight scraped together remaining dignity [22:44:35] ^scrapes [22:45:19] I'm just glad my kids aren't back from summer camp yet, they'd start accusing me of joking around rather than working again [22:45:30] how do they know! [22:45:45] plus, you'll have to hand back your headphone hairties :-/ [22:45:59] nooooooooooooooooooooooooooo [22:46:12] they're miiiiiiiiiiine [22:46:28] summer camp: nice sleight-of-hand for the move, btw, wow! [22:46:39] hey, we've lived here all along... [22:46:59] sounds hard, still [22:48:24] day camp I meant actually [22:48:28] they just got home [22:48:52] and already asked me why I was suspiciously chuckling to myself! [22:49:49] lol the FR-tech corner is infamous for at least 30 min of mandatory chuckling [22:49:52] per day. [22:50:18] hmmm guess I'll have to keep a log [22:50:29] or do I have to send webcam shots? [22:51:52] oh, we believe you! [22:53:46] NE so long as it's still billable time 8p [22:54:10] 30 minute minimum, we haven't discussed the maximum [22:54:15] It's stressful work. [22:57:16] ok y'all, i'm out for the evening [22:57:17] so true! [23:00:35] i'm out, too [23:00:38] hopefully not chased by bearz [23:01:02] bye atgo [23:18:59] (PS6) Awight: WIP script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 [23:19:04] (CR) jenkins-bot: [V: -1] WIP script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 (owner: Awight) [23:20:43] (PS7) Awight: WIP script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 [23:20:45] (PS2) Awight: Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 [23:40:51] mwalker: How did you not turn into a serial killer, dealing with all these WP logins? [23:41:13] ask pats [23:41:16] I yelled... a lot [23:41:20] oic [23:41:59] My favorite so far is "You haven't logged in for a while. Please change your password" where "change your password" is a link RIGHT BACK TO THE PAGE I AM ALREADY ON. [23:42:38] The merchant account names are awesome as well: raNdo_case [23:42:58] we should have broken it off right there [23:43:19] Well, then I log in to "Payment trust" (whatever the heck that is) and there's a user tab that takes me to a totally unrelated login screen that I can't get in to. [23:43:45] please enter your email password [23:43:52] trust us! [23:50:25] (PS3) Awight: WIP Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 [23:53:42] (PS4) Awight: Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 [23:54:55] (PS5) Awight: Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 [23:58:43] (PS8) Awight: WIP script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364