[00:00:17] New code comment: Brion VIBBER; Shouldn't the fixme belong on whatever originally added it then?; [00:00:32] 03(mod) Strings in the app that are not translatable - 10https://bugzilla.wikimedia.org/33624 +comment (10liangent) [00:02:14] gwicke: MogileFS...that's what I was thinking of earlier...not that that's relevant to anything ;) [00:04:00] I think there are quite a few distributed storage systems with SPOF- just too easy to build ;) [00:05:06] 03(mod) Double save of main page causes crash - 10https://bugzilla.wikimedia.org/33625 +comment (10liangent) [00:06:35] Project MediaWiki-lint build #102: FAILURE in 5 min 37 sec: http://integration.mediawiki.org/ci/job/MediaWiki-lint/102/ [00:07:39] [apply] PHP Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING in /var/lib/jenkins/jobs/MediaWiki-lint/workspace/mw-extensions/WindowsAzureSDK/lib/PHPAzure/library/Microsoft/WindowsAzure/CommandLine/Scaffolders/ScaffoldTemplateScaffolder/resources/index.php on line 10 [00:08:35] liangent: you wanted to talk ? [00:09:38] Krinkle: talk about gadgets? [00:09:47] liangent: I don't know, you say :) [00:11:29] * Danny_B|backup just had a flashback of beverly hills 90210 on liangent's question... ;-) [00:12:10] Krinkle: then no and I'll leave [00:12:24] liangent: ok [00:12:27] <^demon|away> AaronSchulz: class $Name$Scaffolder extends Microsoft_WindowsAzure_CommandLine_PackageScaffolder_PackageScaffolderAbstract... [00:15:46] 03(mod) Searching for "#" - 10https://bugzilla.wikimedia.org/33628 +comment (10liangent) [00:17:16] 03(mod) Strings in the app that are not translatable - 10https://bugzilla.wikimedia.org/33624 +comment (10liangent) [00:22:37] :( I can't get more than 60 transactions/second from my mediawiki site. That kinda really sucks. [00:24:07] 03aaron * 10/branches/FileBackend/phase3/includes/filerepo/backend/SwiftFileBackend.php: [00:24:07] In SwiftFileBackend: [00:24:07] * Updated backend to match /trunk changes (r108353). [00:24:07] * Optimized doGetFileSha1Base36() and doStreamFile(), [00:24:07] * Moved doCreateInternal() code up. [00:31:43] johnduhart: do you have a few spare moments to review a patch or two? [00:32:21] Currently knee deep in deployment labs, sorry [00:32:25] got it [00:32:26] 03(mod) Strings in the app that are not translatable - 10https://bugzilla.wikimedia.org/33624 +comment (10liangent) [00:32:54] 03gregchiasson * 10/trunk/extensions/ArticleFeedbackv5/ (6 files in 4 dirs): [00:32:54] Fix up AFTv5 feedback page (somewhat) - match mockups a bit better, more [00:32:54] sensible HTML generation (still would rather have this in the JS than the PHP, [00:32:54] but as I said, this is only somewhat fixed up), stub out abuse/spam filtering, [00:32:54] add a couple of columns from alter.sql that didn't make it into the main sql [00:32:55] file, and add some new translations. [00:42:41] hello everyone, I've been reading about mediawiki and found out there is some sort of built in profiler. I've attempted to modify the StartProfiler.php, LocalSetting.php, and AdminSettings.php to enable this. [00:42:59] 03(mod) Explain better the meaning of "By e-mail" button - 10https://bugzilla.wikimedia.org/22457 +comment (10sumanah) [00:43:07] Yet when I open the profileinfo.php it returns an error:query failed: Table 'test.profiling' doesn't exist [00:43:13] any tips? [00:44:10] 03rsterbin * 10/trunk/extensions/ArticleFeedbackv5/modules/ (2 files in 2 dirs): (log message trimmed) [00:44:10] Bug fix: Since link option D is accessible when you're in overlay mode, it [00:44:11] should work as a toggle rather than only opening the modal: [00:44:11] - modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.js: [00:44:11] - New method toggleModal() [00:44:11] - Added toggleModal to the list of plugin-accessible methods [00:44:12] - modules/ext.articleFeedbackv5/ext.articleFeedbackv5.js: [00:44:32] 03rmoen * 10/trunk/extensions/MoodBar/ (5 files in 2 dirs): added recent changes log to moodbar feedback, add min height to fbd-list due to absolute positioned fbd-filters box [00:46:41] 03(mod) Searching for "#" - 10https://bugzilla.wikimedia.org/33628 +comment (10brion) [00:47:16] MutantTurkey: does that table exist in your db? [00:47:33] nope I just figured that out [00:47:38] I need to create it using this script apparently [00:47:54] maintainence/patchSql.php [00:48:03] raindrift: if UW gives "please wait, still checking the title for uniqueness..." three times when I click 'next' what might that mean? [00:48:18] spelled that wrong, but whatever, sumanah, that file doesn't exist for me. [00:48:24] (for multifile upload) [00:49:20] sumanah: which is just weird [00:49:49] MutantTurkey: patchSql.php doesn't exist? [00:50:05] 03(mod) Unable to save a page in Wikipedia namespaces on zhwiki - 10https://bugzilla.wikimedia.org/33626 +comment (10brion) [00:50:55] sumanah: correct [00:51:36] MutantTurkey: I see it is mentioned on https://www.mediawiki.org/wiki/Manual:How_to_debug [00:51:40] AaronSchulz: the thing that's happening there is an api call to commons, to see if the file in question exists. It could be a connectivity issue, or it could be a bug. [00:51:58] MutantTurkey: hmmm [00:52:02] oh, this is on my local test wiki btw [00:52:39] sumanah: that page is killing me [00:52:44] I've been staring at it for a while [00:52:50] oh. hm. in that case it could also be a titleblacklist configuration issue, i think. though it's possible that message isn't related to TBL. [00:52:52] http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/maintenance/ [00:53:00] * AaronSchulz does one file [00:53:09] sumanah: thanks [00:53:09] MutantTurkey: http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/maintenance/patchSql.php [00:53:14] apparently I can just manually look it over [00:53:15] :-) [00:53:23] MutantTurkey: did you do some sort of nonstandard installation? [00:53:29] 03(mod) Double save of main page causes crash - 10https://bugzilla.wikimedia.org/33625 +comment (10brion) [00:53:35] 'An unknown error occurred.', heh [00:53:41] sumanah: no idea, I didn't do it [00:53:47] afaik its a borked installation that is a few years old [00:53:55] 03(mod) Fix Wikipedia icon in Android app - 10https://bugzilla.wikimedia.org/33013 +comment (10hwalls) [00:53:58] MutantTurkey: what version of MediaWiki are you using? & if you look in your maintenance directory, what is missing in your dir that's in http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/maintenance/ ? [00:54:23] sumanah: let me see. [00:54:41] MutantTurkey: btw, googling "patchSql.php" would have eventually possibly led you to the right path [00:54:52] 04(REOPENED) Fix Wikipedia icon in Android app - 10https://bugzilla.wikimedia.org/33013 +comment (10Brion Vibber) [00:55:02] 1.12.0 [00:55:03] that's it [00:55:07] MutantTurkey: the current..... ah [00:55:13] how old is that? [00:55:15] :x [00:55:15] MutantTurkey: that is very old, and I suggest you upgrade to 1.18.0 [00:55:24] haha [00:55:26] welp [00:55:54] only 2009 :x [00:56:10] sumanah: the project is very hacky and I think an upgrade would do more damage then good. [00:56:21] MutantTurkey: well, if you look at https://www.mediawiki.org/wiki/Branch_points you see that 1.12 branched off trunk in early 2008. [00:56:59] AaronSchulz: when you get the 'unknown error', it's possible to use the chrome dev tools (or firebug) to look at what the last couple api calls returned directly. (and yes, this is lame, i agree) [00:57:00] MutantTurkey: in the long run, you'll want to upgrade, so spending the time to pay off technical debt will be a good investment, and the sooner you start, the less you'll have to do. And to get security fixes. [00:57:37] yeah I am messaging the guy in charge now [00:57:44] sumanah: I'll just do abackup and then do it [00:58:04] 03(mod) [Regression] Cannot navigate among links in a page using arrow keys anymore - 10https://bugzilla.wikimedia.org/33618 +comment (10brion) [00:58:07] MutantTurkey: https://www.mediawiki.org/wiki/Manual:Upgrading#How_do_I_upgrade_from_a_really_old_version.3F_In_one_step.2C_or_in_several_steps.3F [00:58:19] thanks [01:02:19] MutantTurkey: In case you need to help persuade anyone that it's worth upgrading: (a) most extensions won't work with your version, and extensions add a lot of functionality (b) so many security fixes (c) Vector skin, much nicer to use and to modify (d) better installer (e) ResourceLoader for improved performance [01:02:24] and more of course [01:02:34] excellent [01:02:38] I have sent off a note [01:02:59] (f) Better easter eggs. [01:03:08] (g) free beer. [01:03:10] :x [01:03:55] MutantTurkey: https://www.mediawiki.org/wiki/MediaWiki_1.17 & https://www.mediawiki.org/wiki/1.18 provide some summaries of the 2 most recent releases. [01:04:46] cool [01:04:50] thank you very much! [01:05:04] also, I can view logging data without a DB, it outputs a plain text version [01:05:07] which is cool [01:06:31] MutantTurkey: and of course we are always looking for new volunteers: https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker [01:09:56] 03gwicke * 10/trunk/extensions/VisualEditor/ (6 files in 2 dirs): [01:09:56] More token transform and pipeline setup refactoring to support template [01:09:56] expansion better. [01:11:44] sumanah: okay, also Caching - where to start? [01:12:10] MutantTurkey: have you already tried searching mediawiki.org for the words "cache" or "caching"? [01:12:18] yes! [01:12:23] I am on the page [01:12:30] I've been doing a bit of reading about it [01:12:33] * sumanah looks at https://www.mediawiki.org/wiki/Cache [01:12:38] I always like to get personal opinions on it [01:12:41] already on that page [01:13:08] ok, so, MutantTurkey, are you asking where to start when installing caching, or if you want to improve it by getting into MW dev? [01:13:19] I think your first step is going to be upgrading to a modern version of MediaWiki :-) [01:13:41] sumanah: I need to wait for the go ahead [01:13:57] unfortunately my humble coworkers dont spend all hours of the night on work projects :[ [01:14:22] in the meantime, MutantTurkey, you could install a modern version on another environment and start playing with it. [01:15:13] maybe I should just go out for once [01:15:18] pfftt! [01:15:35] :0 [01:15:37] noooooo [01:15:41] as for backing up before installation, mediawiki is entirely self contained right? [01:15:41] it's scary out there [01:15:48] I can just CP the directory? [01:16:12] * sumanah steps aside for others to give a definitive answer, bearing in mind that MutantTurkey is dealing with mw 1.12 [01:18:37] :| [01:18:53] MutantTurkey: you should also backup the database [01:19:52] p858snake|l: during the upgrade or in general? [01:20:03] I could do a monthly cron job or something if it's generally... [01:20:16] * varnent finds the autosave feature of etherpad to be a little creepy [01:20:20] well before the upgrade would be handy [01:20:32] but you should also consider doing it in general [01:20:35] varnent: etherpad is a great tool though [01:20:49] p858snake|l: ok :) [01:21:11] MutantTurkey: I totally agree - have just started to experiment with uses - but was just using it and am still new enough I always go (now how do I save that…) [01:21:37] I hear Etherpad Lite is the new coolness [01:22:16] its awesome [01:22:32] New code comment: Aaron Schulz;
198 if ( count( $err ) ) {
\ Should this be "if ( count == 1 )" ?; [01:22:38] I work on an open source project called Trinity Desktop [01:22:40] we use it for meetings [01:22:42] http://trinity.etherpad.trinitydesktop.org/15 [01:22:56] we put all the talk into the meeting pad, create topics and stuff [01:23:03] nice [01:23:05] then during the meeting everyone looks over it while someone leads the discussion in irc [01:23:17] Etherpad Lite? oy - new toy to discover [01:23:18] it definitely has uses [01:23:24] whats the difference? [01:23:39] ones is liter... [01:23:57] hmm…lite'r? [01:24:08] MutantTurkey: http://www.mediawiki.org/wiki/Project:Etherpad_index is us. [01:24:20] varnent: I was under the impression that etherpad lite was the one that was being maintained. [01:24:44] sumanah: sure :) <---has no clue on this one [01:25:03] yeah... me neither [01:25:08] all i know is that it works! [01:26:39] I just know WMF has the nice free one I may one day look at more for installing elsewhere :) [01:28:22] 03(NEW) When saving a page normalize the page title first - 10https://bugzilla.wikimedia.org/33627 normal; Wikimedia Mobile: android; (liangent) [01:28:32] sumanah: you swamped or want a quick post-holiday reminder about a question for legal we tabled pre-holiday? [01:28:53] varnent: I can hear it [01:28:59] varnent: and then i may table it again :/ [01:29:10] sumanah: who or how to check with legal about donations to extension developers being optionally solicited from within the extensions template [01:29:17] * sumanah has been taking a break from more urgent stuff to look for easy bugs to put into https://www.mediawiki.org/wiki/Annoying_little_bugs [01:29:29] oh dear. varnent I think Erik Moller can handle that better than i can [01:29:52] varnent: maybe Erik + Geoff (WMF legal counsel) (Geoff is very approachable and realistic) [01:29:57] email, irc or talk page? [01:30:22] btw - fun factoid - Microsoft's legal department only accepts faxes - no calls or emails [01:30:47] [11:23] Etherpad Lite? oy - new toy to discover p858snake|l: so is etherpad like unix with various flavors? or is lite just a "lighter" version of the full etherpad? [01:32:16] no idea [01:33:57] 03(mod) Fix Wikipedia icon in Android app - 10https://bugzilla.wikimedia.org/33013 +comment (10brion) [01:33:59] varnent: email works [01:34:22] varnent: p858snake|l: johnduhart must know, as he's the one who did the pkging [01:34:47] huh? [01:35:12] lol - now you've done it - j/k - did you package the Etherpad Lite installation? [01:35:59] 03(mod) Search string is sometimes prefilled in new search box - 10https://bugzilla.wikimedia.org/24963 +comment (10Sumana Harihareswara) [01:36:23] johnduhart: if so - I was wondering if ether pad is like unix with flavors - or if lite is just a "lite" to the core etherpad software... [01:36:45] lite is a fork off the now unmaintained etherpad [01:36:55] iirc lite is written in node.js and not java [01:37:04] Still from the same people [01:37:13] 03(NEW) Searching for "#" - 10https://bugzilla.wikimedia.org/33628 normal; Wikimedia Mobile: android; (liangent) [01:37:15] gotcha - so an oddly named v2..more or elss [01:37:34] 03(mod) SwiftMedia URL rewrites and container names - 10https://bugzilla.wikimedia.org/33286 +comment (10aschulz4587) [01:38:17] pretty much [01:43:34] 03(mod) Enable Narayam using URL params - 10https://bugzilla.wikimedia.org/33603 +comment (10srik.lak) [01:50:03] 03bsitu * 10/branches/concurrency/ (4 files in 3 dirs): API and UnitTest Cases for Concurrency functions [01:50:18] hey rmoen, did you have time on Friday to do a little patch review? [01:51:40] p858snake|l: unrelated - thoughts on https://www.mediawiki.org/wiki/Project:WikiProject_Extensions/Projects/Page_Drive [01:53:46] * AaronSchulz wonders what ConcurrencyCheck will be used with [01:55:04] AaronSchulz: the first use is for building a more friendly UI in FeedbackDashboard. We'll also be using it in the new NPP extension to keep patrollers from stepping on eachother's toes. [01:55:24] I guess editing and reviewing can use it too [01:55:38] raindrift: hey, are you working on any extensions right now that would be particularly amenable to volunteer participation? [01:55:44] editing can use it, but not until we get a more robust backend, probably. mysql isn't really suited to that. [01:56:24] this seems to be some of the fun that LockManager is [01:56:34] sumanah: i'm working on TMH and PageTriage directly (though just barely the second, so far). [01:56:36] varnent: well the hook bits aren't extactly needed, but they are nice to have. And with the stuff thats really carred about in the wmf svn, I wonder if people actually still use those categories [01:57:02] FlaggedRevs just uses memcached to handle "I am reviewing this edit" stuff [01:57:23] sumanah: I think PageTriage might be something that could use volunteer help. Also, I bet Aaron could use more people on the LiveChat stuff, and it's a pretty interesting project. He's been working on a writeup to introduce it... [01:57:26] Ryan_Lane: you are better placed than I to respond to "Re: Sandbox server for Wikiversity community" in terms of whether what they want is in accordance with the vision for WMF Labs [01:57:37] though you can't get listings or easily allow a limited number of concurrent reviewers [01:57:41] yeah. I have a long draft email written [01:57:45] p858snake|l: fair question - I use them to find similar types of extensions a lot - but not sure how common a practice that is :) [01:57:52] raindrift: were you thinking Cassandra or some such store? [01:57:54] sumanah: I'm very likely to respond in-wmf first, though [01:57:55] raindrift: AaronSchulz is working on a LiveChat thing? I look forward to that writeup. [01:58:04] AaronSchulz: those are the goals here… :) listings at first, and then concurrent checkouts in the future. [01:58:06] Ryan_Lane: oh, ok [01:58:07] sumanah: basically, it's not a fit for labs, but the idea is *really* good [01:58:17] must be another Aaron [01:58:24] * AaronSchulz hears they exist [01:58:34] Ryan_Lane: indeed! lots of little sandboxes are one of the nice things about Codecademy and CodingBat [01:58:39] AaronSchulz: some sort of distributed key/value store. memcached breaks for this once we're solidly in two datacenters. i haven't done enough research to know what the best option is yet. [01:58:42] in fact, I have a really-long email about how it could be a really awesome project that is based on the same technology as labs [01:59:11] sumanah: Nope, Aaron Halfaker. [01:59:14] really, it could be another part of labs that lives in its own zone [01:59:25] raindrift: oh right, from that university! [01:59:44] their implementation isn't really ambitious enough, though ;) [01:59:57] it wouldn't scale, and would have security issues [02:00:17] Ryan_Lane: I shall leave you to your opus. [02:00:21] heh [02:00:23] raindrift: won't one replicate the other? Does the concurrency stuff *have* to be full-proof locking or just roughly OK? [02:00:34] "one" as in memcache cluster [02:00:39] I'd love to see something implemented, I just don't think it should be us [02:00:55] but, I'll finish the email and sent it forward to you and erik [02:01:04] and some ops folks [02:01:43] AaronSchulz: it doesn't have to be fool-proof, sure, but it needs to be pretty good or it'll just lead to weird little bugs that are impossible to replicate. :) [02:01:51] raindrift: and would we be using one memcached and only actually reading the other in failure scenario (ops people switching which cluster MW uses) [02:01:59] raindrift: I think last I heard from you about the LiveChat people, you were going to pressure them to say something public :-) [02:02:02] * AaronSchulz looks at Ryan_Lane too [02:03:10] I have no clue :) [02:03:22] raindrift and I discussed this briefly one day [02:03:32] I mentioned you guys should try some things out in labs [02:03:40] of course, if you wanting to do per-user/resource type listing, memcached is out already anyway [02:03:58] AaronSchulz: I think the eventual goal is to actually have running app servers at multiple locations (rather than a hot-spare config, with squids running at multiple locations). we'll never escape one mysql master, but my understanding is that in such an environment we'd have two disconnected memcache clusters. [02:03:59] raindrift: have you considered using swift? [02:04:34] that's an interesting way to go about a key/value [02:04:51] for managing application-level concurrency? i thought it was a filestore. how would it solve this problem? I'm curious. [02:06:05] If we have apaches (not just squids) running in equad, then I guess we'd want memcache running hot there too...which I guess is where the problem is [02:07:12] that's my understanding, yeah. i hear that's still a ways off, though. [02:07:42] we've been considering membase [02:07:58] which has replication, and optional persistence [02:08:11] there is also riak [02:08:14] Hey, just discovered an easy to fix bug in wikibits.js, but my Regex sucks. If a value/field contains more than one period, it should be treated as a string, not as a number. Accidentally found when trying to do an IP table sort (e.g. 10.1.1.25). [02:09:28] jdpond: file a bug in Bugzilla & mark it with the "easy" keyword? [02:09:33] Would also be a problem with indexed section headers, . . . [02:09:44] 03raindrift * 10/branches/concurrency/includes/ConcurrencyCheck.php: Added support for memcached. [02:10:06] raindrift: gah, nevermind, swift wont work due to the lack of a "create object but fail if it already exists" API call [02:10:20] you would need to combine it with LockManager to do that [02:11:31] yeah. i mean, almost any source of atomicity can be expanded to do this job. i bet there's a way to do it with swift if atomicity can be guaranteed. for example, it's doable with file-creation operations on NFS. [02:11:53] though, i'll add, such solutions are really kludgy. [02:12:05] agreed [02:12:10] i'd rather use some kind of distributed database that manages those parts on its own. :) [02:12:13] there's a bunch of decent key-balues for this [02:12:17] totally. [02:12:19] well, you could use memcached. [02:12:20] err [02:12:22] mysql [02:12:41] they are using it as a key-value for parser cache [02:12:43] that is what i'm doing now, but it'll have performance issues if we use it for anything super high-traffic. [02:13:12] that's what I dislike about DBLockManager [02:13:17] like, it's good for pagetriage and feedback dashboard, but i'd be concerned about using it for editing. [02:13:23] so I wrote LockServerDaemon for fun ;) [02:13:36] or for the acronym... [02:13:50] of course one could redo that using libevent extension for PHP and make it better [02:14:01] how persistent does the chat need to be? [02:14:08] are we archiving chats? [02:14:31] I understand the necessity for replication, but why persistence? [02:14:46] Ryan_Lane: I think the current thinking is toward jabber for chat, so persistence isn't necessary there. [02:15:05] yay! I'm really glad jabber is being considered for chat [02:15:25] it bothers me when people reimplement the wheel [02:15:31] yeah. i was thinking ejabberd was best, and seems like the most likely candidate still. [02:15:38] it also means that normal chat clients can be used [02:15:45] in theory, yes. :) [02:15:55] normal is overrated ;) [02:15:57] we'd need to integrate authentication [02:16:08] AaronSchulz: have you ever used facebook's chat? [02:16:10] i already did that part. permissions are a little more difficult. [02:16:26] did you know that it actually doesn't suck when you are using jabber with a regular client? [02:16:28] Ryan_Lane: you mean the one that dropped messages a bunch last time I used it? [02:16:43] but yeah, authenticating ejabberd against mediawiki isn't actually very hard. [02:16:49] ah. good [02:16:57] what's the difficult part, then? [02:17:09] html -> jabber interface? [02:17:48] pretty much, yeah. there's a bunch of code to write there, to get the interface to integrate well with mediawiki and solve problems people actually have. [02:18:05] I'd imagine that should be fairly straightforward with php bindings for jabber, and an ajax api for it [02:18:19] we're looking initially at using it for live help. [02:18:25] yeah [02:18:31] 03aaron * 10/trunk/phase3/includes/filerepo/backend/FileBackend.php: r108353: Distinguish null/false in FileBackend::fileExists(). This is intended for things that might really care. [02:18:52] this would allow presence, which would be *really* awesome. [02:19:36] so what is the thing you need persistence for? [02:19:46] sorry to derail the topic, but chat is exciting [02:20:24] the problem we're working on now is much less interesting. :) [02:20:34] Hmmm, maybe not so simple. https://bugzilla.wikimedia.org/show_bug.cgi?id=8063 JavaScript table sort does not observe local language with respect to digit groups, decimals and date formats [02:20:34] awww :( [02:20:41] heh [02:21:39] we need a way to let people know when someone else is working on a given thing (replying to some feedback, patrolling a page, etc), so we can let other users know that that resource is in use, so they don't waste time and duplicate effort. [02:22:07] ah. right [02:22:28] how would this work for clients that lack javascript? [02:22:29] So, there's this thing: http://svn.wikimedia.org/svnroot/mediawiki/branches/concurrency/includes/ConcurrencyCheck.php [02:22:43] timeouts? [02:22:47] the applications in question don't work at all without js. :) [02:22:53] ah. ok. [02:22:55] there are timeouts. [02:23:00] FR is the same, it's JS only [02:23:08] * Ryan_Lane nods [02:23:11] FR? [02:23:17] too much of a pain for .1% of people or something [02:23:21] FlaggedRevs [02:23:27] aha, yes. [02:23:47] why does this need persistence? [02:23:52] it used to have some non-JS support that relied only timeouts alone, but meh [02:24:01] worst case, persistence goes away, and it's back to the way it always has been [02:24:05] it doesn't. it just needs to work between datacenters. [02:24:10] why? [02:24:27] well, only if there are app servers at multiple datacenters. [02:24:38] if we serve 50% from each, it'll be wrong 50% of the time. :) [02:24:52] we haven't figured out how we're going to handle cases like this [02:25:06] we could tell apps like this to always hit the "writable" datacenter [02:25:32] that could work. i hadn't considered that… just selectively running these parts from a single datacenter. [02:25:43] that'd simplify a lot of things. [02:25:55] the requests from the second datacenter would be slower, but we are planning on only sending like 10% of the traffic there [02:27:29] totally. sounds reasonable. it would be some set of api calls. is it possible to direct the traffic with that kind of granularity? [02:28:01] I'd imagine we'd need to have configuration that let us read from a different set of servers [02:28:15] on a per-application basis [02:28:25] this isn't how things work right now [02:28:49] but, using a key-value with replication would also solve this [02:28:51] right. got it. like, i'd point the js app at a different host, or a different path that ends up mapping to a different host. [02:29:10] well, either datacenter could handle the request [02:29:22] but it would read from memcache in the writeable datacenter only [02:29:41] though making it only run in a single datacenter is also doable [02:29:47] that makes it harder to properly failover though [02:30:00] that makes sense. [02:30:12] we'd have to do some DNS magic for that [02:30:26] and it would have to be a different service IP and dns name [02:30:35] none of that is insurmountable though [02:30:56] 03(mod) Cannot login using IE6 - 10https://bugzilla.wikimedia.org/33503 +comment (10Simon) [02:31:48] sure. we just need to decide which route to take. anyway, we're going to use this implementation for now since it gets the job done, and i've intentionally built it so it's easy to back it with something else. [02:32:30] cool [02:32:56] :) [02:33:13] anyway, i go home now. seeya tomorrow! [02:33:27] 03(mod) "images" directory to be renamed or migrated to "files" - 10https://bugzilla.wikimedia.org/33569 +comment (10fastgoldfish) [02:33:34] see ya [02:41:50] hmm, UW doesn't work with Opera [02:41:52] Hi [02:42:09] What's the script that makes js work [02:42:16] Extension rather [02:42:37] There isn't one. [02:42:41] !js [02:42:41] To set up custom javascript on a wiki, edit the page called [[MediaWiki:Common.js]] (NOT a file, a page on your wiki, which is included via