[00:40:21] (CR) Krinkle: [C: -1] "(2 comments)" [core] - https://gerrit.wikimedia.org/r/75056 (owner: SuchABot) [00:53:13] (CR) Parent5446: [C: 2 V: 2] Fix issue with images not being uploaded [extensions/AWS] - https://gerrit.wikimedia.org/r/73737 (owner: Thaiphan) [00:53:14] (Merged) Parent5446: Fix issue with images not being uploaded [extensions/AWS] - https://gerrit.wikimedia.org/r/73737 (owner: Thaiphan) [02:07:09] (PS1) Shirayuki: Remove leading whitespace from message [extensions/EtherEditor] - https://gerrit.wikimedia.org/r/75060 [02:39:44] (PS1) Shirayuki: Fix double-whitespace [extensions/TranslationNotifications] - https://gerrit.wikimedia.org/r/75061 [02:40:13] (CR) Siebrand: [C: 2] "I don't think this is worth the bikeshed. Thanks for harmonizing, Timo." [core] - https://gerrit.wikimedia.org/r/74079 (owner: Krinkle) [02:42:56] (Merged) jenkins-bot: Clean up: Consistently use "$" instead of "$( document ).ready" [core] - https://gerrit.wikimedia.org/r/74079 (owner: Krinkle) [02:50:20] (CR) MZMcBride: ""GMD" is an opaque initialism." [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74941 (owner: Legoktm) [02:50:22] (PS1) Shirayuki: Replace "X-query" by "XQuery" [extensions/MathSearch] - https://gerrit.wikimedia.org/r/75062 [02:50:58] Elsie: Heh. [02:51:38] legoktm: Also, God help me, I hope this is only installed on Meta-Wiki. :-/ [02:51:56] Though I can see its application on individual wikis. [02:51:59] So much spam, though. :-( [02:52:22] legoktm: Have you implemented local pagelinks support? [02:52:32] Elsie: Ideally meta would be the only wiki you could send global messages from, but it's local features are still useful [02:52:34] Yes [02:52:48] It is currently working if you want to send local messages [02:53:03] Do you have a public test wiki with the extension installed? [02:53:29] No…should I do that? [02:53:54] I was just curious for myself personally. [02:54:09] A Labs wiki might be nice. [02:54:26] I'll look into setting one up [02:54:26] But not at all necessary or expected. [02:54:26] Cool. :-) [02:54:27] Then I can break it! [02:54:59] :D [02:55:32] I was looking into how to go from interwiki prefix --> api url, and I think I've figured it out. [02:58:01] interwiki prefix --> url (en.w.o/wiki/$1) --> some regex to get the base url (en.w.o) --> SiteMatrix to get the database id --> WikiMap (which uses $wgConf i think) to get a SiteReference object! [03:00:30] Errrrrrrr. [03:00:38] No regex, please. [03:00:49] Heh. [03:00:53] Well it doesn't have to be regex [03:01:03] I think PHP has an equivalent to Python's urlparse. [03:01:08] Or I think MediaWiki does, at least. [03:01:09] I'm not sure how PHP does it, but in Python it would be url.split('/', 1)[0] [03:01:14] Oh, that would be even better [03:01:19] It wouldn't be that in Python. ;-) [03:01:45] Oh yeah. I'd need to remove the http:// from the front first. [03:02:07] You're going to have a SiteMatrix dependency? [03:03:04] I might. [03:03:08] I'm hoping I don't. [03:03:51] It's the only way I know how to go from url --> database id though. [03:04:25] (CR) Parent5446: [C: -2] "Other change was merged. Not starting a commit war here." [core] - https://gerrit.wikimedia.org/r/75056 (owner: SuchABot) [03:04:43] MariaDB [metawiki_p]> select * from interwiki; [03:04:43] Empty set (0.03 sec) [03:04:46] Hmmmm. [03:05:24] Same on the toolserver….it's not populated I guess? [03:06:19] The Interwiki extension is reading from something. [03:06:30] I'm not honestly sure what. [03:06:36] I got distracted. [03:10:25] (PS3) Legoktm: Hardcode the bot's username as $wgMassMessageAccountUsername [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74938 [03:11:11] (CR) Legoktm: "(2 comments)" [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74938 (owner: Legoktm) [03:16:46] (CR) Legoktm: "The account should never be renamed unless the configuration variable ($wgMassMessageAccountUsername) is also updated at the same time." [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74938 (owner: Legoktm) [03:19:51] (CR) MZMcBride: "(6 comments)" [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74938 (owner: Legoktm) [03:33:58] (CR) MZMcBride: "(1 comment)" [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74939 (owner: Legoktm) [04:20:01] (PS1) Santhosh: Add linktrail for Malayalam [core] - https://gerrit.wikimedia.org/r/75063 [04:26:20] (CR) Santhosh: [C: 2] Fix double-whitespace [extensions/TranslationNotifications] - https://gerrit.wikimedia.org/r/75061 (owner: Shirayuki) [04:27:34] (Merged) jenkins-bot: Fix double-whitespace [extensions/TranslationNotifications] - https://gerrit.wikimedia.org/r/75061 (owner: Shirayuki) [04:27:52] (CR) Santhosh: [C: 2] Fixed case in i18n messages [extensions/ThrottleOverride] - https://gerrit.wikimedia.org/r/75057 (owner: Parent5446) [04:34:11] (CR) Santhosh: [C: 2] Fill i18n file [extensions/Annotator] - https://gerrit.wikimedia.org/r/74830 (owner: Raimond Spekking) [04:34:11] (Merged) jenkins-bot: Fill i18n file [extensions/Annotator] - https://gerrit.wikimedia.org/r/74830 (owner: Raimond Spekking) [04:37:26] (CR) Santhosh: "(1 comment)" [extensions/GuidedTour/guiders] - https://gerrit.wikimedia.org/r/74820 (owner: Mattflaschen) [05:26:14] (PS2) Nikerabbit: (Bug 50861) Debug Yandex translation service failures [extensions/Translate] - https://gerrit.wikimedia.org/r/74853 (owner: Lockal) [05:28:18] (CR) Nikerabbit: "This looks good! I have two questions though:" [extensions/Translate] - https://gerrit.wikimedia.org/r/74853 (owner: Lockal) [06:20:46] Elsie: http://legoktm.instance-proxy.wmflabs.org/wiki/Special:MassMessage [06:21:46] That's running the version that's currently in the repo [06:22:23] Thanks! [06:22:53] Oh hm [06:23:04] It uses the job queue to send messages, and right now I set that for hourly [06:23:29] Can you set that to minutely? :-) [06:23:30] Lemme just set it to every minute... [06:23:32] Yes :P [06:23:34] Also, I think I caused a PHP fatal error. [06:23:43] What did you do o.O [06:23:51] Can you enable error reporting? [06:23:57] Sure, one sec [06:24:25] That's a pretty logo, BTW. [06:24:32] Not sure if you had anything to do with it. [06:25:02] Nope! [06:25:05] Should be enabled now [06:25:21] > Notice: Undefined index: global in /srv/mediawiki/extensions/MassMessage/SpecialMassMessage.php on line 138 Fatal error: Call to a member function getArticleID() on a non-object in /srv/mediawiki/extensions/MassMessage/SpecialMassMessage.php on line 141 [06:25:39] Input was: [06:25:45] "Main Pageeeeee<" [06:25:55] [blank] [06:25:56] [blank] [06:25:58] For the three inputs. [06:26:06] That form is wicked ugly, BTW. But that's unimportant. [06:26:14] For now, at least. [06:26:32] You wanna fix that fatal or should I keep going? [06:26:45] Keep going, I'm looking into it right now [06:27:14] if ( $spamlist->getArticleID() == 0 ) { [06:27:14] $status->fatal( 'massmessage-spamlist-doesnotexist' ); [06:27:33] $spamlist = Title::newFromText( $data['spamlist'] ); <-- I'm guessing that failed because of your < [06:27:51] With a valid page list, I got... [06:27:54] Notice: Undefined index: global in /srv/mediawiki/extensions/MassMessage/SpecialMassMessage.php on line 138 [06:27:57] After form submission. [06:28:03] But it says it was sent. [06:28:14] A lot of these messages are gonna need to be re-worked. [06:28:31] If possible, I'd hold off on having people translate anything until this is a bit more stable, personally. [06:29:16] The global one is because I added a line of code for GMD, but never really finished it. [06:29:28] K. [06:29:36] It says the message was sent and it logged it. [06:29:54] Not sure what it's supposed to do next. [06:30:17] Ah, I never set the crontab [06:30:40] I just ran the job queue manually [06:30:47] Can't you just set the jobs to run immediately? [06:31:07] Can you? I set it to run every minute. [06:31:16] Anyways, you should have "new messages" [06:31:21] I dunno. [06:31:35] Whee, it worked. :-) [06:31:43] http://legoktm.instance-proxy.wmflabs.org/wiki/Special:Contributions/MessengerBot [06:31:54] :D [06:32:15] Marked as a bot and everything. [06:32:29] It should be using §ion=new. [06:33:09] Does it make a difference? [06:33:13] Besides edit summary I guess. [06:33:18] Edit summary, yeah. [06:33:48] "[[Main Page]]" as an input for page list also blows up. [06:33:57] Gonna need some better error handling there. :-) [06:33:58] Hold on, I'm committing the fix [06:34:07] Sweet. [06:34:25] That dropdown should also use title suggestions, BTW. [06:34:37] But that's an enhancement request. [06:36:05] (PS1) Legoktm: Title::newFromText will return null if the user provides an invalid title [extensions/MassMessage] - https://gerrit.wikimedia.org/r/75064 [06:36:12] Elsie: ^ [06:38:21] I feel like if !$spamlist is better there. [06:38:26] But I really don't know PHP. [06:38:43] === null feels weird, but could be perfectly sane. [06:38:59] From what I've seen in reading other people's code, most people use === null, whereas !$var is normally used for false. [06:39:08] if !$spamlist or maybe is_null($spamlist) ? [06:39:14] K. [06:39:24] I have other notes. I suppose I should put them on the wiki. [06:39:59] Er, put them on mw.o, not the labs wiki. [06:40:04] Right. [06:40:19] I've learned my lesson about trying to use a labs wiki for that kind of thing. ;-) [06:41:57] : [06:42:00] P [06:46:59] https://www.mediawiki.org/w/index.php?title=Extension:MassMessage/Design&diff=743367&oldid=743336 [06:47:04] VisualEditor said I was using wikitext there. [06:47:05] wtf [06:47:36] Hmmmm. Maybe the {{nobots}} above. [06:47:56] Heh. [06:47:57] legoktm: This is exciting. :-) [06:48:07] I know :D [06:48:16] I think the job queue is stuck again. [06:48:21] erp [06:48:31] No, it's empty [06:48:43] Or at least when I ran it manually a second ago it was [06:48:46] If I leave body and subject blank, it says it was successful. [06:48:56] It may just silently discard my delivery, though? [06:49:07] http://legoktm.instance-proxy.wmflabs.org/wiki/Special:Log [06:49:26] No, it queues the jobs, but will make no edits [06:49:49] Well it will attempt to make an edit, but newtext == original text, so nothing is ever edited. [06:50:11] I tell you what, MediaWiki is crazy fast on this proxy, though. [06:50:14] Crazy fast. [06:50:33] legoktm: K, so it'll just need better error catching during form submission. [06:50:55] Yeah. Right now it just validates title [06:51:02] Right. [06:51:07] I use edit summaries on test wikis. [06:51:09] Because I'm insane. [06:51:56] Hm [06:52:12] (Mass message log); 06:44 . . Admin (Talk | contribs | block) sent a message to Gravy ‎ <-- Actually I think that one didn't make any edits is because Gravy is a redirect and has no page links. [06:52:24] And also because I assume it had no content. [06:52:31] Probably a mixture. [06:52:37] I sent another. [06:52:43] But that third run also seems to not be working. [06:52:46] No idea why. [06:53:25] Because [[Gravy]] is a redirect page.... [06:53:33] I'll add that to my notes, then. [06:53:35] it doesn't follow redirects. [06:53:53] Not yet! [06:54:08] https://www.mediawiki.org/wiki/Extension:MassMessage/Design#MZ_notes [06:54:40] legoktm: How's the job queue look now? [06:54:53] I've logged four deliveries, but only one has worked, I think. [06:54:59] I just emptied it manually [06:55:00] Oop, there it goes. [06:55:06] Okay, the fourth run looks to have worked. [06:56:13] (PS1) Legoktm: Check that a value for global messaging is set before using it's value [extensions/MassMessage] - https://gerrit.wikimedia.org/r/75066 [06:56:27] ^That fixes the global undefined variable bug [06:58:38] https://www.mediawiki.org/wiki/Extension:MassMessage/Design#MZ_notes should keep you busy for a while. [06:59:20] > possible to spam the same talk page twice with a single delivery (ouch) <-- isnt the pagelinks table unique? [06:59:38] It should be. [06:59:45] http://legoktm.instance-proxy.wmflabs.org/w/index.php?title=User_talk:Admin&action=history [07:00:05] legoktm: [[User:Admin]] and [[User talk:Admin]] on the same page. :-) [07:00:21] > possible to deliver to user talk pages of non-existent users <-- i don't think thats a bug…we let messages get sent to [[Project:Blah]] [07:00:27] Elsie: Ah. Hmm [07:00:28] That counts as two targets currently. [07:00:28] You may need to de-dupe in app logic. [07:00:43] You shouldn't post to user talk pages of non-existent users. [07:00:49] Project pages are different. [07:00:56] User talk pages have an owner (or not). [07:01:27] Ok [07:02:12] legoktm: Can you clear the queue once more? [07:02:16] sure [07:02:21] done [07:03:43] Any other questions for me while I'm here and focused on this? [07:03:57] legoktm: ^ [07:04:58] Er, not off the top of my head. [07:05:28] K. [07:05:30] Let me know when I can test again. [07:08:37] https://en.wikipedia.org/wiki/Tin_foil_hat [07:08:40] (PS1) Legoktm: Add a primitive de-duping feature when getting local pagelinks. [extensions/MassMessage] - https://gerrit.wikimedia.org/r/75068 [07:09:04] I'm not sure about the performance impacts about that, nor have I tested it yet. [07:09:30] (CR) Legoktm: [C: 2 V: 2] "Works." [extensions/MassMessage] - https://gerrit.wikimedia.org/r/75064 (owner: Legoktm) [07:09:31] (Merged) Legoktm: Title::newFromText will return null if the user provides an invalid title [extensions/MassMessage] - https://gerrit.wikimedia.org/r/75064 (owner: Legoktm) [07:10:14] (Abandoned) Legoktm: Add a configuration option to respect the {{nobots}} exclusion syntax [extensions/MassMessage] - https://gerrit.wikimedia.org/r/74939 (owner: Legoktm) [07:10:37] legoktm: Do you want me to tell you how to do that? ^ [07:10:41] Or do you want to figure that out on your own? [07:10:56] Elsie: The de-duping feature? [07:11:05] The nobots thing. [07:11:16] Oh, not really. I think {{nobots}} is stupid. [07:11:21] K. [07:11:30] $wgNoNoBots [07:11:35] :D [07:12:10] > [[user talk:Admin/{{#time:Y|20130722065908}}]] <-- heh, I didn't install ParserFunctions. [07:12:35] So I noticed. ;-) [07:13:35] legoktm: I'm not sure how to properly catch invalid input. [07:13:42] But I think it's probably an important feature. [07:13:49] Because users are idiots. [07:13:54] In the body of the message? [07:14:03] Or the subject, yeah. [07:14:04] Like if someone left a tag open at the end? [07:14:12] Or worse,