[00:08:33] James_F: I'm kinda at a loss [00:09:18] no_justification: Oh! Is there a subclass caller that the private method doesn't show? [00:10:37] I see no subclasses of LogPager [00:10:44] In core, at least [00:11:46] James_F: Also, dunno if you noticed but I added closed.dblist to group0 so we get a little more traffic now [00:11:50] (but no editor impact) [00:18:37] There's no subclasses in any of our hosted extensions [00:21:21] no_justification: I has fix [00:22:25] <3 [00:22:44] https://gerrit.wikimedia.org/r/#/q/I286374d4ca0ab9435d7d54c4f8b9660a60e5f1e3 [00:22:46] Cherry picked [00:23:57] And it's swat [00:23:58] * Reedy deploys [00:25:27] tyvm [00:27:34] no_justification: I did. (I stalk the mw-config repo.) [00:29:16] I commit and merge pretty quick so sometimes it disappears :p [00:33:22] https://test.wikipedia.org/w/index.php?title=Special%3ALog&user=Jeff+G [00:33:24] Confirmed fixed [00:34:29] Master patch is https://gerrit.wikimedia.org/r/#/c/393964/ [00:44:13] Reedy: +2'ed. [00:44:19] ta [00:44:44] no_justification: I mean, I have gerrit e-mail me about every new commit, new patchset, and every merge in the repo. :-) [00:46:55] James_F: still, it's a lot of volume 🤣 [00:48:08] Indeed. Sometimes I sigh at the workload, but at least I notice when e.g. someone totally changes the config of one of the things for which I'm responsible whilst I'm in a meeting without talking to me first. :-) [02:28:40] tgr|away: Curious why https://phabricator.wikimedia.org/T134953 is a subtask of https://phabricator.wikimedia.org/T110279. Currently looking at the open sub tasks underneath the "Implement AuthManager" parent task. [02:28:59] Also whether https://phabricator.wikimedia.org/T5709 can be closed (which depends on that one) [02:55:50] no_justification: is 1.30 going to happen in November? [02:56:05] (are there still blockers?) [03:30:08] legoktm: rc.0 was tagged and uploaded today, e-mail in process of being sent [03:45:56] no_justification: oh, <3 [03:58:58] how many C's are we going to see? [05:13:13] CindyCicaleseWMF: the links in https://lists.wikimedia.org/pipermail/mediawiki-l/2017-November/047014.html are a bit messed up [05:22:42] Krinkle: for no good reason [05:23:18] I wanted to rewrite it as part of the AuthManager changes (but didn't), and this was the best tracking task to stick it to [05:23:33] actually AuthManager is the client of Throttler but close enough [05:24:42] but merging those classes is not really related to authentication, it would just have been housekeeping [05:26:23] as for T5709... none of the specifics that task asks for have happened (well, maybe the first), and none of them are related to AuthManager [05:26:23] T5709: Refactoring to make external authentication and identity systems easier - https://phabricator.wikimedia.org/T5709 [05:27:24] I would just decline it, if someone is interested in #2 or #3 they should open a separate task, having vaguely defined grab-bag tasks like that is not helpful [05:28:27] and I'm not sure they are really a good approach for external auth systems [05:29:06] AuthPlugin was able to return custom user classes, and we walked back from that [05:30:27] you can write your own identity class, like CentralAuthUser, and use CentralIdLookup to interface with the rest of MediaWiki; that's not perfect, but a better direction [07:26:38] legoktm: yeah, I saw. I'll need to figure out what caused them to wrap before re-sending. [17:53:47] legoktm: You probably already know this, but apparently Gmail wraps long lines in plaintext emails, and it doesn't seem to be configurable. It would have been better if I'd put the URLs alone on lines, but I think they would still have been too long. My plan is to create a mediawiki.org page with a short enough name to hold the URLs and point to it instead. But I'm in NYC on a middle school field trip [17:53:47] today escorting 120 middle school students around Broadway, so I'll have to do so later. [17:59:12] CindyCicaleseWMF: omg that sounds horrible :) [18:08:22] bd808: at least I get to see a Broadway show this afternoon ;-) [18:20:08] The only show I've actually seen on Broadway was Green Day's American Idiot :) [18:20:27] Punk rock opera for the win [18:28:45] Nice! We're seeing Come From Away. It is about the airplane that landed in a small town in Newfoundland when the airspace was closed on 9/11. We had a workshop with some cast this morning learning a song from the beginning of the show in which islanders are greeting the passengers as they arrive, not knowing why they landed. It was lovely and has us looking forward to the show. Lunch at Planet [18:28:45] Hollywood with 120 middle school students on the other hand... [20:15:05] Reedy: Gah. It occurs to me that with my "helpful" addition to RELEASE-NOTES, my patch isn't back-portable. Sorry. :-( [20:15:13] haha [20:15:18] it's a trivial thing to fix, so don't worry [20:15:43] It's also wrong, given we're going to back-port to REL1_30. It won't be novel in 1.31.0. [20:17:18] lol [20:20:18] https://gerrit.wikimedia.org/r/394128 [20:36:17] TimStarling: Thoughts on $IP/realpath? https://gerrit.wikimedia.org/r/#/c/393713/ [21:01:22] Krinkle: meeting time [21:02:03] Bleh: [{exception_id}] {exception_url} BadMethodCallException from line 78 of /srv/mediawiki/php-1.31.0-wmf.10/extensions/ProofreadPage/includes/page/DatabaseIndexForPageLookup.php: Call to a member function exists() on a non-object (boolean) [21:02:17] I bet that's recent refactorings [21:19:00] Reedy: Re https://gerrit.wikimedia.org/r/#/c/394145/, decide yes or no. I'll go along with it either way. [21:20:16] Hmmm [21:20:25] pg mostly follows the order of the mysql file [21:20:26] but not completely [21:20:44] https://phabricator.wikimedia.org/T181682#3798218 < bets on mwjames getting upset that I tell him to fix it manually? [21:22:13] anomie: fixed ip_changes to same as mysql tables.sql [21:22:58] Reedy: I backed you up on T182682. [21:23:04] I saw, thanks [21:23:07] Basically my rational [21:23:15] Sure, if we'd fscked it up in a release, we should fix [21:23:21] But master, for less than 24 hours? meh [21:24:23] Reedy: Don't forget to backport those two patches to 1.30 [21:24:31] I was thinking the same thing [21:24:33] The first one isn't needed [21:24:43] As I cherry picked it from the earlier PS [21:25:01] but the tables.sql one does need to [21:25:18] https://github.com/wikimedia/mediawiki/blob/REL1_30/maintenance/postgres/archives/patch-ip_changes.sql#L5 [21:26:49] It seems musikanimal accidentally reverted my changes in PS3 by not pulling from gerrit first :) [21:27:31] :( [21:34:57] Krinkle: maybe brion remembers the rationale for the working directory stuff [21:35:04] it actually dates back to phase 2 [21:35:29] # Includes the necessary parts [21:35:29] include_once ( "./wikiSettings.php" ) ; [21:35:32] include_once ( "./basicFunctions.php" ) ; [21:35:47] phase 2 originally installed into one directory and i kind of hacked it into working from the source checkout [21:35:49] iirc [21:35:53] it was always very funky [21:36:15] Krinkle was asking me about https://gerrit.wikimedia.org/r/#/c/393713/3 [21:36:22] the realpath() stuff istr came from problems with symlink-based setups [21:37:39] we previously had $IP set in LocalSettings.php [21:37:46] and index.php had [21:37:48] require_once( "./LocalSettings.php" ); [21:37:53] Interesting. [21:38:20] So this would be for a scenario where.. you put a symlink to /w/index.php into a different directory that doesn't have the rest of mediawiki? [21:38:27] yeah, i think using realpath fixed one particular symlink scenario but broke another one :D [21:38:34] Under the assumption that /www/notmediawiki/index.php __DIR__ would be notmediawiki? [21:39:10] sounds about right? [21:40:21] If that's the case (this being for supporting mounting "mediawiki" somewhere, not by directory but via just the entry point file), then that is already broken given we use __DIR__ to get to WebStart from index.php [21:41:08] well, very early on (maybe around 1.3) I remember breaking some of this stuff, possibly with protests from brion [21:41:27] I didn't think it made sense to have half of MW in one directory and half in the other [21:41:36] heh [21:42:22] i'm not sure i like how our production uses 'forwarding' entry points but i like it a lot better than symlinking different pieces in different places [21:42:39] what sort of installation could this change break at this point? [21:42:57] imho only one that's fragile and likely to break if it's not broken already :D [21:43:09] something using chdir() instead of putenv('MW_INSTALL_PATH=...') to select $IP? [21:43:17] * brion hmms [21:43:23] I know a lot of people (including WMF) use entry point wrappers [21:43:27] * no_justification is on a warpath against symlinks in the install tree [21:43:32] And it would need to re-create /*.php and /includes/WebStart.php [21:43:35] if something uses "../extensions/Bar" or something it could esplode depending on where the trees are [21:43:41] but that's not recommended anyway [21:44:23] i think since we moved everything to autoloaders or direct __DIR__ . $relpath it's unlikely to fail in internal places [21:44:33] Anyhow, if this is for symlink support, I suppose we can keep that. [21:44:42] Just by passing __DIR__ to realpath() instead of '.' [21:44:58] well then there's the question of should we actually use realpath() or use the possibly-symlinked path [21:45:11] Fact remains, if working directory is not the same as __DIR__, then mediawiki will fail to initialise unless you also have 3 files in includes wrapped in the faux entry point. [21:45:15] but __DIR__ should always be safer [21:45:20] yeah [21:45:42] yu'd need to wrap /w/index.php, /w/includes/PHPVersionCheck and /w/includes/WebStart.php [21:45:48] I killed 10 symlinks today :) [21:46:13] * brion makes no_justification a hat of symlink pelts [21:46:14] So I'd like to switch from '.' to __DIR__, question then remains, use __DIR__ as-is, or pass through realpath() still? [21:46:51] i say use __DIR__ definitely. probably safe to remove realpath() but it would be less surprising to not change it :D [21:47:03] ah [21:47:21] there might have been something about obtaining a full path... was that all the realpath('.') was for? [21:47:35] well, you don't want $IP to be literally "." [21:47:39] right :D [21:47:44] then it would break if you ran chdir() [21:47:47] but maybe it was a side effect of that that it removed symlinks [21:47:54] and not on purpose [21:48:15] in which case just using __DIR__ is prolly fine [21:49:35] as in the existing patch [21:49:50] \o/ [21:52:16] Thanks :0 [21:52:17] :) [21:52:24] > https://www.mediawiki.org/wiki/Manual:$IP [21:52:25] still reading the previous comment traffic [21:53:50] wow, people still run MW on Windows? [21:54:22] it happens from time to time [21:54:27] i think they're weird, but hey! [21:54:49] And often it's IIS on Windows too [21:55:31] i recall having all manner of difficulty with iis on win2k and xp [21:55:42] have not actually tried it in modern ages :D [21:58:00] I was originally using TortoiseSVN and developing on Windows when I joined this band of misfits :) [21:58:10] * Reedy high fives no_justification [21:58:18] d'awwww [21:58:53] yeah, I developed on Windows up to early 2008 [21:59:08] with apache of course, not IIS [21:59:26] but still, I remember there being a lot of things I needed to fix [21:59:42] Now, I did use Apache at least [21:59:47] :p [22:00:26] TortoiseSVN was (presumably still is) awesome, that was the number one thing I missed when I moved to a linux desktop [22:00:44] maybe I should use some IDE with git integration eh? [22:01:08] Pfft [22:01:12] Why start now? [22:01:23] i just use command line git, and when i mess it up too bad I give up and "git reset --hard origin/master" :D [22:02:17] but i literally had to read the oreilly git book before i understood how to use command-line git beyond just a couple hardcoded commands [22:02:43] Krinkle: +2 [22:02:45] and i do use git-review cause manually pushing to gerrit is pain [22:02:49] Thanks [22:03:26] when I started with git, there were a couple of times when I just did rm -rf of the whole working copy and recloned [22:04:24] probably before I appreciated the full wonders of git reset --hard [22:04:24] brion: Aliases ftw [22:04:49] push-for-review = !git push origin HEAD:refs/for/`git rev-parse --abbrev-ref HEAD` [22:05:18] here's a shell function in my .bashrc you may like: [22:05:26] function gco() { [22:05:26] php -r 'if (preg_match("!^https://gerrit.wikimedia.org/r/#/c/(\d+)(\d\d)/(\d+)\$!", $argv[1], $m)) [22:05:27] passthru("git fetch gerrit refs/changes/{$m[2]}/{$m[1]}{$m[2]}/{$m[3]} && git checkout FETCH_HEAD");' "$1" [22:05:27] } [22:05:37] then you type [22:05:43] gco https://gerrit.wikimedia.org/r/#/c/393713/4 [22:05:46] Ah! [22:05:48] and it does a git checkout of that changeset [22:05:48] That is fancy [22:05:58] * no_justification adds a git alias [22:06:38] I also have: [22:06:39] push-for-merge = !git push origin HEAD:refs/for/`git rev-parse --abbrev-ref HEAD`%l=Code-Review+2 [22:06:58] ooooh [22:07:07] Plus: push-for-tyler when I want to bug thcipriani :p [22:07:23] push-for-tyler = !git push origin HEAD:refs/for/`git rev-parse --abbrev-ref HEAD`%r=thcipriani [22:07:54] Mind blown when I realized you could do raw shell commands and not just git commands when you prepend them with ! [22:08:04] heh that url will change soon :) [22:08:05] That's how I got the `git rev-parse` bit in there, so I didn't have to worry which branch I was on [22:08:06] :) [22:08:16] glad I made the .gitconfig cut :) [22:09:10] TimStarling: You familiar with url.foo.insteadOf? [22:09:20] no [22:09:20] [url "https://gerrit.wikimedia.org/r/"] [22:09:20] insteadOf = "gerrit:" [22:09:28] So I do `git clone gerrit:mediawiki/core` [22:09:53] right [22:10:28] that would save some typing [22:10:38] or [22:10:38] [url "ssh://gerrit.wikimedia.org:29418/"] [22:10:38] insteadOf = https://gerrit.wikimedia.org/r/ [22:10:49] To not have to to git-review -s [22:10:59] Especially when dealing with vagrant, this helped me deal with differences inside host/guest [22:11:04] Or if you copy one of those ugly SSH urls :p [22:11:33] I can type ssh://gerrit/... since I have the port number and full hostname in .ssh/config [22:11:40] I use git push refs/for/ a fair bit, but for checkout I copy the fetch&checkout command from Gerrit itself. [22:11:50] should we all just pastebin our .gitconfigs? https://paste.fedoraproject.org/paste/D6cnI4-MH4jtrX5J2KHowg/raw [22:12:09] * paladox pushes everything manually [22:12:15] which also allows e.g.: ssh gerrit gerrit ls-projects [22:12:28] https://github.com/Krinkle/dotfiles/blob/HEAD/hosts/KrinkleMac/templates/gitconfig + https://github.com/Krinkle/dotfiles/blob/HEAD/gitconfig [22:12:54] Krinkle: Alias that refs/for/* stuff! [22:13:23] Better yet, refs/for/refs/for [22:13:24] :) [22:13:39] refs/for/refs I mean [22:13:42] Oh, back to symlinks: https://gerrit.wikimedia.org/r/#/c/394199/ I'm pretty sure something will break if I do this [22:14:03] But it'll be nice because nobody has to remember to run createSymlinks or w/e when they add a dblist [22:14:36] no_justification: There's a unit test, other than that, nothing will fail [22:14:54] I'm thinking more random tools that try to fetch stuff from noc [22:15:32] Also: can I please dear lord kill skins-1.5? [22:15:38] lol [22:15:42] Are people still using it? [22:15:46] I bet they are [22:16:50] I see a few things in github [22:16:55] A lot of things already broken [22:16:58] (bits.wm.o? heh) [22:17:17] my favorite .gticonfig alias is "git = !git" so that when I type `git git ...` it just works [22:17:24] That one too ^ [22:18:02] "exec = !/usr/bin/env" can be handy to. It runs a command relative to the root of the git clone [22:18:11] git exec phpunit [22:18:31] that sounds handy! [22:19:55] I have a `gcd` shell function too that does a cd relative to the root of the git clone [22:20:46] i would lol if someone has an alias for rm -rf / [22:21:27] https://phabricator.wikimedia.org/source/operations-puppet/browse/production/modules/admin/files/home/bd808/.bash/conf.sh;708098ea4aa90f1d046fa225e1c7700429b2163b$432-455 [22:23:38] no_justification: I ran a bot to fix a bunch of skins-1.5 stuff last week [22:24:43] down to 51 mentions [22:25:03] https://gist.github.com/Krinkle/a18e726fc3af30f30bf9b2ba919820b5/revisions [22:25:58] that no/nb discussion T173602 is kind of mind-boggling [22:25:58] T173602: Revert "norsk bokmål" -> "norsk" change - https://phabricator.wikimedia.org/T173602 [22:26:34] even though I was already aware of the linguistic and code assignment issues [22:27:35] "Anyway, I AM THE WORLD'S MOST STRONGLY OPPOSING THIS TASK" -- Liuxinyu970226 [22:32:05] T174160 just needs to be done with urgency, people shouldn't have their sidebars screwed up for no reason [22:32:05] T174160: Language code(s) for nowiki should be changed to nbwiki - https://phabricator.wikimedia.org/T174160 [22:34:09] Krinkle: Oh yeah, on-wiki mentions [22:34:13] I always forget about that [22:35:19] no_justification: context? [22:35:35] For skins-1.5 [22:35:56] Right [22:35:57] Yeah [22:49:35] Would like a co-review from someone else on https://gerrit.wikimedia.org/r/#/c/338901/5 [23:19:13] tgr: amended - https://gerrit.wikimedia.org/r/#/c/338901/ [23:41:51] Krinkle: thanks! LGTM. does this need any handling in logstash or is it good to merge? [23:42:33] I know logstash causes trouble sometimes when it does not know the data type of a field but not sure when exactly that happens [23:44:43] Yeah, as far as I know new fields are not an issue. It is true that it will take a while before it indexes it efficiently and understands its consistnet data type [23:44:47] but nothing we can do about that afaik [23:47:28] wrote a comment on the no/nb thing [23:49:12] ideally the site should be completely moved, including the database name [23:57:42] ideally [23:57:51] have we ever renamed a database TimStarling? [23:58:03] TimStarling: Would be nice if we could eventually make the same disconnect we achieved between dbname and host name, also between db name other config. Did the same for udp2irc channel a while back. E.g. one day we should be able to have new wikis just assign a random db name like wikidb4297 and then tie it up in wmf-config to a hostname, project and language. [23:58:07] yes, it was easy enough before SOA [23:58:22] SOA? [23:58:31] service oriented architecture [23:58:49] every service we add adds another step to the list of things that need to be done to move a wiki [23:59:21] and the new steps that are added are often "ask the maintainer of this service who will tell you that moving a wiki is very complicated and they hope you don't really want them to do that"