[00:34:44] (03CR) 10Ori.livneh: "Hashar, I like your suggestions, but I think they fall outside of the scope of this change, and I'd like to keep the patch nice and tight." [core] - 10https://gerrit.wikimedia.org/r/76304 (owner: 10Ori.livneh) [00:41:04] (03PS3) 10Ori.livneh: Optionally encode exception log entries as JSON documents [core] - 10https://gerrit.wikimedia.org/r/76304 [00:54:58] (03CR) 10Spage: [C: 04-1] "(4 comments)" [extensions/GuidedTour] - 10https://gerrit.wikimedia.org/r/77486 (owner: 10Mattflaschen) [01:29:18] (03PS1) 10Jqnatividad: Expanded MongoDB connect string comments; fully implemented MongoDB aggregation framework support [extensions/ExternalData] - 10https://gerrit.wikimedia.org/r/77643 [01:36:29] (03PS1) 10Aaron Schulz: Typo fix [core] - 10https://gerrit.wikimedia.org/r/77644 [02:56:48] (03PS1) 10Parent5446: Added password hashing API [core] - 10https://gerrit.wikimedia.org/r/77645 [02:58:16] (03CR) 10Parent5446: [C: 04-2] Added password hashing API [core] - 10https://gerrit.wikimedia.org/r/77645 (owner: 10Parent5446) [02:59:40] * Elsie rages. When I try to load Gerrit in Chrome, I get "Waiting for cache...". [03:03:52] (03CR) 10MZMcBride: "Lego: is this change ready for review?" [extensions/MassMessage] - 10https://gerrit.wikimedia.org/r/75299 (owner: 10Legoktm) [05:26:38] aude: ping [05:39:15] (03PS5) 10Ori.livneh: Add "Developers" link to footer of Wikimedia wikis [extensions/WikimediaMessages] - 10https://gerrit.wikimedia.org/r/77557 (owner: 10MZMcBride) [05:39:55] (03CR) 10Ori.livneh: [C: 032] "PS5 uses $skin as context source for 'wikimedia-developers-url' too." [extensions/WikimediaMessages] - 10https://gerrit.wikimedia.org/r/77557 (owner: 10MZMcBride) [05:39:57] (03Merged) 10jenkins-bot: Add "Developers" link to footer of Wikimedia wikis [extensions/WikimediaMessages] - 10https://gerrit.wikimedia.org/r/77557 (owner: 10MZMcBride) [05:40:36] ori-l: Oh, I was going to do that at some point... thanks. :-) [05:40:51] np. [05:43:49] (03PS5) 10Rasel160: WIP loads templates with Extension TemplateData [extensions/UploadWizard] - 10https://gerrit.wikimedia.org/r/76356 [05:43:51] (03CR) 10jenkins-bot: [V: 04-1] WIP loads templates with Extension TemplateData [extensions/UploadWizard] - 10https://gerrit.wikimedia.org/r/76356 (owner: 10Rasel160) [05:45:30] (03CR) 10Rasel160: [C: 04-1] "sigh, will fix this tomorrow" [extensions/UploadWizard] - 10https://gerrit.wikimedia.org/r/76356 (owner: 10Rasel160) [06:03:59] (03PS2) 10Ori.livneh: Revert "Pedantic tweak to README" [core] - 10https://gerrit.wikimedia.org/r/77490 [06:05:41] (03CR) 10MZMcBride: "(1 comment)" [core] - 10https://gerrit.wikimedia.org/r/77490 (owner: 10Ori.livneh) [06:06:27] (03PS3) 10Ori.livneh: Revert "Pedantic tweak to README" [core] - 10https://gerrit.wikimedia.org/r/77490 [07:15:52] (03CR) 10Legoktm: "Yes, this is ready for review and merging." [extensions/MassMessage] - 10https://gerrit.wikimedia.org/r/75299 (owner: 10Legoktm) [07:16:35] (03PS2) 10Mwjames: \SMW\ContentParser use ContentHandler where available [extensions/SemanticMediaWiki] - 10https://gerrit.wikimedia.org/r/77504 [07:16:47] (03PS4) 10Mwjames: \SMW\Maintenance\RebuildConceptCache (rebuildConceptCache.php to replace SMW_conceptCache.php) [extensions/SemanticMediaWiki] - 10https://gerrit.wikimedia.org/r/77493 [07:17:04] (03PS2) 10Mwjames: (Bug 52396) use getSubject()->getDBkey() instead [extensions/SemanticMediaWiki] - 10https://gerrit.wikimedia.org/r/77126 [08:06:50] (03PS1) 10Siebrand: Fix CodeSniffer errors and warnings [core] - 10https://gerrit.wikimedia.org/r/77686 [08:09:25] (03CR) 10Siebrand: [C: 032] Typo fix [core] - 10https://gerrit.wikimedia.org/r/77644 (owner: 10Aaron Schulz) [08:12:01] (03Merged) 10jenkins-bot: Typo fix [core] - 10https://gerrit.wikimedia.org/r/77644 (owner: 10Aaron Schulz) [08:18:15] (03CR) 10Siebrand: [C: 032] Add colon to notification-edit-talk-page-email-batch-body2 [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77574 (owner: 10Nemo bis) [08:18:25] (03Merged) 10jenkins-bot: Add colon to notification-edit-talk-page-email-batch-body2 [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77574 (owner: 10Nemo bis) [10:03:04] (03PS1) 10Siebrand: Update documentation [extensions/cldr] - 10https://gerrit.wikimedia.org/r/77690 [10:18:06] (03PS1) 10Siebrand: Update documentation and remove unused variable [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77694 [10:23:43] (03PS1) 10Siebrand: Remove use of deprecated methods [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77695 [10:47:10] (03PS1) 10Siebrand: Remove duplicate case expression [extensions/AbuseFilter] - 10https://gerrit.wikimedia.org/r/77696 [11:03:38] (03PS1) 10Nemo bis: Remove redundant sentence in openid-convert-already-your-openid-text [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/77697 [11:30:10] (03CR) 10Matthias Mullie: [C: 032] Making title-params no longer required. [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77265 (owner: 10Kaldari) [11:30:17] (03Merged) 10jenkins-bot: Making title-params no longer required. [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77265 (owner: 10Kaldari) [11:30:59] (03CR) 10Matthias Mullie: [C: 032] Remove unused i18n message [extensions/PageTriage] - 10https://gerrit.wikimedia.org/r/75491 (owner: 10Bsitu) [11:31:10] (03Merged) 10jenkins-bot: Remove unused i18n message [extensions/PageTriage] - 10https://gerrit.wikimedia.org/r/75491 (owner: 10Bsitu) [12:39:45] (03PS3) 10Matthias Mullie: Percentage can be displayed at 0%, just not when there is no feedback at all [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39032 [12:39:55] (03CR) 10Matthias Mullie: [C: 032] Percentage can be displayed at 0%, just not when there is no feedback at all [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39032 (owner: 10Matthias Mullie) [12:39:58] (03Merged) 10jenkins-bot: Percentage can be displayed at 0%, just not when there is no feedback at all [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39032 (owner: 10Matthias Mullie) [12:43:41] (03PS1) 10Nemo bis: Use int in openstackmanager-servicegrouprecursewarning [extensions/OpenStackManager] - 10https://gerrit.wikimedia.org/r/77704 [12:59:15] mlitn: nice to see that fixed :) [13:02:16] indeed :) [13:17:20] (03PS1) 10Nemo bis: Use "username", "global account" and "local account" consistently [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77706 [13:29:06] (03PS1) 10Nemo bis: Make GENDER support on page-creation-email-subject explicit [extensions/PageCreationNotif] - 10https://gerrit.wikimedia.org/r/77707 [13:29:56] (03PS3) 10Himeshi: Add handling of other parameters for page sections [extensions/SemanticForms] - 10https://gerrit.wikimedia.org/r/77461 [13:36:58] (03CR) 10Nemo bis: "Tyler, thanks for the explanation. Based on what you say, "More not listed" here means "More not listable" or "More that can't be listed"," [core] - 10https://gerrit.wikimedia.org/r/76295 (owner: 10Nemo bis) [13:50:48] (03CR) 10Matthias Mullie: [C: 031] "(1 comment)" [core] - 10https://gerrit.wikimedia.org/r/77468 (owner: 10EBernhardson (WMF)) [13:59:55] Hello people. I have a question about the Parser. [14:00:42] Namely, is there anything nontrivial happening when the formatHeadings function is called with parameter $isMain set to false? [14:03:06] (I get the impression that this is not the case, but this begs the question why a lot of redundant work is done.) [14:10:23] lordfarin: everybody is afraidto touch the parser [14:10:43] lordfarin: the simplest smoke test to check that would be to chuck thecode out of thewindow and see if tests still pass :D [14:12:55] i've seen your bugzilla post the other day [14:13:51] (03PS4) 10Matthias Mullie: Bug 43190 - AFTv5 API results should be wrapped in a {'query':results} object (for JSON) [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39038 [14:13:54] (03CR) 10Matthias Mullie: "(10 comments)" [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39038 (owner: 10Matthias Mullie) [14:14:41] but i am really not knowledgeable enough to be able to just tell you what's going on [14:15:31] (03CR) 10UnwashedMeme: "Cookies: I had thought for a bit about storing separate cookies for each parameterized provider. I thought I had backed all that out but a" [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [14:16:11] MatmaRex: Thanks for the tip; I'll disable the var_dumps and see if stopping non-$isMain formatHeadings passes breaks anything. [14:26:06] (03PS5) 10Matthias Mullie: Bug 43190 - AFTv5 API results should be wrapped in a {'query':results} object (for JSON) [extensions/ArticleFeedbackv5] - 10https://gerrit.wikimedia.org/r/39038 [14:41:45] (03CR) 10Wikinaut: "Nathan, pls. can you reply to my comment to your PS38" [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [15:15:45] (03CR) 10UnwashedMeme: "The idea is simple; the same one I've been working to the entire time." [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [15:17:29] (03CR) 10UnwashedMeme: "(1 comment)" [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [15:32:10] (03PS1) 10Anomie: API: DWIM for action=edit§ion=new&appendtext=... [core] - 10https://gerrit.wikimedia.org/r/77716 [15:32:54] (03CR) 10Anomie: "I'm not entirely sure whether specifying appendtext/prependtext with section=new should be an error or if we should DWIM and append/prepen" [core] - 10https://gerrit.wikimedia.org/r/77716 (owner: 10Anomie) [15:35:09] (03CR) 10Anomie: [C: 032] Update documentation and remove unused variable [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77694 (owner: 10Siebrand) [15:35:12] (03Merged) 10jenkins-bot: Update documentation and remove unused variable [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77694 (owner: 10Siebrand) [15:41:23] (03CR) 10Nikerabbit: [C: 032] Update documentation [extensions/cldr] - 10https://gerrit.wikimedia.org/r/77690 (owner: 10Siebrand) [15:41:35] (03Merged) 10jenkins-bot: Update documentation [extensions/cldr] - 10https://gerrit.wikimedia.org/r/77690 (owner: 10Siebrand) [16:00:15] (03CR) 10Yaron Koren: [C: 032 V: 031] "Looks great! Removing the hardcoded English was quite useful." [extensions/SemanticForms] - 10https://gerrit.wikimedia.org/r/77461 (owner: 10Himeshi) [16:00:18] (03Merged) 10jenkins-bot: Add handling of other parameters for page sections [extensions/SemanticForms] - 10https://gerrit.wikimedia.org/r/77461 (owner: 10Himeshi) [16:16:45] (03CR) 10Matmarex: [C: 04-1] "Should also handle Ctrl-click and Shift-click. (Or, preferably, should use a real link as the background.)" [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 (owner: 10Alex Monk) [16:17:37] MatmaRex: Did you test shift+click and ctrl+click? [16:17:57] of course i didn't [16:18:02] :D [16:18:08] does it handle them? [16:19:39] also, i wonder what would happen if we nested tags [16:19:45] apart fromvalidation failures, of course [16:44:27] MatmaRex, test it [16:46:42] Krenair: meh. does it work? [16:47:05] MatmaRex: Revoke your -1 until you can prove that it doesn't. [16:48:32] thecode clearly doesn't handle that [16:48:33] but okay. [16:48:38] (03CR) 10Matmarex: Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 (owner: 10Alex Monk) [16:49:08] also, apparently adding a as a child element of another works like you'd expect [16:56:07] (03CR) 10Nischayn22: [C: 032 V: 032] "Thanks a ton!" [extensions/PageCreationNotif] - 10https://gerrit.wikimedia.org/r/77707 (owner: 10Nemo bis) [16:57:52] (03CR) 10Tpt: [C: 04-1] "(9 comments)" [extensions/ProofreadPage] (pagePagesRefactoring) - 10https://gerrit.wikimedia.org/r/74850 (owner: 10Rtdwivedi) [17:05:03] (03CR) 10Werdna: [C: 032 V: 032] Remove duplicate case expression [extensions/AbuseFilter] - 10https://gerrit.wikimedia.org/r/77696 (owner: 10Siebrand) [17:08:08] (03PS6) 10Mwjames: \SMW\SimpleDependencyBuilder + \SMW\DependencyInjector [extensions/SemanticMediaWiki] - 10https://gerrit.wikimedia.org/r/76956 [17:13:15] (03PS7) 10Mwjames: \SMW\SimpleDependencyBuilder + \SMW\DependencyInjector [extensions/SemanticMediaWiki] - 10https://gerrit.wikimedia.org/r/76956 [17:23:44] MatmaRex_: It took some time to properly set up PHPUnit, but I can confirm that bailing formatHeadings when $isMain is set to false (by returning the unmodified input text) does not introduce test failures among MediaWikiParserTest. [17:24:50] (03PS12) 10Manybubbles: Add tests for CirrusSearch. [qa/browsertests] - 10https://gerrit.wikimedia.org/r/75793 [17:24:53] MatmaRex_: Do you know of any TOC-specific tests? [17:25:50] There's a couple in tests/parser/parserTests.txt [17:26:27] (03CR) 10Manybubbles: "I've fixed the old search tests." [qa/browsertests] - 10https://gerrit.wikimedia.org/r/75793 (owner: 10Manybubbles) [17:30:41] bawolff: Thanks, but I can't seem to make that test work (it dies on some missing files). [17:31:05] yeah. phpunit is a pain in the... [17:31:36] if you run parserTests.php in the tests directory, does it work? (That tends to work a lot more often than phpunit [17:33:22] Yes, that one works. [17:35:04] There seems to be no difference in the number of tests that fail. [17:37:18] (03PS2) 10EBernhardson (WMF): Batch retreival of ES data with minimal round trips [core] - 10https://gerrit.wikimedia.org/r/77468 [17:41:05] ebernhardson: ah here we go [17:41:08] :) [17:41:30] what the hell is Pimple? :) [17:41:46] its a stupid simple way of mananging constructor dependencies [17:42:51] otherwise known as a DIC (dependency injection container). I dont suppose it has to be used for Flow, but its a simple way to provide dependenies without having to think about ordering or knowing whats been instantiated previously [17:42:58] nod [17:43:43] neat. You'd think they'd come up with a better name :p [17:43:56] in use, its basically a "smart" array, you set the array values to be functions, and it runs the function when you request the array value. If you use the ->share() method it wraps it in a closure that only runs once and always returns the previously instantitated object [17:44:55] yea, its not the best name :) [17:50:03] (03PS2) 10EBernhardson (WMF): Prototype [extensions/Flow] - 10https://gerrit.wikimedia.org/r/75916 [17:53:52] ebernhardson: I figured it out from the code eventually ;-) [17:54:12] so, a workflow is basically an abstraction for a talk page [17:54:19] initially, yes [17:54:28] but you can also do other things with it [17:55:55] the idea is that we will be able to have different workflow definitions, the definitions would describe which blocks are used for this workflow and any options to configure those blocks, the workflow instance is then a central bit of data used to correlate together whatever data those blocks use [17:56:21] meaning, for instance, a voting page could be a type of workflow [17:56:27] and that contains different blocks [17:56:34] yes [17:56:38] clever. [17:57:04] user configurable or configured on the server [17:57:05] ? [17:57:19] eventually user configurable, but thats probably a year out. [17:57:42] yeah, nice to have the infrastructure in place, but best not to complicate it upfront [17:58:24] you have a PostRevision class, but do you also have a Post class? [17:58:29] based on meeting with various people, the user configurable part is going to have to be pretty out there, probably involving LUA and other stuff [17:58:35] yeah [17:58:40] LUA's all the rage these days [17:59:02] currently no, the PostRevision also contains enough denormalized data to represent a post [17:59:34] in my mind at least, a post is two pieces of data: the first revision of the post for its creator and timestamp, and the latest revision of the post for its oversighting/content [17:59:56] so the first revision creator and timestamp is denormalized into all revisions of the post so we dont have to actually look it up each time [18:01:29] btw you can feel free to tell me some of this is insane, noone has really looked at it yet in detail :) [18:02:23] yeah, that's what I sort of figured (all of the above) [18:02:33] I've got a couple of nitpicks so far, collecting them in comments on gerrit [18:02:40] but it's just MW related stuff. [18:05:24] ebernhardson: yeah see this is one of the reasons not having a top level Post object freaks me out [18:05:25] // TODO: how do we know this is the latest revision? we dont ... [18:05:26] // basically, this is very very wrong :-( [18:05:38] I mean you could have a flag on each revision object [18:05:40] but eugh [18:05:46] then what happens if you fail to update it [18:07:45] werdna: yea i couldn't decide and punted on it. Terry had suggested using memcached CAS against a key that has the latest post ID, but then we end up doing things backwards [18:07:59] Yeah, you don't want memcached to be your primary storage [18:08:05] memcached is… a cache… [18:08:08] yes :) [18:08:09] (03PS3) 10Rjain: (bug 52260) Allow logged out users to view [extensions/Annotator] - 10https://gerrit.wikimedia.org/r/77576 [18:08:18] I hate that we use it for throttles and stuff. [18:08:55] one method i had considered was a unique index in the db on revision_parent [18:09:22] but that may be heavy on our db servers, not sure. It would basically force a fail of any insert for a revision that already has a child [18:09:37] (03PS4) 10Rjain: (bug 52260) Allow logged out users to view [extensions/Annotator] - 10https://gerrit.wikimedia.org/r/77576 [18:10:28] werdna: it current has a unique index on flow_revision (rev_parent_id), so it wont insert to db, but it also wont have pretty error output [18:11:17] mmmmm, but a revision should have a simple way of checking if it's the top level revision [18:11:30] and there should be a simple way to get the top level revision for a post [18:11:40] I think adding an index is solving the symptom [18:12:52] so I would probably say we do want to cache the top level revision for each post ID, and have a function on revision to (a) get the top level revision; and (b) check if the current is the top level revision. [18:14:11] then memcached is acting like a cache for the action of "find latest revision for post", which you can do efficiently with SELECT revisionid from postrevision WHERE revision_post=X ORDER BY revision_timestamp DESC LIMIT 1; [18:14:18] ebernhardson: ^^ [18:14:46] hey Ryan_Lane [18:15:19] howdy [18:15:25] I'm waiting on my flight :) [18:15:46] werdna: there is a method that does that(and caches into memcache, and updates on save of new revision). See L29 here: https://gerrit.wikimedia.org/r/#/c/75916/1/includes/Data/RootPostLoader.php [18:19:59] GorillaWarfare: ping! [18:20:54] (03CR) 10Aaron Schulz: "(1 comment)" [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/75274 (owner: 10Aaron Schulz) [18:23:58] mwalker: Hi :) [18:24:30] reading through this mornings discussion; I think the only bit I care about is the end(?) -- regarding datastructures [18:24:57] marktraceur_ indicated we could put some things in 'chapter metadata'; but I'm not entirely clear about what that is / where it is stored [18:25:27] Yeah, I'm also a bit unclear on that [18:25:35] And he's en route to HK :P [18:25:49] indeed... [18:27:49] What are your thoughts on JSON vs. storing info in the DB? [18:29:39] (03CR) 10Aaron Schulz: [C: 032 V: 032] Add explicit GENDER for log entries [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/73713 (owner: 10Siebrand) [18:29:50] (03PD1) 10Addshore: Allow different users to login in Api tests [core] - 10https://gerrit.wikimedia.org/r/77727 [18:29:59] Who want to review something nice and simple for me? :D ^^ [18:30:17] GorillaWarfare: I think it needs a hybrid solution of both; for the mandatory structured data (e.g. the section/subsection list <-> MW page mapping) that should go into the database; all the other small random metadata can still live in a json blob on wiki [18:30:45] GorillaWarfare: if the sections themselves have metadata; we could potentially store that in the DB as well [18:30:53] (03Abandoned) 10Aaron Schulz: Fixed remaining misuse of central user ID [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/74932 (owner: 10Aaron Schulz) [18:31:43] Each section currently doesn't, but that doesn't mean it won't :P [18:32:20] Won't storing the section list in the DB still have the issue of needing to iterate through the whole list? [18:33:12] yesish; the db is going to be much faster at doing it though -- and populating it will only happen on book page edit [18:34:09] Populating the DB, you mean? [18:34:21] yep yep [18:34:36] addshore: btw; looking, but doing some research on the self::$users array [18:34:51] mwalker: cheers :) [18:35:28] ebernhardson: I don't see the caching yet, but I assume it's sort of folded up into the storage object? [18:35:34] Hmm, ok [18:35:56] mwalker: basically it would help some wikibase api test which have just had to create their own method to do logins as they need to login to different users [18:35:56] werdna: they are called 'Index' objects in Data/ObjectManager [18:36:11] makes sense just to make a small change i core and not have to do it :) [18:36:21] ebernhardson: maybe I should finish looking over the code and I'll understand a bit better :) [18:36:24] werdna: UniqueIndex and SecondaryIndex, which i will probably rename into FeatureIndex and TopKIndex since it sounds better :) [18:36:34] and is more descriptive [18:36:37] GorillaWarfare: otoh; if there are 'chapter metadata' pages; the problem is at least broken down into blobs of chapters which means you have less data to process; which means it can stay on wiki [18:36:43] Yeah, I like that better. But what are they? [18:37:15] werdna: they are basically event driven indexes in memcached. They receive create/update/delete events for objects and maintain an index in memcache for them [18:37:31] Do you mean sections, which then have info on subsections? [18:38:05] werdna: while i found this after i started writing it, its a very similar idea (and where i got the feature/topk names from): http://people.csail.mit.edu/nickolai/papers/gupta-cachegenie.pdf [18:38:22] ahh that helps [18:38:24] tx [18:39:26] GorillaWarfare: sorry; yes -- throwing a knife into the dark -- I'm guessing somewhere someone has a system that can break a book into an onwiki page for the metadata for each major section [18:41:19] mwalker: That's assuming that the book has more than one level of sections, though [18:41:21] (03CR) 10Mwalker: [C: 04-1] "(1 comment)" [core] - 10https://gerrit.wikimedia.org/r/77727 (owner: 10Addshore) [18:41:31] GorillaWarfare: indeed [18:41:45] GorillaWarfare: which is why I'm more of a fan of just throwing it in the DB [18:42:18] ebernhardson: what's TopicListEntry for? [18:42:22] MatmaRex_, finally got around to testing that echo patch with shift/ctrl - yes, your suspicions were correct [18:42:36] I thought I checked this when I first wrote the code, apparently not. [18:42:43] mwalker: Indeed. Well maybe I'll wait for marktraceur to land and then see what his thoughts are? [18:42:50] mwalker: any particular exception? ;p [18:42:58] werdna: its something i would prefer to go away, but didn't have a nice way to represent in the abstraction. Basically for every topic list (block attached to a workflow) there are numerous related topics. The topic list entry is a single entry in that. [18:43:08] (03PS3) 10Alex Monk: Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 [18:43:20] nod, so a TopicListEntry is an entry in a topic list… so… a Topic? [18:43:21] addshore: you can probably get away with just a MWException -- I just dont want it to throw array index out of bounds warnings and then have everyone confused [18:43:26] (03CR) 10jenkins-bot: [V: 04-1] Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 (owner: 10Alex Monk) [18:43:33] :> [18:43:35] GorillaWarfare: seems like a prudent thing; will he be in the meeting tomorrow do you know? [18:44:02] Which meeting? [18:44:02] werdna: the topics themselves are individual workflows ( yes, it ends up being a bit complicated, but that is done so that generic workflow features like subscriptions apply at both levels) [18:44:14] ahh and this is why you hate the class. [18:44:22] because a TopicListEntry isn't a Topic, it's a pointer to a Topic. [18:44:25] GorillaWarfare: somewhere up in the original meeting request thread it indicated we would be sitting down again at the same time tomorrow [18:44:27] werdna: yes [18:44:43] gotcha [18:44:48] werdna: ideally it shouldn't be called topic list either, it should be a generic 1 to many for workflow -> workflow [18:44:52] (03PS4) 10Alex Monk: Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 [18:45:00] (03CR) 10jenkins-bot: [V: 04-1] Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 (owner: 10Alex Monk) [18:45:04] werdna: reusable for whichever block wants that type of relationship [18:45:05] ebernhardson: nod, where a Block is also a workflow? [18:45:06] Oh, I thought that was just a suggestion [18:45:12] I don't know if he'll be around then, no [18:45:12] werdna: the blocks are the pieces of a workflow [18:45:19] yo dawg, I heard you like workflows, so we put some workflows in yo workflow [18:45:26] werdna: so a discussion is a summary block and a topic list block. A topic is just a single block, the Topic [18:45:28] (03PS2) 10Addshore: Allow different users to login in Api tests [core] - 10https://gerrit.wikimedia.org/r/77727 [18:45:30] bing ^^ :) [18:45:31] GorillaWarfare: hurm... fair enough [18:45:34] 18:44:54 modules/overlay/ext.echo.overlay.js: line 86, col 29, Too many var statements. [18:45:36] jslint pls [18:45:38] GorillaWarfare: do you have stuff to do in the meantime? [18:45:44] That would be 0:00-1:00 in Hong Kong, though.. [18:46:05] Yeah, I've been working on mockups for the editing interface, and was hoping to sketch out some of the initial code today [18:46:07] There's only two var statements in that function [18:46:14] (03CR) 10Mwalker: [C: 032] Allow different users to login in Api tests [core] - 10https://gerrit.wikimedia.org/r/77727 (owner: 10Addshore) [18:46:25] ebernhardson: right, so the point is that you need Workflows to be able to contain Workflows [18:46:44] (03PS5) 10Alex Monk: Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 [18:46:46] because Topic Lists and Topics and Posts are all Workflows [18:46:48] cheers for the pure speed mwalker :) I don't think any of my changes have ever gone that quickly :) [18:46:49] werdna: yes, basically what is there now was a quick hack that i didnt have to think about much, puting a better implementation till later. [18:46:50] GorillaWarfare: nifty nifty; I'll send out a reply to the email then outlinging my thoughts [18:46:53] nod nod [18:46:54] gotcha [18:47:12] Sounds good [18:47:13] addshore: you caught an opportune moment; I wish they all could be like that but sadly... life... [18:47:23] (: [18:49:43] (03Merged) 10jenkins-bot: Allow different users to login in Api tests [core] - 10https://gerrit.wikimedia.org/r/77727 (owner: 10Addshore) [18:50:04] ebernhardson: and a TreeRepository is a tree of… Workflows? [18:50:07] or? [18:50:39] ooooh, I like SelectQueryBuilder. [18:50:45] We should put that in core. [18:52:12] who pinged me earlier here? [18:52:20] werdna: the tree represents a tree of posts [18:52:36] and the individual posts are not workflows, only the owning topic is a workflow [18:52:44] okay, gotcha [18:53:01] huh, lots of people [18:53:09] (03CR) 10Aaron Schulz: [C: 032 V: 032] Tag changes when OAuth is used [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/77223 (owner: 10Anomie) [18:53:14] you're popular MatmaRex_ [18:53:23] Krenair: i'mgoing to try some magic with an nested in an , just for the lulz [18:53:29] that might actually be viable, though [18:53:54] TrevorParscal: not going to wikimania? [18:53:57] werdna: and i also like the SelectQueryBuilder, dont think i 'm using it in the code anymore, but its a nice way to pass a query around and let it be adjusted [18:54:00] lordfarin: there's the parserTests.txt file, all parser tests are in it [18:54:13] lordfarin: it's somehow hooked into phpunit, i think [18:54:31] werdna: nope, wife is prego, wanted to take advantage of an opportunity to wfh for a week, rather than be gone for a week [18:54:46] i go to every other one [18:54:46] lordfarin: there's a bunch of tests for the table of contents in there, grep for id="toc" [18:54:47] 'prego', lol [18:55:03] TrevorParscal: I'm in town, but the office is deeeead [18:55:11] skipped buenos aries and isreal, went to gdansk and dc [18:55:16] awwww [18:55:21] I have only ebernhardson and S for company from tech [18:55:24] we should kick it this week! [18:55:29] Chad's coming by to have lunch in a bit. [18:55:46] yeah let's see if we can grab some food, hang out. [18:56:20] werdna: i totally am [18:56:33] everybody loves me [18:56:44] and my todo list and inbox are overflowing [18:58:03] that's not a good type of everybody loves you [18:58:13] oh, hi werdna [18:58:25] hey Krenair [18:58:53] you back now? [18:58:58] Si. [19:01:15] oh good. I- [19:01:16] sigh. [19:02:47] so it goes. [19:20:39] Hello guys, how can I add buttons to visual editor, from my extension? Thanks! [19:33:36] ragazzimai, try asking in #mediawiki-visualeditor [19:35:33] (03PS1) 10Aaron Schulz: Added hook presence sanity checks [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/77760 [19:58:09] (03CR) 10Matmarex: "(1 comment)" [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 (owner: 10Alex Monk) [19:58:36] Krenair: does ^ ping you or should i do it myselfevery time? :D [20:08:18] (03PD3) 10Wikinaut: Fixed problem of not merging two case-different usernames [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 [20:15:48] mwalker: I don't suppose you are still around? [20:16:00] (03PD2) 10Addshore: Use action=tokens for api test tokens [core] - 10https://gerrit.wikimedia.org/r/77812 [20:16:06] maybe; depends on if you have cookies to bribe me with [20:16:20] well, almost cookies, but no sorry, tokens ;p [20:16:46] shoot; they're just not as tasty [20:16:49] looking though [20:16:51] :) [20:17:53] Think I could do one more change after this also with the TestCase class that would allow you to get tokens for the current $wgUser (last logged in user) as well as requesting specifc tokens, Would tidy things up nicely I think [20:18:11] will try and stick it in a follow up now [20:19:23] ebernhardson: man, ObjectManager.php is *intense* [20:19:44] werdna: yea, i'm not convinced its the correct solution. In part the mapping from findMulti -> sql doesnt fit [20:19:55] werdna: the concept seems reasonable, but the implementation got hairy quickly [20:20:12] yeah, I can see that [20:20:30] I like the idea of a Manager [20:20:40] I'm still wrapping my head around the Index classes. [20:22:08] hey binasher [20:22:24] hey [20:23:36] are you going to hong kong or sticking to SF? I'm in SF all week and everybody's working from home :/ [20:24:05] werdna: my primary goal with the indexes is to setup a declarative way of describing what we want indexed, much like in SQL you just say 'create this index' you dont tell it each little thing it needs to do. Everything beyond that is impelmentation details that i'm happy to change. [20:24:21] nod. [20:24:40] indexes are basically things like lists of posts in a topic and list of topics in a topic list, etc? [20:24:54] werdna: i've never been invited to wikimania, so sf it is - same with notpeter [20:24:58] woo [20:25:07] there are people here! [20:25:14] assuming you're both wfh this week? [20:26:21] we're in the office right now on 6, not sure if i'll be in any other day this week… possibly once [20:26:29] … where? [20:26:38] I'm over near legal [20:26:39] * Aaron|home is surprised [20:27:21] werdna: an index in this system is a set of key/value pairs, since we are using memcached these are always based on equality. so basically each index is a sorted and capped collection of items that match the key/value equality conditions [20:28:02] werdna: the unique index only contains 1 item, its purpose is to allow the 'shallow' indexing, where only 1 index holds the real data and all other indexes on the same data just hold the id, which is then fetched through the unique index [20:33:57] gotcha [20:33:58] neat [20:34:33] binasher: https://gerrit.wikimedia.org/r/#/c/75916/2 [20:38:01] (03CR) 10Matmarex: [C: 032] "Tests clearly pass and less code is always better. This looks much neater now." [core] - 10https://gerrit.wikimedia.org/r/77812 (owner: 10Addshore) [20:38:08] :) [20:38:41] werdna: thanks! [20:38:58] werdna: 5388 lines… that'll keep me busy ;) [20:39:12] sorry, its longer than i wanted :( [20:39:29] binasher: in total? [20:39:38] or just ObjectManager? :D [20:39:48] hehe [20:39:49] and phploc claims its only 3606 non-comment lines :P [20:39:54] oh wow OM is actually 1000 [20:40:23] ebernhardson: don't be sorrry! and yeah, gerrit counts white space and comments [20:40:33] (03Merged) 10jenkins-bot: Use action=tokens for api test tokens [core] - 10https://gerrit.wikimedia.org/r/77812 (owner: 10Addshore) [20:40:34] (03PS3) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [20:40:37] MatmaRex: there is one more small one if you fancy it :) ^^ [20:41:20] (03PS4) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [20:41:29] grr, if I remembered to rebase! [20:41:42] (03CR) 10jenkins-bot: [V: 04-1] Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 (owner: 10Addshore) [20:41:55] hmm, maybe not :) [20:43:24] MatmaRex, that pings me actually [20:44:19] MatmaRex: Also that's not storing it globally. [20:44:32] (03CR) 10jenkins-bot: [V: 04-1] Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 (owner: 10Addshore) [20:45:41] MatmaRex, also I had no idea the keyup/keydown events had shiftKey/ctrlKey. Thanks. [20:45:50] ebernhardson: I think you forgot to commit the Controller directory [20:46:17] werdna: actually the controller got merged into special/SpecialFlow.php, the things it would need to do just dont exist yet [20:46:27] werdna: i need to update the execution doc to reflect that i suppose [20:46:29] gotcha [20:46:40] yeah, delete the classes from the autoloader :) [20:46:46] doh :) [20:46:47] Krenair: i meant, hooking to it globally [20:47:09] Block.php is nice and short :) [20:47:56] werdna: yea, that was part of the goal of ObjectManager. The idea is if all the complex storage concerns are handled elsewhere, the blocks and models should be simpler :) [20:48:02] (03PS6) 10Alex Monk: Fix middle click on notifications in the overlay [extensions/Echo] - 10https://gerrit.wikimedia.org/r/76943 [20:48:07] I like that :) [20:48:29] ebernhardson: vendor/Pimple.php "This file is part of Pimple." that's helpful :) [20:48:39] MatmaRex, https://gerrit.wikimedia.org/r/#/c/76943/5..6/modules/overlay/ext.echo.overlay.js that seems so much better now [20:48:51] spagewmf: http://pimple.sensiolabs.org/ [20:48:57] let's add that link to the file :) [20:49:02] spagewmf: lol, well its a 1 file project :) [20:49:46] werdna: added [20:51:02] (03PS5) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [20:53:39] (03CR) 10jenkins-bot: [V: 04-1] Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 (owner: 10Addshore) [20:53:54] (03PS1) 10Manybubbles: Split the index into Content & General. [extensions/CirrusSearch] - 10https://gerrit.wikimedia.org/r/77821 [20:54:33] (03PS1) 10Aaron Schulz: Added logged-in check to some special pages and fixed others [extensions/OAuth] - 10https://gerrit.wikimedia.org/r/77822 [20:54:53] * [21:00:41] (03PS6) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [21:01:07] haha, Krenair [21:01:15] i really want you to test something [21:01:18] let me just commit it [21:01:19] lol [21:01:23] ? [21:03:00] (03Abandoned) 10Jqnatividad: Expanded MongoDB connect string comments; fully implemented MongoDB aggregation framework support [extensions/ExternalData] - 10https://gerrit.wikimedia.org/r/77643 (owner: 10Jqnatividad) [21:04:52] (03CR) 10Addshore: [C: 04-1] "I have just realised this is probably a bad idea as this is changing the format of the arguments the function requires and will likely bre" [core] - 10https://gerrit.wikimedia.org/r/77818 (owner: 10Addshore) [21:07:09] (03CR) 10Werdna: "(17 comments)" [extensions/Flow] - 10https://gerrit.wikimedia.org/r/75916 (owner: 10EBernhardson (WMF)) [21:07:14] ebernhardson: ^^ [21:08:44] Krenair: fun fact: you can nest elements if you really want to. [21:10:25] (03PS1) 10Matmarex: Trying out something totally crazy [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77824 [21:10:29] Krenair: ^ [21:11:11] this has to be the best worst thing i've ever came up with [21:12:17] Krenair: comments? :D [21:12:29] ahcrap, i forgot the js [21:12:40] MatmaRex, what... are you actually changing here? [21:12:49] (03PS2) 10Matmarex: Trying out something totally crazy [extensions/Echo] - 10https://gerrit.wikimedia.org/r/77824 [21:12:56] Krenair: forgot the js. please check now :D [21:13:06] (03PS7) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [21:13:29] i am wrapping the contents of the
  • with an . [21:13:48] this would make whatever-clicking on it Just Work(TM) [21:13:49] (03PS4) 10Demon: Select search backend by query parameter [core] - 10https://gerrit.wikimedia.org/r/76950 [21:15:52] perverse, isn't it? [21:15:55] (03CR) 10jenkins-bot: [V: 04-1] Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 (owner: 10Addshore) [21:17:12] (03CR) 10Demon: "(3 comments)" [core] - 10https://gerrit.wikimedia.org/r/76950 (owner: 10Demon) [21:19:28] (03PS1) 10Jqnatividad: Expanded MongoDB connect string comments; fully implemented MongoDB aggregation framework support [extensions/ExternalData] - 10https://gerrit.wikimedia.org/r/77825 [21:20:03] ^d: https://gerrit.wikimedia.org/r/#/c/75989/2 [21:21:18] <^d> srev isn't a Revision? [21:23:41] (03PS8) 10Addshore: Can now get specific tokens in API tests [core] - 10https://gerrit.wikimedia.org/r/77818 [21:24:40] is Ryan at Wikimania? [21:25:28] <^d> On his way, yeah [21:27:00] so probably git-deploy is not the best project for us to start right now [21:27:57] <^d> Probably not this week, no. [21:31:15] (03CR) 10Aaron Schulz: [C: 04-1] "(4 comments)" [extensions/CentralAuth] - 10https://gerrit.wikimedia.org/r/77082 (owner: 10CSteipp) [21:32:55] (03CR) 10Yaron Koren: [C: 032 V: 031] Expanded MongoDB connect string comments; fully implemented MongoDB aggregation framework support [extensions/ExternalData] - 10https://gerrit.wikimedia.org/r/77825 (owner: 10Jqnatividad) [21:34:38] (03CR) 10Parent5446: "@Nemo, that is entirely accurate, and your suggested phrasing is indeed better." [core] - 10https://gerrit.wikimedia.org/r/76295 (owner: 10Nemo bis) [21:35:14] https://www.mediawiki.org/wiki/Site_performance_and_architecture is kind of rubbish [21:35:20] I thought we had some better documents than that [21:35:55] on wikitech perhaps [21:36:07] (03CR) 10Parent5446: [C: 04-1] "(1 comment)" [extensions/Annotator] - 10https://gerrit.wikimedia.org/r/77576 (owner: 10Rjain) [21:37:48] https://www.mediawiki.org/wiki/Wikimedia_MediaWiki_Core_Team/Ideas_list [21:37:56] at least that one has my caching improvements bug list [21:39:30] * TimStarling adds surrogate-cache-control to the list [21:40:45] (03CR) 10Parent5446: "(1 comment)" [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 (owner: 10Wikinaut) [21:41:05] (03CR) 10Matmarex: "Hm, how about "(more not listed)", with parentheses?" [core] - 10https://gerrit.wikimedia.org/r/76295 (owner: 10Nemo bis) [21:41:39] (03PS13) 10Manybubbles: Add tests for CirrusSearch. [qa/browsertests] - 10https://gerrit.wikimedia.org/r/75793 [21:46:18] (03CR) 10Parent5446: [C: 04-1] "(5 comments)" [core] - 10https://gerrit.wikimedia.org/r/76950 (owner: 10Demon) [21:46:55] (03PS2) 10Manybubbles: Split the index into Content & General. [extensions/CirrusSearch] - 10https://gerrit.wikimedia.org/r/77821 [21:48:42] whoa, for some reason I just got really sleepy [21:50:45] werdna: your coffee mug hit the half way point? [21:51:48] haha, I just went to get more coffee [21:51:50] Aaron|home/anomie: I updated https://www.mediawiki.org/wiki/Site_performance_and_architecture#July-September_2013 [21:52:40] we're killing scap [21:52:45] (03CR) 10Parent5446: "(1 comment)" [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 (owner: 10Wikinaut) [21:53:00] oh man, it's like abandoning a child. [21:53:04] (03CR) 10Wikinaut: "(1 comment)" [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 (owner: 10Wikinaut) [21:54:10] ok [21:55:14] (03CR) 10Parent5446: "(1 comment)" [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 (owner: 10Wikinaut) [21:55:49] ebernhardson: did you have that doc on steps for Flow? [21:58:06] (03CR) 10Wikinaut: "(1 comment)" [extensions/UserMerge] - 10https://gerrit.wikimedia.org/r/77814 (owner: 10Wikinaut) [21:58:10] (03CR) 10Aaron Schulz: [C: 032] API: DWIM for action=edit§ion=new&appendtext=... [core] - 10https://gerrit.wikimedia.org/r/77716 (owner: 10Anomie) [22:00:53] (03Merged) 10jenkins-bot: API: DWIM for action=edit§ion=new&appendtext=... [core] - 10https://gerrit.wikimedia.org/r/77716 (owner: 10Anomie) [22:02:57] (03CR) 10Aaron Schulz: "(2 comments)" [core] - 10https://gerrit.wikimedia.org/r/77686 (owner: 10Siebrand) [22:08:26] (03PS1) 10BryanDavis: Ignore .rbenv-version in repo root. [vagrant] - 10https://gerrit.wikimedia.org/r/77830 [22:13:06] ebernhardson: I found the docs in the root directory [22:13:08] things making more sense [22:13:09] :p [22:13:13] :) [22:13:27] the docs arnt perfect, but should have a good general idea :) [22:13:38] werdna: if you want more fun: https://www.mediawiki.org/wiki/Flow_Portal/Architecture [22:13:47] woooooo [22:17:29] binasher: ^^ this might help [22:18:12] hes seen that one :) [22:18:19] ah [22:18:28] binasher: then DATA_ABSTRACTION in the root dir will help too [22:29:09] ebernhardson: This flat versus nested thing is a biggie [22:29:14] we need to talk about it with Design. [22:29:50] werdna: in regards to how the posts are represented? I'd like to know more about how the issues with tree's play out, i cant say i've used them for much previously. [22:30:09] I don't know, it depends how long we expect conversations to get. [22:30:25] but I think that in general, people don't think about conversations as trees. [22:30:40] Like, I get that you can have subtopics and so on [22:30:48] and I think that maybe we want the *ability* to have trees [22:31:02] but really I think a back and forth discussion on the same topic should be displayed linearly [22:31:05] not sneaking off to the right. [22:31:17] ahh, yea thats certainly a design side decision :) [22:31:22] right [22:31:32] I mean, technically it has implications yes [22:31:51] but it is primarily a social/design decision.. Last I heard Brandon &c wanted to keep it simple and have no nesting whatsoever [22:31:54] but that was a year ago [22:31:59] so maybe opinions have changed. [22:32:20] last i talked to him, he said he wanted unlimiited nesting, but to only indent things in the interface a maximum of 5 levels [22:32:40] mmmm [22:32:42] could work [22:32:42] the unlimited nesting comes into play because if you split a topic, he wants the newly split topic to still have that 5 levels of nesting, so it has to be tracked regardless [22:32:50] right, right [22:34:14] that might be a good compromise [22:34:36] which i should mention, the current crazy-simple sql implementation i have for trees wont work there :P its O(1) to query all the nodes in a subtree, but its uses N*M storage space(N = num posts, M = average depth) [22:34:46] but for now its fine, can fix that later :) [22:35:09] ooh that's scary :D [22:35:56] I would say EITHER make a new object for every full tree OR promote subtrees to having their own objects when they reach size X [22:36:11] unless you have a better idea? [22:36:30] werdna: sec i collected all this info :) https://www.mediawiki.org/wiki/Flow_Portal/Architecture/Discussion_Storage [22:36:53] yeah that's sorta what got me thinking :D [22:37:06] the choices for classical sql are: edge adjacency list, closure table(the one i'm using now), materialized path and nested set [22:37:21] acutllay nested set isnt an option, i kinda hate nested sets :P [22:37:43] edge adjacency is too slow [22:37:55] unless you also store trees/subtrees in cache [22:38:00] yea, the recursive queries is a killer [22:38:33] I don't fully understand "materialized path" – does that mean you store, for each node, the full path to get there? [22:38:55] yes, basically each node contains the list of nodes from itself to the root [22:38:57] and then you query on SELECT * from node where node_path like 'start:of:path:%' [22:39:01] yup [22:39:04] gotcha [22:39:15] that's not bad, but doesn't work with memcached [22:39:16] <^d> werdna: Stuff it in wgMemc. It's what we do with everything else ugly :p [22:39:25] because you can't do the prefix search on memcached keys [22:39:54] I think it's a clever solution for SQL, but we'd need to think of something different for the cache. [22:40:42] ^d: Oh, we are doing some very liberal stuffing in wgMemc [22:40:55] very liberal :) [22:41:04] use redis sets instead of memcached [22:41:23] i have been thinking about redis, i love its data structures :) [22:41:25] mmmm, more databases :) [22:41:30] zset === awsome [22:41:43] I don't know anything about redis, but now seems like a good time to learn :p [22:41:59] are we free to use redis though? i was under the impression if i implement something as redis i need a fallback for a 'normal mediawiki install' [22:42:08] i could be completely mistaken there though (hopefully) [22:42:19] well, the fallback can be plain SQL [22:42:30] it doesn't have to be *fast* [22:42:44] and let's face it, if you're on a site that can't install redis, then your dataset probably isn't that big. [22:42:48] ebernhardson: build the primary implementation for wikipedia [22:43:13] good :) i wont worry about that then, just use it [22:45:13] hey rfarrand [22:45:30] werdna: hi! [22:45:54] you've run away I see. [22:46:04] I have! Are you in SF now? [22:46:07] si. [22:46:12] but nobody else is in the office. [22:46:15] everything good? [22:46:17] nope :( [22:46:24] Yeah, I'm alive now. That's a big plus. [22:46:35] uh oh, did anything happen on the way over? [22:46:42] I got sick and had to push my flight back [22:46:55] oh no! hope you are doing better now? [22:46:59] stomach flu + tonsillitis = about 2 weeks of euuuughh [22:47:04] yeah, I'm doing okay now. [22:47:06] uggggg [22:47:18] sounds like no fun [22:47:51] yeah, all better now :) [22:47:53] how's HK? [22:48:46] its great [22:48:49] sad you are not here [22:49:03] the weather is hot - but at night its perfect to run around [22:49:19] and as usual its good to catch up with everyone [22:49:52] ahh well, I can't make *every* wikimania. [22:49:56] Would have been my fifth! [22:52:20] rfarrand: what's the time there? probably relatively early? [22:52:23] like 8 or so? [22:52:33] 652 am [22:52:38] ah 7 [22:52:48] right, it's 8:52 in Sydney [22:52:51] and HK is 2 hours behind [22:53:04] what are you doing up so early… [22:53:21] jet lag a guess, i wokr up and could not get back to sleep about 20 min ago [22:53:32] mm happened to me yesterday in SF [22:53:46] yeah, it could be much worse [22:53:59] at least it's a semi reasonable time, not like 4 am or something. [22:54:04] it is kind of nice to be forced to get an early start [22:56:33] lots to do? [22:59:20] I went to the hackathon and wikimania space yesterday [22:59:26] WMHK has it all under control :) [22:59:36] ahh a nicely organised Wikimania for a change :) [22:59:55] they asked students for volunteers and got something like 350 of them [23:00:02] holy hell [23:00:18] yesterday was a training day for many of them [23:00:32] i think they are expecting a total of 1000 people [23:00:53] about the same as last year then [23:00:58] attendees i mean [23:01:00] yeah [23:01:37] what's the venue like this year? [23:01:48] university [23:02:23] (03PS1) 10BryanDavis: Make MOTD banner fit in 80 chars. [vagrant] - 10https://gerrit.wikimedia.org/r/77834 [23:02:39] there is a large auditorium [23:02:39] werdna, are the wikimanias usually badly organised then? [23:02:42] and then classrooms, etc [23:03:08] some of the classrooms can be opened up and made into larger rooms [23:03:16] Krenair: there's always some fuss or other. [23:03:26] rfarrand: nod, pretty standard then I guess. [23:03:40] anyways, good talking to you! I am going to wander around and find some food [23:03:42] hey rmoen, are you still in SF or did they send you to HK? [23:03:45] rfarrand: enjoy [23:03:53] hope you enjoy the ghost town in SF [23:03:58] rfarrand: look forward to grabbing a beer when you get back :) [23:04:03] yup! [23:04:13] see ya [23:04:16] seeya [23:06:00] (03CR) 10BryanDavis: "(1 comment)" [vagrant] - 10https://gerrit.wikimedia.org/r/77834 (owner: 10BryanDavis) [23:07:26] greg-g: Yo. [23:07:43] greg-g: I'm not sure why Office IT and its Google Apps accounts is being dragged into this lists.wikimedia.org issue. [23:07:51] Elsie: oh it's you. [23:07:59] werdna: Oh it's you. ;-) [23:08:05] :-D [23:08:07] Welcome back. [23:08:11] Glad to hear you're feeling better. [23:08:21] yeah, a bit more alive than I was a few days ago [23:08:23] Flow is... well, we can talk about it some other time. It has social issues. [23:08:32] tonsillitis is an evil, evil, evil illness [23:08:38] Indeed. [23:08:54] Though I don't know of many non-evil illinesses. [23:08:59] heh, I don't think Flow has any issues yet, because it's not really built [23:09:29] Elsie: we weren't sure what the issue was when I sent the email to OIT [23:09:42] I was took quick on the draw [23:10:15] took quick? ugh [23:10:19] greg-g: Fair enough. :-) [23:10:31] werdna: There's a growing opposition on en.wiki and mediawiki.org already. ;-) [23:10:38] on mediawiki.org? [23:10:41] haha [23:10:41] Though some of the concerns are, of course, unfounded. [23:10:43] what? [23:10:50] seriously? link please Elsie [23:10:50] Krenair: There's a Flow portal there. [23:10:54] where "mediawiki.org" == "Elsie" ;) [23:10:57] This is the part where I'm happy to be an engineer and not, say, Oliver or Brandon. [23:11:11] greg-g: Hah! [23:11:19] but not === [23:11:28] https://www.mediawiki.org/wiki/Talk:Flow_Portal/Interactive_Prototype [23:11:40] Lots of concerns about wikitext, as you can see. [23:11:44] https://www.mediawiki.org/wiki/Talk:Flow_Portal [23:11:46] oh if it's feedback on the prototype then I'm not interested. [23:12:13] greg-g: I haven't been involved in Flow very much (yet). I was kind of involved with LiquidThreadsv2, but we see where that went... [23:12:20] * greg-g nods [23:12:22] because we don't even have a fucking data model. Putting up a prototype and asking for feedback is super super premature [23:12:31] greg-g: Ugh. I already went through all my emails marked as spam and marked them not spam. [23:12:31] And yet. :-) [23:12:41] Krenair: ditto, hence the request :/ [23:12:44] The prototype is from the Flow team. [23:12:55] and we all know what happens when you put up a premature prototype and ask for feedback :p [23:12:57] Krenair: and I couldn't remember exactly which ones they were [23:13:03] I think it's from Brandon specifically [23:13:05] same problem [23:13:23] ebernhardson: so what we have now is a closure table? [23:13:33] greg-g, oh, I think I've got one [23:13:50] greg-g: How do I get gmail to give me the headers? [23:14:04] ebernhardson: I don't see how we can do materialized path in redis — I can't see a way in redis to query by prefix. [23:15:02] especially not on the value. [23:15:24] yea i've been thinking about it [23:15:29] i keep coming back to closure table :P [23:15:34] Krenair: Google it. ;-) [23:15:41] It's buried somewhere in the UI. [23:16:32] Wow. [23:16:35] 'Show original'. [23:16:36] ebernhardson: I personally prefer storing the full tree from the root, and you just pull the full tree and cut [23:16:44] Krenair: https://support.google.com/groups/answer/75960?hl=en [23:16:46] I wonder who the hell thought that would be helpful. [23:16:46] Yep. [23:16:48] if a subtree gets super big, then we can split it off and mark it as so in the full tree [23:17:03] werdna: i suppose the worry there is busy trees, like say the village pump, multiple users could be trying to update the same tree [23:17:06] (03PS45) 10Wikinaut: (bug 44819) introducing array of $wgOpenIDProviders and $wgOpenIDForcedProvider [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 [23:17:21] mmm, you'd have to add locking [23:17:22] werdna: and by update, i suppose i really just mean "add a node somewhere" [23:17:30] (03PS46) 10Wikinaut: (bug 44819) introducing array of $wgOpenIDProviders and $wgOpenIDForcedProvider [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 [23:17:44] but do you really think there'd be trees (which haven't been split off) which would be getting more than one update per second? [23:17:56] werdna: storing as a serialized individual tree does simplify things, i listed that under key/value store of the exploration :) [23:17:56] And of course, pastebin wants me to do a captcha [23:18:03] I mean, I just don't see the contention being that extensive. [23:18:14] Even though I've filled pastebin captchas hundreds of times [23:18:14] man you've thought of everything :D [23:18:16] werdna: well, i was hoping you would know more than me about that :) I was told one of the problems with liquid threads was also how it handled busy trees, i thought this was related [23:18:35] (03CR) 10Wikinaut: "(1 comment)" [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [23:18:46] werdna: or well, i suppose not busy trees but that it had problems with busy talk pages [23:19:15] werdna: the sad thing is i did various research, documented the variety of options, but i still dont have solid decisions :( [23:19:27] greg-g: Done. [23:19:28] it just "now we have a bunch of options none of which are 100% match" [23:19:45] thanks! [23:19:46] (03CR) 10Wikinaut: [C: 04-1] "fixed variable $small => $smallProviders; fixed the cookie path." [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [23:20:07] ebernhardson: nod. But a busy talkpage wouldn't have contention, only a busy topic. [23:20:11] So the issues are orthogonal [23:20:26] at least, a talkpage doesn't consist of just one tree [23:20:36] yea, each talkpage is a set of trees [23:20:57] we can ask binasher what he thinks :) [23:21:04] and perhaps others [23:21:05] A forest, if you will. [23:21:15] Reminds me of Microsoft, heh. [23:21:22] active directory tree [23:21:23] tbh, my first time through the tree storage, the Key/Value store was sounding not too bad. Thats why its listed as "The simplest thing that could possible work" [23:21:25] active directory forest [23:21:29] (03CR) 10Wikinaut: "(1 comment)" [extensions/OpenID] - 10https://gerrit.wikimedia.org/r/55287 (owner: 10Wikinaut) [23:21:31] sometimes i really like the simplest thing possible :) [23:22:00] ebernhardson: I like it too. It's simple, and fast, and I think the contention would be manageable. [23:22:03] with a little locking, it should work. I suppose if we went that way it also means we could store the tree as a revision and be able to look into time [23:22:21] meaning view a tree as it was in the past? [23:22:36] werdna: yes, basically [23:22:45] werdna: pre-topic split or whatever (to revert a topic split) [23:23:08] nod. [23:23:15] oh man, topic splits are a whole new ball game [23:23:35] yea, and its part of the 1.0 MVP :) [23:23:44] split and merge topics [23:24:42] yeah, I had that in LiquidThreads [23:24:45] the messiest part, by far. [23:35:44] (03CR) 10EBernhardson (WMF): "(15 comments)" [extensions/Flow] - 10https://gerrit.wikimedia.org/r/75916 (owner: 10EBernhardson (WMF)) [23:39:02] (03CR) 10Santhosh: [C: 032] Customise linktrail for Gujarati (gu) [core] - 10https://gerrit.wikimedia.org/r/77509 (owner: 10Nemo bis) [23:42:20] (03CR) 10Santhosh: [C: 031] Adding hook handler for creating human-friendly relative timestamp [extensions/cldr] - 10https://gerrit.wikimedia.org/r/45499 (owner: 10Kaldari) [23:42:34] (03CR) 10Werdna: "(3 comments)" [extensions/Flow] - 10https://gerrit.wikimedia.org/r/75916 (owner: 10EBernhardson (WMF)) [23:44:27] (03Merged) 10jenkins-bot: Customise linktrail for Gujarati (gu) [core] - 10https://gerrit.wikimedia.org/r/77509 (owner: 10Nemo bis) [23:54:16] hmph, Parsoid is using enwp instead of my local wiki [23:54:20] * werdna grumps at parsoid [23:55:16] ah found the problem :)