[00:36:54] Eloquence: Fixed language code is on Commons and working well [01:20:58] kaldari, still around? [01:21:04] yes [01:21:25] it would be nice to get the i18n fix merged and pushed out so elke can play with the campaign changes for wlm [01:21:42] which fix is that? [01:21:47] https://gerrit.wikimedia.org/r/#/c/21288/ [01:23:57] sure, you want that pushed out now? [01:24:27] yeah .. it's not like tomorrow is any better, and it'd be nice to get it out before the weekend [01:30:59] no problem [01:47:49] Eloquence: unfortunately, this one will require a scap :( [01:49:28] hopefully will be finished by 7:15 or so [01:55:44] got it, thank you! [02:04:54] * jorm yawns. [02:08:41] finished [02:10:16] great, i18n is fixed. thanks. [11:21:14] Hi, is anyone from the VisualEditor team around? [16:52:55] chrismcmahon: I'm moving the New Page Curation test plan from your user talk page into a https://www.mediawiki.org/wiki/Page_Curation/Testing page to make it easier to point to [16:54:26] thanks sumanah [16:54:46] chrismcmahon: in general, I think you should stop developing these things in your talk space [16:54:52] and just develop them on the pages they're going to be [16:55:00] use {{draft}} at the top if you want to signal that it's a draft [16:55:05] sumanah: it covers most points but I'd like to have Fabrice and others review it when he gets back from vacation [16:55:56] chrismcmahon: sure [16:57:05] I'm sure it's missing some nuances :) [16:57:08] but even so, just draft it in article space instead of userspace [17:08:29] <^demon> Platonides: Would you mind reviewing https://gerrit.wikimedia.org/r/#/c/18654/ for WLM? I was trying to add a bunch of missing .gitreviews :) [17:34:01] gwicke: I'm almost afraid to ask, but how many times have you had Indian food this week? [17:34:24] marktraceur: three times [17:34:34] had mexican yesterday.. [17:34:34] Hm. I don't want to enable you, then.... [17:34:53] are you already hungry? [17:37:54] gwicke: No, just thinking about lunch [18:02:46] Krinkle: how's it going? [18:03:08] Busy catching up on stuff [19:54:15] Wow, U+1F300 CYCLONE is awesome. [19:54:20] It renders blue on Mac in most applicatoins [19:54:26] even if the font is black [19:54:32] 🌀 [19:54:37] (%F0%9F%8C%80) [19:54:46] 🌀 [19:55:29] Wow, I can't even see it [19:55:42] And Firefox is usually so great about unicode [19:55:59] However, enwiki does a great job of handling it: http://en.wikipedia.org/wiki/%F0%9F%8C%80 [19:56:20] lol [19:56:29] it redirects to the article of cyclone [19:56:30] that's wrong [19:57:57] And yet, there it has been for almost two years :) [19:58:09] it should redirect to an article about the character [19:58:15] or rather, be that article [19:58:34] I'm not sure there is such an article [19:58:50] well, we have [[!]], [[~]] and [[@]] [19:59:09] I agree, articles *like it* exist, but this one doesn't [19:59:10] even [[⁀]] [19:59:44] <^demon|away> [[^]] redirects to [[Caret]] :( [20:00:06] That's good though, right? [20:00:06] ^demon|away: Not [[Carrot]] ? :P [20:00:12] It's an article about the character [20:00:51] <^demon|away> Krinkle: I'd prefer to have kept the article at [[^]] :) [20:03:53] marktraceur: lol [20:03:56] look at http://codepoints.net/U+1F300 [20:04:03] it has a wikipedia excerpt about the "character" [20:04:07] failed due to that redirect [20:04:22] it should say "Wikipedia has no entry (yet) about this character" (like it does for others) [20:04:50] Ha, I love it [20:05:05] I vote for keeping it as-is [20:07:49] No can do [20:07:53] Awww. [20:08:01] * Krinkle is writing an article [20:12:04] I can't get it to display [20:12:12] marktraceur: can you see it on http://codepoints.net/U+1F300 ? [20:13:40] Krinkle: Doesn't look like it exists yet [20:13:50] what do you mena [20:13:54] what do you mean? [20:21:22] RoanKattouw_away: What was your solution for offsite hosted fonts again? [20:25:14] Hm.. what're the static-master and php-master references doing on ./docroot/bits etc. those don't appear to exist (anymore/yet/never) [20:40:23] somewhere on upload.wikimedia.org [20:42:05] yay, found another frontend person (marktraceur I figure more frontend code review is better, and I've given Matmarex some "please be nicer" advice) [20:44:20] Can someone please explain why https://bs.wikipedia.org/w/index.php?title=Razgovor_o_portalu:Islam works, but https://bs.wikipedia.org/w/index.php?title=Razgovor_o_portalu:Islam does not? [20:48:52] nvm, it's okay now [20:50:09] \o/ [21:23:30] sumanah: Good stuff! :) [21:25:27] Krinkle: Hack config to allow font uploads for that wiki, upload font to wiki, disable config, switch URL [21:25:38] Right. [21:26:06] In this case its not much fixing of a violation as much as it is a prevention [21:26:43] Oh [21:26:48] RoanKattouw: I want to upload a font that is capable of displaying many of the unicode characters (besides the ones pretty much every font has) [21:26:49] Yeah I don't have a good prevention mechanism for this [21:26:53] Right [21:27:00] no, not in that sense prevention [21:27:01] It's probably better to get it in WebFonts then [21:27:07] Right, you wanna do the right thing [21:27:48] e.g. this characters (and others). some have a Wikipedia article. But either half the visitors see a blank space or they used an SVG. [21:27:52] http://codepoints.net/U+1F300 [21:28:14] A popular (and freely usable) font for this is Symbola [21:28:25] Unicode users it as well to display fonts on their site [21:28:56] I'm thinking of somehow uploading it, and then using font-face to make it available and browsers automatically download it on pages where font-family: Symbola is used. [21:29:06] and don't when it isn't used. [21:30:00] WebFonts, right. [21:30:15] hey Owyn, RoanKattouw said he might be able to help us for a bit. [21:30:18] hello there [21:30:30] hi Owyn & kflorence, welcome [21:30:31] unfortunately i'm battling this other P2 right now :) [21:30:36] RoanKattouw: Though WebFonts is about languages, not individual fonts. Not sure it can handle this [21:30:56] also, it doesn't want to handle it apparently."Development on this extension is discontinued. Please use Universal Language Selector instead and WebFonts is integrated in it. " [21:31:25] i don't funny understand the problem... but in ResourceLoaderWikiModule::getContent() there is a special case for namespace=NS_MEDIAWIKI [21:31:32] Krinkle: Hmm, either way I think you should ask the i18n people about font issues [21:31:39] Owyn: yes? [21:31:50] Owyn: Looking [21:32:07] Oh, yes, that [21:32:13] That's because MediaWiki: pages are also messages [21:32:16] and it looks like this is breaking calls to load.php in some cases... the message is just blank when it is actually defined [21:32:22] RoanKattouw: its not really a font issue. I just need to upload it somewhere and add a css rule in MediaWiki:Common.css on en.wikipedia for the template class that uses it. It works perfectly. Browsers download it only when it needs it. [21:32:36] Owyn: file a bug, and steps to reproduce [21:32:59] ok. it's reproducable in 1.19, i haven't looked at 1.20 [21:33:02] Owyn: That's really strange, I don't see how that could happen. Where do you expect the contents to come from? [21:33:15] Like, core i18n file, extension i18n file, MediaWiki: page, ...? [21:33:21] the contents are actually a page in the mediawiki namespace [21:33:43] which contains javascript (it's part of a resource loading thing we are doing) [21:33:50] Hah [21:33:52] That should just work [21:34:00] yeah. it does. most of the time. but sometimes it doesn't. :) [21:34:01] It works for extensions like WikiLove and what not [21:34:05] :O [21:34:12] well, it's a subpage, like MediaWiki:Common.js/Another.js [21:34:13] Owyn: Are you loading it as a message or as a module [21:34:15] Is there any pattern to it? [21:34:16] it looks like if one call to load.php loads MORE than one message, it only loads one [21:34:17] OH [21:34:20] It's a subpage [21:34:24] don't use subpages [21:34:28] yes, it's a subpage [21:34:29] heh [21:34:32] That's not a valid answer [21:34:34] that's for translations [21:34:35] the users want to use subpages. heh. [21:34:47] The third "true" parameter might break subpages I suppose [21:34:48] they don't get to pick. this is how the system works. [21:35:18] It should have its own page name [21:35:19] Maybe that third true shouldn't be there [21:35:19] there's no reason not to, works just the same. [21:35:32] Owyn: As a local hack, try removing the third "true" argument to MessageCache::get() there [21:36:42] oh, i don't see that call... could be that's changed in 1.20 [21:36:45] what i see is this [21:36:49] if ( $title->getNamespace() === NS_MEDIAWIKI ) { [21:36:49] $message = wfMessage( $title->getDBkey() )->inContentLanguage(); [21:36:49] return $message->exists() ? $message->plain() : ''; [21:36:51] } [21:37:10] here's an example url: [21:37:22] (apologize for the nastiness of the url. :) [21:37:24] http://pl.bleach.wikia.com/load.php?debug=true&lang=pl&mode=articles&skin=oasis&missingCallback=importArticleMissing&only=scripts&articles=MediaWiki:Common.js/chatango.js%7CMediaWiki:Common.js/prze%B3%B9czanie.js%7CMediaWiki:Common.js/tablica.js%7CMediaWiki:Common.js/facebook.js%7CMediaWiki:Common.js/ajax.js%7CMediaWiki:Common.js/showhide.js%7CMediaWiki:Common.js/upload.js%7CMediaWiki:Common.js/es.js%7CMediaWiki:Common.js/userRightsIcons.js [21:37:35] if you view that, only the first script appears. the others are empty comments. [21:37:49] OK, so 1.20 has this: [21:38:03] if ( $title->getNamespace() === NS_MEDIAWIKI ) { [21:38:04] // The first "true" is to use the database, the second is to use the content langue [21:38:06] // and the last one is to specify the message key already contains the language in it ("/de", etc.) [21:38:07] $text = MessageCache::singleton()->get( $title->getDBkey(), true, true, true ); [21:38:09] return $text === false ? '' : $text; [21:38:10] } [21:38:20] Owyn: What is articles= ? [21:38:21] Try that, and if that doesn't work, try removing the third "true" [21:38:33] That looks very wrong [21:38:41] Krinkle: that's the extension we are working on to include articles from other wikis [21:38:41] Yeah what is mode=articles, that's weird [21:39:07] There is a built-in class for this, no need to hack a mode=articles [21:39:09] everything else should be standard resource loader [21:39:24] Krinkle: They are using ResourceLoaderWikiModule internally apparently [21:39:26] is the class new or in 1.19? [21:39:32] No, has been there since 1.17 [21:39:34] But I don't think that works cross-wiki [21:39:36] Yeah [21:39:48] RLWikiModule is the class that Owyn is complaining about [21:39:48] someone created ResourceLoaderGlobalWikiModule which loads articles from a different wiki [21:39:52] well, if you load it from a different domain it is cross-wiki [21:39:57] that's our thing... this other one is core [21:40:00] that is new in 1.19 [21:40:01] Owyn i don't funny understand the problem... but in ResourceLoaderWikiModule::getContent() there is a special case for namespace=NS_MEDIAWIKI [21:40:11] ? [21:40:29] (Quoting Owyn there sorry) [21:40:32] Owyn: And does ResourceLoaderGlobalWikiModule use the correct database connection all the way? [21:40:33] hehe [21:40:46] yeah, that's what it does... it uses this helper we have called GlobalTitle [21:40:54] If it inherits any methods from ResourceLoaderWikiModule that don't it can break [21:40:57] instead of doing an http get or using the API, it just switches the database handle. [21:41:05] ok [21:41:15] RLWikiModule has a getDB() method in 1.20, possibly in 1.19 [21:41:20] Owyn: Is "global" here a specific wiki, or in general any other wiki? [21:41:23] I use that for some of the RL2 functionality [21:41:29] for us "global" is any other wiki [21:41:37] But it doesn't work for fetching content [21:41:39] at least in that context... [21:41:41] I'd recommend using cross-domain load.php instead of loading it inside the same load.php [21:41:49] so that it is taken care of by the local wiki [21:41:57] that's how we do it in Gadgets 2.0 [21:42:18] we're not familiar with all the features of resource loader... :) [21:42:26] is that a recent addition, or was it part of 1.19? [21:42:50] np, we're here to help. but it sounds like (form that url) that a lot has been implemented already, how recent is this? [21:43:04] (at Wikia) [21:43:07] we're running 1.19.1 at the moment [21:43:07] http://trac.wikia-code.com/browser/wikia/trunk/includes/wikia/resourceloader/ResourceLoaderGlobalWikiModule.class.php [21:43:11] we are open source after all :) [21:43:32] ok, last 11 days [21:43:53] yeah, I'd recommend to (if possible) make use of the multi-source feature in ResourceLoader as of 1.19 [21:44:07] that's especially made for this, and is what we implemented for Gadgets 2.0 [21:44:12] ok [21:44:16] i'll make a note... [21:44:22] $wgResourceLoaderSources [21:44:29] but i think in this case it's all loading from one wiki, so that's kind of a side digression... [21:44:34] Right [21:44:34] i remember that we looked at using Gadgets, but couldn't because it didn't support cross-wiki [21:44:48] at the time, anyways [21:44:54] Owyn: Did you see (and try) the code snippet I pasted earlier? [21:45:00] i'll try that... [21:45:18] the master branch of the Gadgets extension is 1.0 [21:45:18] 2.0 has been around for a few months now, and in version control, but you may have looked at the master branch instead [21:45:25] [21:45:55] with wgResourceLoaderSources one can register it locally with a different source, and then loading it on the page with mw.loader.load() will make the client side load those modules with a different source in the registry from the other domain, which then calls back to mw.loader.implement accordingly [21:47:45] neat [21:48:08] that would work for a central repo... our users tend to include stuff from arbitrary other wikia sites... [21:48:10] so on the "other" wiki is a "foobar" module with ResourceLoaderWikiModule. And on the "local" wiki is a placeholder module "myotherwikisfoobar" with source=myotherwiki, and myotherwiki is in wgResourceLoaderSources. [21:48:18] but we can probably figure out a way to make that work without listing 250000 wikis. :) [21:48:26] Then loading mw.loader.load(["a", "b", "c", "foobar"]); will make 2 http requests, one to the local one with a,b,c and one to otherwiki [21:48:32] oh, cool [21:49:01] yeah, that should work for cross wiki js loading [21:49:14] Owyn: When loading random things however, it is probably easiest to indeed not populate wgResourceLoaderSources with all wikis in the farm. [21:49:32] you only have to put in what is used. [21:49:41] sources can be dynamically added with mw.loader.addSource [21:49:44] btw, some of our users were loading 30+ separate js files using their own common.js [21:49:55] so this is a helper that builds a load.php request to do it all in one go [21:51:00] but when the wiki was non-en and they were loading more than 1 request, some of them were blank. whee! [21:51:21] right [21:51:21] so it's probably somewhere around here. i'll test this code change. [21:51:38] Owyn: If it doesn't work (I sort of expect it won't), try again without the third "true" [21:52:02] yeah, makes sense [21:58:22] goofy [21:58:47] yeah, that new bit doens't work either. [21:58:57] if i comment out the ENTIRE special case for ns_mediawiki it works 100% [21:59:11] because revision->getRawTExt() returns the correct content [21:59:24] but wfMessage($title->getDCBKey()) does not [22:00:00] Right [22:00:08] But then it won't work for MediaWiki: pages that are really messages [22:00:38] Does $text = MessageCache::singleton()->get( $title->getDBkey(), true, true); (with 2 trues, not 3) not work? [22:00:46] ah, so resource loader can load scripts or messages... [22:00:53] Well, sorry no [22:00:56] What I'm saying it [22:00:59] *is [22:01:24] The reason there's a special case is because, if the MediaWiki: page is empty but there's a message by the same name, that's what will be loaded instead. Cause that's also what happens when you view the page [22:01:39] The MediaWiki: is magically "populated" from the i18n stuff [22:01:47] yep [22:02:22] i guess my question is, does it actually load i18n messages using this mechanism? [22:03:17] No [22:03:22] anyway, this is a case where there isn't a message, i18n fallback, but it does live in the Mediawiki namespace... [22:03:28] Loading i18n messages for the purpose of i18n uses a different code path [22:03:32] aha, good [22:03:33] Yes [22:03:44] This is loading i18n messages in lieu of the contents of an MW: page [22:03:48] i can't think of a case where we'd want that. :) [22:03:59] there must be one, i suppose. [22:04:28] It's because of the way Monobook.js and Vector.js were historically implemneted [22:04:31] It's not terribly necessary [22:04:54] oh, so they had snippets defined in message files somewhere? [22:05:26] Not really, just the default contents which look like "/* Anything you put here will be loaded on all pages */" [22:05:29] So it's stupid [22:05:37] aha [22:05:47] okay, i think i can fix this [22:05:54] Alright [22:05:56] I have to go [22:06:06] we are already subclassing that, so i can just override getContent in this case. [22:06:12] I'll be back on Monday afternoon, if you have more questions/problems hit me up then [22:06:18] Ah right [22:06:20] i just wanted to know if there was some horrible side effect from not implementing that. :) [22:06:35] Not really [22:06:52] Alright, good luck and happy coding [22:06:54] thanks for the insight, it was helpful [22:09:21] thanks guys [22:13:55] works [22:14:16] i just moved the special case for NS_MEDIAWIKI into our own subclass and use revision->getRawText() first [22:14:23] then if it doesn't find anything, it falls back to the parent logic [22:14:54] basically, just changing the order of loading, so a null/blank/badly cached message (which is probably some other bug) won't blank out the actual page [22:40:22] Ryan_Lane: would you be kind enough to create a new gerrit project for fundraising :) [22:40:44] I'm probably not the best person to ask :) [22:40:53] I'm in the middle of fixing something right now [22:41:13] fair enough. this can wait till monday; you were just the only member of the 'gerrit admins' group online [23:09:58] Nikerabbit: Have a sec for an l10n question? (or am I asking the wrong person?) [23:13:30] * marktraceur doesn't know who else is an l10n person....