[00:02:14] [17:00] c: so in wikimedia, we have a query killer running on the db servers which will kill long running queries [00:02:31] Not sure if that got lost in the crap airport wifi [00:02:47] thats only for long running active queries [00:03:09] well usually when read queries build up, the bulk of them are sleeping connections [00:03:55] Do they actively cause problems though if they are just sleeping? [00:04:12] not until they build up to RDS's limit [00:04:25] which only happens infrequently but I want to avoid it happening at all [00:05:31] Im not really sure, but i think db connections are only closed in Mediawiki::restInPeace [00:07:01] RDS doesn't really have an easy way to pool connections, which is the only solution I think might help without changing mw config (if there is a way) [00:07:59] You could setup more slave dbs to split things up [00:08:14] although that is a heavy handed solution [00:08:37] currently only have 1 slave, which is currently taking the vast majority of read-only connections [00:09:18] although im actually not sure. Mw might contact all slaves to do lag calculations [00:10:01] also wait_timeout is also set low [00:16:20] c: I think the only setting that mw has that could affect things is DBO_PERSISTENT [00:16:32] I mean other than setting up varnish or something [00:17:18] Or i guess setting a max number of apache/whatever workers so you don't have too many workers working at once [00:20:10] prefork mod is vastly configured to use lots of workers [01:17:05] I'm trying to use the PageContentSaveComplete hook... I created $IP/extensions/Hooktest/extension.json with { "Hooks": { "PageContentSaveComplete": "MyExtensionHooks::onPageContentSaveComplete" } } and a php file in same dir containing: class MyExtensionHooks { public static function onPageContentSaveComplete... [01:18:14] I don't know if it's working [01:24:45] i put die("it worked"); in onPageContentSaveComplete but I'm not seeing that text after I edit an article [04:34:35] is there a way to prevent this? [04:34:40] https://doomwiki.org/w/index.php?title=Final%EF%BB%BF_Doom_Game_Secrets:_Unauthorized%EF%BB%BF&redirect=no [04:35:47] I'd have expected certain URL-unfriendly zero-width unicode characters to be disallowed in titles but apparently not [04:39:41] You can ban with title blacklist [04:39:43] or abusefilter [04:40:04] Some zero width characters are banned (like rlm) [04:40:11] and others get silently converted to spaces [04:41:24] Hmm, That's a byte order mark [04:41:30] Kind of odd for that one to get into a title [04:42:55] Quasar`: Generally though we don't ban all zero width charcters, as some of them (especially ZWJ and ZWNJ) are actually required for proper text rendering in some languages [04:46:18] I've had trouble getting certain unicode characters into title blacklist in the past [04:46:27] first off the content seems subject to certain normalization steps [04:46:35] so what you write is not always what's saved [04:47:35] or rather at least what is matched against [04:48:07] somebody suggested it might be a bug in AntiSpoof extension but I don't understand why its hook would be firing on a regex matching operation [04:48:40] anyway, I see... [04:49:02] Yeah, AntiSpoof isn't really what you want if you want to completely disallow these characters. [04:49:40] You want to modify the allowable characters in title global configuration variable, I think. Or TitleBlacklist. AbuseFilter is probably pretty heavy-handed for this. [04:49:45] well, no. We have AntiSpoof installed, though. What was happening is that certain characters in one of the regex's we put in our title blacklist were matching against normalized characters. [04:50:09] ie, normal ASCII range letters and numbers instead of the Unicode in the regex [04:50:35] Hmmm. [04:51:15] Were you specifying to the title blacklist entries? [04:52:02] nope [04:52:02] There were bugs in the title blacklist applying to ASCII characters years ago... I would think those issues would be resolved by now. [04:52:11] here's the revision in question that I had a problem with [04:52:12] https://doomwiki.org/w/index.php?title=MediaWiki:Titleblacklist&diff=152486&oldid=151783 [04:52:47] the only thing that should be normalized in the page contents of MediaWiki:Titleblacklist is NFC stuff [04:53:43] IIRC the characters on the left are not even what I entered when saving the page. [04:53:45] Although for the actual regex, I don't know if that's in unicode mode or not [04:54:30] It looks like you banned the letter K. [04:54:41] I guess it could be older revisions on older versions of MW had different normalization algorithms (for different versions of unicode) [04:55:10] right that was originally a small K symbol, probably the degrees Kelvin sign [04:55:19] when saving the blacklist, it was changed into an actual K [04:55:37] I think the kelvin sign is a deprecated unicode character, that could be related [04:55:43] ah. [04:55:43] but I thought it was still valid in NFC [04:56:11] I'm not sure what code point we're talking about. [04:56:26] me neither any more unfortunately. [04:56:30] Heh. [04:56:33] was a long time ago [04:56:40] Well, I don't think that's a bug in TitleBlacklist. [04:56:48] Kelvin = U+212A [04:57:00] I don't see any reason for it to be autoconverted [04:57:42] note I also had to remove the Angstrom sign [04:57:51] as it was converted into an ordinary A with o ring [04:58:26] and we have quite a few Nordic folks in our community so that wouldn't fly for long :) [04:58:38] Huh. [04:59:00] Yeah, it does get turned into a regular K. [04:59:09] That's gross. [04:59:40] https://test.wikipedia.org/wiki/MediaWiki:Titleblacklist [04:59:42] I tested there. [05:00:39] Quasar`: If all else fails you can do \x{212A} or whatever character you want [05:00:48] ok [05:00:57] if Kelvin is not valid NFC anymore, then it should be impossible to put it in a title [05:01:03] I had tried about a dozen different escape syntaxes before I gave up [05:01:24] the amount of misinformation out there on which syntax to use with MediaWiki:Titleblacklist is astounding [05:01:32] blind leading the blind I'll assume [05:01:41] \x{} syntax works fine. [05:01:49] It's in use here: https://en.wikipedia.org/wiki/MediaWiki:Titleblacklist [05:01:49] cool. [05:01:53] I'm trying to use the PageContentSaveComplete hook... I created $IP/extensions/Hooktest/extension.json with { "Hooks": { "PageContentSaveComplete": "MyExtensionHooks::onPageContentSaveComplete" } } and a php file in same dir containing: class MyExtensionHooks { public static function onPageContentSaveComplete... [05:02:02] it doesn't seem to be working though [05:02:50] right, https://www.fileformat.info/info/unicode/char/212a/index.htm says it has a decomposition to K. I was getting confused about the difference between a compatibility composition and a canonical compoistion [05:03:41] Quasar`: https://secure.php.net/manual/en/regexp.reference.escape.php should list what the valid escape sequences are for regexes in titleblacklist [05:03:58] I think some of the confusion is older versions of mediawiki did not use unicode mode, but newer ones do [05:04:04] thanks [05:04:56] mwasteland: You also have to add your file to the list of AutoloadClasses [05:05:13] in extension.json [05:06:11] e.g. { "Hooks": { "PageContentSaveComplete": "MyExtensionHooks::onPageContentSaveComplete" }, "AutoloadClasses": { "MyExtensionHooks": "MyExtensionHooks.php" } } [05:06:25] Assuming the file where your class is is named MyExtensionHooks.php [05:12:19] bawolff: okay, i've done that, but it still doesn't seem to be working? I put echo "hiiii"; return true; in onPageContentSaveComplete( &$wikiPage, &$user, $content, $summary, $isMinor, $isWatch, $section, &$flags, $revision, &$status, $baseRevId, $undidRevId ) [05:12:33] and after i make a change to a page i don't see that hiiii anywhere [05:12:56] mwasteland: You added wfLoadExtension to LocalSettings.php [05:12:58] ? [05:13:36] i.e. wfLoadExtension( 'Hooktest' ); [05:13:39] bawolff: no, i thought that was for older versions XD [05:13:43] i will do that [05:13:58] That's for the current version [05:14:34] The old version was: require "$IP/extensions/Hooktest.php"; [05:19:06] now it's saying this: Notice: Undefined index: name in C:\xampp\htdocs\mw\includes\registration\ExtensionRegistry.php on line 229
[05:20:54] and Notice: Undefined index: name in C:\xampp\htdocs\mw\includes\registration\ExtensionProcessor.php on line 437 [05:21:20] I guess Extension registry is expecting all extensions to specify their name [05:21:55] I suppose its a mild bug in core, in that either extension registry should throw an exception if its really required, or it should use isset to avoid the warning [05:22:18] mwasteland: That's probably pretty safe to ignore during your testing, its just complaining that extension.json should list the name of your extension [05:22:46] I think, unless things don't work, in which case i'd just add a name field [05:23:49] You should be able to find other extension.json files from other extensions. For example, the Boilerplate extension should have an example of one [05:24:25] i added a name field and presto no more warnings [05:25:33] thanks bawolff [05:37:31] I wonder if Project:Support_desk is getting the same spam as this channel [05:37:40] Lots of people asking non-MW questions there [08:28:07] Hi d3r1ck . Have you, by any chance, seen my reply to Andre on Translators-L? https://lists.wikimedia.org/pipermail/translators-l/2018-October/004639.html [08:28:31] aharoni: No, I'm not sure I'm on that list, let me check now! [08:28:50] Just see the URL: https://lists.wikimedia.org/pipermail/translators-l/2018-October/004639.html [08:29:30] Yes, read it up now! [08:30:06] That can be possible aharoni but we must be very sure that they can do the translation in that language? [08:30:25] Or do you have clues on whether native speakers or writers of the language will be for GCI? [08:30:44] Just so I understand because it's translating from "en" -> "target-language" [08:31:01] And these folks may not know anything about that, please what are your thoughts? [08:32:05] And they'll need some bootstrapping on how to use translatewiki.net as well :) [08:33:45] d3r1ck: yes, it's always English to (target language), and the translator must know the target language well. (I won't say "native". I'm not a native Hebrew speaker; I only learned Hebrew when I was 11 years old, but I'm translating MediaWiki into Hebrew, and nobody complains.) [08:34:13] But yes, it must be somebody who knows the target language well. It's not too difficult to check for this. [08:34:49] Cool :) [08:34:55] Somebody who doesn't know Azerbaijani cannot translate to Azerbaijani. [08:34:59] (Azerbaijani is just an example.) [08:35:05] Sure! [08:35:20] And if it's an American student who only knows English, then tought luck :) [08:35:38] But if it's an American student who knows Spanish, Chinese, Arabic, Hindi, or anything elseā€”that's good. [08:35:53] Or any other country, of course. [08:35:58] aharoni: Let me quickly check something up! [08:36:29] d3r1ck: I'd by particularly happy to see students from African countries translating to Yoruba, Twi, Swahili, Xhosa, etc., if these countries can participate. [08:37:11] I'm wondering, do we have some statistics on origin of GCI participants? [08:37:29] If we do, those would be very useful for deciding which languages to include. [08:37:56] Urbanecm: indeed. [08:38:12] aharoni: GCI is for everyone (13 - 17) but not everyone is willing and able to participate [08:38:18] aharoni: https://developers.google.com/open-source/gci/2017/mentor-oa-announcements#november_29_2017_day_2_clarifications_and_translation_tasks [08:38:35] Also, some languages are lucky (or unlucky, depends on perspective), because everything is already translated ;) [08:38:39] We may need to touch base with Google with regards to this awesome request of yours, can you give us sometime to do that? [08:38:48] (Or amost everything) [08:38:54] For example Hebrew, Ukrainian, German, Macedonian, and some others. [08:39:07] Urbanecm: I don't think we do. But maybe Google does? [08:40:12] Since GCI participants are very young, Google consults with parents via email (parental ...) to make sure they agree these students to participate in GCI [08:40:31] d3r1ck: about https://developers.google.com/open-source/gci/2017/mentor-oa-announcements#november_29_2017_day_2_clarifications_and_translation_tasks - it's so amusing... I repeatedly see Americans giving "Klingon" as an example of a foreign language. [08:40:33] So maybe they know, not very sure! [08:40:44] Or Dothraki, or Elvish, or Esperanto. [08:41:01] Why not French, or Spanish, or Chinese, or Hindi? Languages that people actually speak?.. [08:41:04] d3r1ck, how is parental consent relevant to languages they speak? [08:41:20] (And yes, there are quite a lot of people who speak Esperanto, but not as many as Spanish.) [08:41:52] Also, "Translate our app/documentation/etc. into language X." is given as a "Bad example" because: [08:41:59] "you must be able to validate any translation work done" [08:42:13] If I can find somebody who can verify the translation, is that OK? [08:42:44] Urbanecm: Honestly, I don't know! Maybe Google asks a set of questions and then they get some info? [08:43:11] aharoni, I think so - it seems Google do not recommend translation tasks because high cheating ratio, which means if you are able to prevent cheating, it should be okay [08:43:49] aharoni: Yes that can be very okay as long as the work is being done! Like I suggested, let's get in touch with Google, maybe they'll allow translation tasks? [08:43:58] Urbanecm: we are pretty good at preventing cheating :) [08:44:04] I'm not very sure till we get the confirmation or maybe Reedy has some ideas? [08:45:08] It might be worth asking Google for clarification [08:45:25] Let me email the mentors list [08:45:40] Thanks Reedy :) [08:55:31] d3r1ck: yes, please check. Thanks. I'll be very happy to mentor this, and I can verify the quality. [08:55:53] Okay :) [08:55:58] We'll do this :) [09:02:32] d3r1ck: that post suggests "Developing a language specific style guide for translators to use" as a "Good example". I would be very reluctant to give this to a newcomer in GCI. Such a task requires very good familiarity with the style of writing in the wiki projects in that language, and actual experience with how translatewiki works. [09:03:03] We do have a major need for style guides in more languages, but GCI doesn't look to me like the right place to get them. [09:04:04] d3r1ck: we have very few languages at the moment: https://translatewiki.net/wiki/Special:PrefixIndex/Localisation_guidelines . We need dozens more, but probably not with GCI. [09:04:19] Okay! [09:05:08] Having a look at that right now :) [09:07:27] Cool, like you said, that's probably for more experienced translator. [10:16:19] Hmm.. [10:17:27] I have couple of Mediawikis on two different servers. The servers are in UTC time and I have my timezone set in the Mediawiki preferences to EET, but yet I'm seeing all times in the UI in UTC [10:18:11] What's going on? I do have a recollection that I have previously seen the times presented in my timezone as per preferences [11:02:18] d3r1ck: Ping? [11:05:45] o/ [11:07:21] Do you have some time now to discuss GCI ? [11:07:40] Not right now, I'll get back to you once I'm done! [11:07:56] Okay ! [11:09:58] But you can just drop the questions? Maybe others can help before I loop in? [11:10:03] Gopa: ^^ [11:10:30] Okay :-) [11:10:56] In https://codein.withgoogle.com/dashboard/tasks/4707210715201536/ mentioned as Needs More Work, Can you please specify what more information required for this task ? [12:04:11] One complexity in task https://phabricator.wikimedia.org/T201491 as there are many extensions for each word So how many extensions has to fix for one word ? in GCI [12:05:18] d3r1ck: Should the contestant clone all the extensions to fix that particular typo and fix it ? [12:08:25] Gopa: So we have to set that criteria [12:08:36] How many extensions do we want GCI participant to fix per GCI task? [12:08:41] 1? 2? [12:09:20] Limiting one will be good to go I guess as he has to fix that in all the extensions. [12:10:32] Yes, I think fixing in 2 repos will be good! [12:10:45] Since it's just typos, not so much programming logic [12:11:22] I think making that task separate task will be better [12:11:23] Do you mean selecting one typo and fix in 2 extensions ? [12:11:36] or in all extensions ? [12:11:38] Gopa: So there are many links there! [12:11:55] yes [12:11:59] So each task will address 2 links (regardless of the number of repos) [12:12:12] So sorry for mentioning repos, instead I was to say link in this message [12:12:17] 13:10:32 d3r1ck | Yes, I think fixing in 2 repos will be good! [12:12:29] okay np :) [12:12:54] Gopa: Could you break the task up into separate tasks? [12:13:09] in GCI site ? [12:13:14] So use numbers to label the tasks like so (I), (II) etc [12:13:17] Yes on GCI [12:13:26] Making it separate tasks will help resolve conflicts [12:13:44] So let's say "Task (I)" will have the first 2 links [12:13:53] or what about increasing the no of instances ? [12:14:07] Task (II) will have the 3rd and 4th link etc [12:14:44] Yea that sounds good but Incresing instances to the current task will be any problem ? [12:14:52] Gopa: That can work as well but we need to make it clear to the students to write their name once they complete a particular case or link to the patch [12:15:00] No, it won't be a problem [12:15:22] So lets go with this Instead of creating multiple tasks ? [12:15:25] Just making it clearer about submitting patches and adding a link to patch [12:16:00] Gopa: Wait a min, let me do something, give me a im [12:16:03] *min [12:16:07] Okay ! [12:16:58] I suggest creating the new column for the patch-link after getting merge in the table ? [12:19:11] So the idea is once the patch(es) is/are submitted, the link should be immediately published [12:19:21] So other students do not work on it. [12:19:44] And we do not really need details about who is working on it, one we have a link to the patch, we can find out who [12:19:50] Gopa: Does that make sense? [12:19:58] yea but adding the Assigns column avoid conflicts to contestants to work on. [12:20:31] Gopa: If you say so, the no problem, you can add it :) [12:20:50] Okay [12:21:34] As discussed before in task https://codein.withgoogle.com/dashboard/tasks/6089363537526784/ did u notice task changes? [12:22:15] https://phabricator.wikimedia.org/T189330 [12:22:34] Andre mentioned a few things about that task [12:23:58] So for extensions, we'll need to create separate tasks [12:24:14] Also, those occur in the core I guess, per Andre's comment [12:24:24] So we just need to fine tune the task a little bit [12:24:37] For the first link you shared, did a few update and it's fine and published [12:25:51] Ya just now I noticed it's published now, Thanks :) [12:27:50] I've updated the task to the last link you sent, you can fix it if you see the need for some addition Gopa [12:27:57] And then update content on GCI site :) [12:30:07] Okay so should we also create table here to track students ? [12:37:20] Yeah, we can :) [12:37:44] This one will be nicer as it's not long text :) [12:37:44] Okay Thanks ;-) [12:37:51] Anytime :) [14:51:12] does anyone know the purpose of /images/tmp? It seems to be full of .html files that are copies of every page in my wiki but without any styling [15:20:55] wmat: that might be where you configured your file cache to write to [15:21:21] see https://www.mediawiki.org/wiki/Manual:File_cache for more info [15:23:18] Morbus: if you edit your [[MediaWiki:Common.css]] page on your wiki, you can add css that modifies the height of the editor. This might work (haven't tested it personally so can't say for 100% sure it does) [15:25:55] Morbus: we have some anti-spam measures in place and since you aren't logged into a nickserv account, only chanops could see your initial message. I've given you voice so that everyone can see what you say now, in case you have other questions and ops aren't around :) [15:47:25] grrr. stupid irc cloud. it's supposed to auth. [15:48:55] thanks for pointing that out. [15:50:30] should be sorted. [16:57:55] khalella_: the CheckUser extension lets you do that [16:57:57] !checkuser [16:57:57] CheckUser is an extension that allows privileged users to see what IPs a user edited from or what users edited from an IP. For more information see < http://www.mediawiki.org/wiki/Extension:CheckUser > [17:16:34] If you have an account on that wiki, https://en.m.bitcoinwiki.org/wiki/Special:EmailUser/Artillar [18:25:28] Is there a kosher way to add custom recent changes to the RecentChanges page? I have a custom database separate from mediawiki and I want changes from that DB to appear in mediawiki's Recent Changes [18:30:22] how are you planning to tackle that, add to the mw db, or customize the recentchanges module? [18:30:34] perfect [19:43:48] hi, im getting "img" tags escaped (with "), why is that? [19:51:12] niso: is not allowed in wiki markup, you need to use [[File:Image links]] instead to embed images [19:53:10] Unless $wgAllowImageTag is enabled [19:55:01] $wgAllowImageTag [19:55:02] it seems [19:55:14] and I didn't know about that before, although there are privacy implications by enabling it [19:56:29] ive tried this but has typoo haaa [19:56:29] Its less evil than the option to magic turn all urls ending in .png/.gif/.jpg into an image, as it lets you specify size [19:56:31] ty:) [19:57:34] bawolff: yeah, but the magic method lets you whitelist external sources whereas this one probably doesn't? so they each have pros and cons [19:58:16] Also, its weird $wgEnableImageWhitelist is true by default [19:59:16] yeah, it is [19:59:22] although the whitelist is empty by default [19:59:27] but still [19:59:40] Obscure feature with privacy implications [19:59:56] you can probably blame me for that [20:00:10] I'm the one that added that feature in the first place [20:00:14] Wheel of blame :P [20:02:17] I wouldn't be especially sad to see it go, tbh [20:03:04] "put regex fragments on a random mw namespace page" is pretty user-unfriendly as far as things go [20:03:41] While, its not like Titleblacklist is going away anytime soon [20:03:50] also means an extra db hit every time a page is parsed [20:03:52] So we're already going to have that anyway [20:04:19] but language caching :P [20:04:23] true [20:04:35] also it'd be pretty trivial to migrate Titleblacklist to AbuseFilter [20:05:10] I think TitleBlacklist is easier for many users to understand than abusefilter [20:05:25] I view that as a failing in AbuseFilter's UI [20:05:31] it's... clunky [20:06:10] Its also something you can easily copy and paste all at once across wikis [20:06:40] sure, but having a view where each condition is its own line with "friendly" display might go a long way towards making it approachable by more users [20:07:49] yes [20:08:13] And i think migrating it to lua would make it friendly to more programmers [20:39:33] bawolff, But the goal isn't to make things more friendly to programmers, is it? [20:40:12] I think that's a large part of the goal of Lua [20:40:38] The idea that templates are so complicated, that non-programmers aren't going to do it, so might as well make it a real programming language that's sane [20:43:17] I mean, templates aren't massively difficult, they were weren't too performance friendly, particularly when you let Wikipedians make them. [20:44:06] The complex one's became hard to reason about/maintain [20:44:41] I still feel that AbuseFilter should be approachable to anyone [20:44:50] programmers could always code their own anti-whatever measures in PHP [20:46:00] I really ought to write a Lua infobox one day... [20:58:49] would adding my own records to the recentchanges table for custom events be a bad idea? [20:59:36] mwasteland, directly adding to recentchanges? [20:59:48] yeah [20:59:52] probably [21:00:04] haha [21:00:05] for custom events I recommend you look into the MW logging system [21:00:10] it should handle RC for you [21:06:18] Krenair: I'm not finding much on google about that [21:06:25] Do you have a link?> [21:07:14] https://www.mediawiki.org/wiki/Manual:Logging_to_Special:Log [21:17:26] Krenair: is there a way to make recent changes show up in Special:Log? [21:17:35] or vice versa? [21:17:55] I don't want users to have to check 2 places for changes [21:17:55] mwasteland, logs can be made to show up in RC, but vice versa doesn't really make sense [21:18:04] nice! [21:18:31] on that page you've got the $logEntry->publish( $logid ); line which should put it into RC [21:21:19] thanks [21:42:53] hi, im trying to upload lots of images to my wiki ,googled and got to simplebatchupload extension, but it seems that when an any upload failed it does not auto retry it so i have to manually retry to upload the failed files. any way to do this more automated? [21:43:10] !importfiles [21:43:13] helpful [21:43:28] niso: https://www.mediawiki.org/wiki/Manual:ImportImages.php [21:44:40] anything without shell access ? (im having one but it taking long time to configure) [21:45:08] tried the uploadwizard extension? [21:46:39] ill try, ty [22:43:12] In my onPageContentSaveComplete hook, If I want to find certain tags in the article text, e.g. tagbody/tag> or _<_tagbody_>_, is there a better way than me writing my own regexes? [22:44:22] If the tag is a hook extension, you could possibly look at the parser output [22:44:32] if its available at that point [22:45:25] and if the extension does $parser->getOutput()->setExtensionData() or something [22:46:33] but i would ask what you are trying to do, as at save time might not be the best time to process tags [22:50:46] I want to store some metadata about the article (in non-mediawiki tables) that depends on whether or not particular tags are present in the article. If a user adds a tag, add a record to some table, and if a user removes that tag later, delete the record.