[00:00:44] ugh `Html::element` is parsing out my line breaks ugh [00:00:47] grrrrrr [00:17:11] you need some specific css to make the browser treat whitespace literally [00:17:25] really? 😦 [00:17:36] https://developer.mozilla.org/en-US/docs/Web/CSS/white-space [00:17:41] you likely want white-space: pre-wrap [00:18:05] OMG YOU LIFE SAVER [00:18:07] that did it [00:18:07] heh [00:18:09] yw [00:18:20] i was cussing out mediawiki for a solid 10 minutes there [00:18:23] which is still valid but [00:18:23] there's also more css to make sureit actually fucking wraps [00:19:08] [1/2] https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap [00:19:09] [2/2] i use overflow-wrap: anywhere [00:20:04] there's also fifty different css properties so you never really know which one it is that you want lol [00:20:33] the pre-wrap seemed to do it so i'll just use that one [00:20:59] i added overflow wrap just in case although I don't really know what that does lol but I trust your word [00:27:00] [1/2] i don't think i could get https://gerrit.wikimedia.org/r/c/mediawiki/extensions/PageNotice/+/1121572 on REL1_43 [00:27:00] [2/2] i wonder if we could switch the branch to master on our side [00:35:14] We generally only do that if the repo doesn't track mediawiki releases and maintains backwards compat I think? [00:35:27] I think void was working on something like this though? [00:35:38] Alternatively we can just fork the repo for the time being and make the change locally? [00:35:51] and then delete when we're up-to-date [00:36:14] doing a local fork sounds like more effort than just tracking master, but if everyone agrees, i'm not gonna protest it [00:39:24] we can switch to master if it maintains backwards compat i guess [00:39:36] I just worry that some classes might have been namespaced between versions? [00:39:57] i tested entirely on master, and it worked for me then, so :p [00:40:08] Should be fine then! [00:47:42] cool, do i just make the pr then? [01:14:16] Looks nice. Early morning swim like a true viking! Good luck 😄 [01:29:11] LIKE HELL [01:30:25] too cold even now [01:30:29] https://cdn.discordapp.com/attachments/1006789349498699827/1353179062268461108/image.png?ex=67e0b5b5&is=67df6435&hm=c3e9a81c66c3fb6afd1b97687f20caa8037a824a57f58538d6dd777770676b01& [01:38:38] Woos 😂 Kids nowadays! [01:40:00] https://cdn.discordapp.com/attachments/1006789349498699827/1353181456712728690/10000000_139791111834479_4008521538743147996_n.mp4?ex=67e0b7f0&is=67df6670&hm=307b7c6d0b9b73b208d92c29de16bc25edc2a01888a1ec3881f04abfd651a0d4& [01:40:03] Be a viking! [01:41:22] Laughs in washer dryer machine [01:41:39] you’re telling me [01:42:25] laiwbewawaibwaefuiwaefawiefliawuf [01:42:47] can't tell if y'all are burning or this is farenheit [01:43:37] F° [01:43:52] It’s winter(spring) in Pennsylvania USA [01:44:20] Spring, we're past March 21 [01:44:33] Oh, is today rhe firet day [01:44:38] yesterday for you [01:45:05] Yeah 2 days already [01:45:14] I don’t think jersey or PA ever gets to 113F [01:45:18] i hope not [01:45:21] It's 23rd now [01:46:14] Talk Celsius man like everyone else 7n the world [01:58:25] That's not cold. [02:01:51] its chilly, i never said its freezing lik [02:01:56] feels colder [02:02:06] feels 38 [02:02:22] Try 10. [02:02:28] New Hampshire gets frigid. [02:02:41] I think we got to -20 once when I was staying there. [02:04:34] My upcoming next week weather ranges from highs in the 30s to in the 70s to back towards the 40s lol. A little while ago we got like -25 a few weeks ago... [02:04:37] I think last year I went to the Klondike it was like 0-2°F in the morning [02:05:12] was fun but also miserably cold [02:05:25] This last year was perfeft weather, minus no snow [02:05:39] The Scouts in my group [02:05:41] mmmmm [02:09:49] It's 90 F/30 C right now today. [02:10:27] It can get up to 120 F/48 C though. [02:11:37] Oh yeah Cosmic, has anyone tried setting up that script for CampaignEvents yet? Or is it just as simple as putting it in the mwscript variable? [02:11:58] Oh yeah, and is RefreshSpecial good to install? The PRs were already approved but not pushed live yet. [02:14:40] what [02:15:02] Yeah, Australia gets hot. [02:15:38] Specifically the western states, Western Australia, South Australia and the Northern Territory. [02:17:15] The record for new Jersey according to DDG AI was 110F [02:17:29] Some parts where I was in WA didn't get quite that hot. About 90F, 32C avg in February was the hottest month. [02:17:54] Were you just visiting? [02:18:09] I was born in Australia. [02:18:18] Oh, I didn't know that. [02:18:57] But yeah, it gets pretty hot where I live during Summer, it's cooling off now since we're supposed to be in Autumn. [02:19:12] Wow really? [02:19:16] TIL! [02:19:26] Yep. [02:19:45] I knew you spend a good portion of the year in AU [02:19:54] I have Friends in Perth [02:20:00] Thought you were American [02:20:15] Thats where I was in Perth. [02:20:23] Ah [02:20:33] Well actually it was just outside perth. [02:20:36] My oldest brother lives in Perth now. [02:20:50] I prefer Adelaide though. [02:20:57] In 2003 I helped them pack up and send them off. They wanted to be with their kids and grand children [02:21:34] https://www.youtube.com/watch?v=izTUxfvdTRI&ab_channel=TheGoodMad [02:21:51] I'm in the US now but I go back to Australia about once a year for a few months but I'm not sure I'll be able to this year. [02:22:27] Need to start at around 0:30 [02:22:46] Why live in the US though? [02:23:22] Hey I've been there too but it's a long way from perth, I think I've only been once or twice. [02:23:46] Yeah, ten hour drive or four hourish flight. [02:24:17] Isn't it more like 30 hour drive? [02:24:28] Not if you go above the speed limit. [02:24:51] 27 hours apparently. [02:25:29] Its about 2800km IIRC. I did do it driving once. And the other time I'm pretty sure I flew. [02:25:31] The speed limit is 110 on SA Highways and then it jumps to 120 in WA but rural cops won't stop you for going 120 if you're not hauling a ton of shit or driving like an idiot. [02:26:48] Unless there's an airplane in the air, then drive the speed limit. [02:26:55] I had family in the US and now it's just not convenient to relocate, but I want to eventually return to Australia now. Probably a couple years and I should be able to again. [02:27:12] Yeah, just don't live in the eastern states. [02:27:50] The USA is going down the drain. So I don't blame you [02:28:04] I'm in the northwest. [02:28:27] Saw that Trump wants to dismantle the Education Department 😛 [02:28:30] I meant Australian states. [02:28:39] Already has. [02:28:46] ah lol [02:29:10] Sydney and Melbourne suck, built like American cities and the streets are designed as if someone was on acid. [02:29:13] Honestly I don't get trump. It's like he's purposely destroying the country. [02:29:18] Ah [02:29:28] Can't run anything without a budget. [02:29:30] doesn't affect any of parts of the country other than those who are the worst off [02:29:40] He wants to make a business of it [02:30:07] He's not a politician. [02:30:11] The US has become a business with Musk and Trump running it. that's for sure. [02:30:28] I feel like this has to be some sort of social experiment to see how barebones the country can get before falling apart [02:30:38] reminds me of a McDonalds during rush hour with a skeleton crew [02:31:12] LOL [02:31:38] Here in Europe the politicians are all panicking now [02:31:43] is it doable? yes. will it provide slow service? yes. will it mess create messes? definitely [02:33:20] I agree with you there BTW. Forgot to reply here lol [02:33:47] lmao thats absolutely a good way to put it. [02:34:34] had a quick glance at Sydney and it made me appreciate city planning [02:36:59] Looks at Adelaide for comparison. [02:38:36] better but the fact that the grid isn't perfectly pointing north is driving me crazy [02:39:56] https://cdn.discordapp.com/attachments/1006789349498699827/1353196537852985414/5nskv8v8pr751.png?ex=67e0c5fb&is=67df747b&hm=f4cb83b2ceb7afe07bb00f4e02fa4b71213b988e8ce89de08e3ba3575fd094fe& [02:40:03] best to worst street grids [02:40:04] [1/2] Too tired for politics but [02:40:04] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1353196571226804316/IMG_6466.jpeg?ex=67e0c603&is=67df7483&hm=2d4fdb77b67b1beb460d99bde3f368a7f018c15c811042d1984a75683d27bbfe& [02:40:28] and still on twitter [02:46:02] I rather have the European cities. No perfect squares, all naturally formed through the centuries [02:47:45] it's quite interesting how the two most disorganized street grids are outside of Europe [02:47:53] Charlotte having that monstrosity is crazy [02:48:13] meanwhile Chicago having a perfect street grid is nice [02:48:24] Should look in Bangladesh or India or Brazille [02:49:12] heh [02:49:40] it seems Delhi is in the chart actually [02:49:40] in the middle [02:49:56] bit more organized than Copenhagen, huh [02:50:03] They mention Sydney and Melbourne but no Adelaide :mad: [02:50:28] it'd probably be next to Manhattan [02:51:59] Oh yeah not sure if you saw these @cosmicalpha cause we were busy talking about the weather and Australia. [02:53:32] oh lol I'll look at that soon. May just be as simple as using mwscript. [02:53:56] This might be a dumb question, is there a way to setup a local instance of Miraheze to test things like that. [02:54:19] It might actually be more effort than its worth, hmmm :thinkIE: [02:55:02] I've done it before but it absolutely wasn't easy. I should push a docker container that can install everything Miraheze uses to test things like that. [02:55:13] emulating things 1:1 is hard but setting up MediaWiki with CreateWiki/ManageWiki should be easy [02:55:27] the real issue is that sometimes problems arrise in production that we never detect in testing \:P [02:55:50] pagelinks is one of them [02:55:56] silent but really problematic [02:56:01] CreateWiki is 10x easier to install now after I rewrote the whole thing from scratch but it's still not fully straightforward to install everything else. [02:56:32] yep, super easy to install [02:56:42] which unfortunately gives way to some interesting offshots \:P [02:56:57] lol, i remember when i thought i had to do sql.php on the files in sql/*.sql before i knew of update.php [02:58:37] oh yeah, CA, any opinions on this? [02:58:40] lol yeah maybe me fixing the install procedures was not the best idea... not really though it is good to be more open regardless but yeah those are a bit interesting lol [02:59:26] I'll just clone Miraheze and call it Gamepedia. All problems will be solved then. [02:59:47] fu- [03:00:00] We can add a local patch. Maybe it's the perfect opportunity to test voids local patch PR lol. If not I guess we can use master. [03:00:11] oh yeah, good idea :3 [03:00:33] gamepedia ahead of its time fr [03:00:34] now to figure out where it is... [03:01:21] you add the patches in mediawiki-repos and the PR is on puppet. I can pull it locally to puppet181 and push to MW though if you want to test. [03:02:11] found it :3 [03:03:09] Always has been. [03:07:52] https://github.com/miraheze/mediawiki-repos/pull/64 [03:09:17] ah hmm, do i merge? [03:10:59] You can yeah [03:11:27] We need to pull https://github.com/miraheze/puppet/pull/3885 though [03:13:44] guess i'm doing code review now [03:16:45] wait, don't we have miraheze/python-functions? [03:18:37] did a code review <3 [03:19:47] did you mean to change the path to f'/srv/mediawiki-staging/visibility/{pubpriv}/{patch.file}' in your suggestion I think that should be patches/{visibility}, no? [03:19:58] oops [03:20:11] uhhh you saw nothing! ^^" [03:21:03] lol [03:21:33] almost committed that lol [03:24:17] But may wait for void to and not do the changes myself like I was thinking about because I'm not certain about it. [05:04:50] lol [07:04:21] Not fully yet [07:04:35] oh [07:04:44] I need to fix the entry points [07:11:50] i hope that i don't find a security vuln in openssh [07:37:14] I'll remove the commit I made to the jobrunner file then in my PR. [07:38:55] What's the issue [07:39:35] CampaignEvents is a special extension that likes to break our minds. [07:39:40] Oh god [07:39:47] How so [07:40:03] (i was trying to figure out how to make ssh + fido2 play nicer, but i gave up lol) [07:40:16] Basically, you need to run a sql file called AggregateParticipantAnswers.php which removes PII and such, but it "needs" to be run in the jobqueue. [07:40:43] [[mw:Extension:CampaignEvents]] [07:40:44] [07:40:53] But we can't add it to system::\timer::job, so we're gonna try doing mwscript instead. [07:42:24] How does it need to be ran in the job queue [07:42:36] And why doesn't a timer job work [07:42:52] Well, as a regular cronjob. [07:43:09] That's not the job queue then [07:43:24] Why can't it be added as a timer job [07:43:31] I think I linked this to you last time: https://discord.com/channels/407504499280707585/1006789349498699827/1350645248950407231 [07:44:03] I'm getting confused with all the folder structures in the puppet repo. [07:44:04] can't we make the extension list at runtime? [07:44:10] I'm confused with that [07:44:25] I mean using mwscript with --no-log is fine [07:45:07] SELECT s_dbname FROM mw_settings WHERE s_extensions LIKE '%"campaignevents"%' [07:45:35] mwscript uses /tmp [07:45:39] This is what Daimona from the Campaign Events team said in the ticket I made: [T388996](https://phabricator.wikimedia.org/T388996) [07:45:39] So ye it should be fine [07:46:37] mwscript extensions/CampaignEvents/AggregateParticipantAnswers.php CampaignEvents --no-log [07:46:41] Literally as simple as that [07:47:01] oh right, mwscript supports filtering per extension [07:47:49] Ye [07:48:14] I'm really confused what the issue is here [07:48:22] generate = f'php {runner}/srv/mediawiki/{args.version}/extensions/MirahezeMagic/maintenance/generateExtensionDatabaseList.php --wiki=loginwiki --extension={args.extension} --directory=/home/{os.getlogin()}' [07:48:27] it's dumped in your home dir lol [07:48:41] Not in puppet [07:48:44] It's /tmp [07:48:50] huh [07:49:03] what runs the timers? www-data? [07:49:19] ye [07:49:23] [1/7] ```php [07:49:23] [2/7] 'mwscript' => [ [07:49:24] [3/7] "$IP/extensions/CampaignEvents/maintenance/AggregateParticipantAnswers.php" => [], [07:49:24] [4/7] "$IP/extensions/CampaignEvents/maintenance/UpdateUTCTimestamps.php" => [], [07:49:24] [5/7] ], [07:49:25] [6/7] ``` [07:49:25] [7/7] I've got this. What do I put in the brackets? [07:49:46] Where's your PR [07:49:57] https://github.com/miraheze/mw-config/pull/5861 [07:50:26] You don't add cronjobs in config [07:50:29] That's in puppet [07:50:38] You said to add it to mwscript. [07:50:52] i just realised that this isn't even the correct way to get a user's home dir lol [07:50:52] https://github.com/miraheze/puppet/pull/4251 [07:51:15] mwscript is a cli tool for running mediawiki scripts [07:51:55] So what am I doing here. [07:52:14] `mwscript --extension CampaignEvents CampaignEvents:AggregateParticipantAnswers` [07:52:18] put this in the timer [07:52:26] with --no-log please [07:52:28] And --confirm [07:52:30] ah right [07:54:23] [1/16] ```php [07:54:24] [2/16] systemd::timer::job { 'campaigneventstimestamps': [07:54:24] [3/16] description => 'Update UTC Timestamps', [07:54:24] [4/16] command => "mwscript --extension CampaignEvents CampaignEvents:AggregateParticipantAnswers --no-log --confim", [07:54:25] [5/16] interval => { [07:54:25] [6/16] 'start' => 'OnCalendar', [07:54:25] [7/16] 'interval' => '--* 01:00:00', [07:54:26] [8/16] }, [07:54:26] [9/16] logfile_basedir => '/var/log/mediawiki/cron', [07:54:26] [10/16] logfile_name => 'campaignevents.log', [07:54:26] [11/16] syslog_identifier => 'campaignevents', [07:54:27] [12/16] user => 'www-data', [07:54:27] [13/16] require => File:['/var/log/mediawiki/cron'], [07:54:28] [14/16] } [07:54:28] [15/16] ``` [07:54:29] [16/16] So this? [07:54:35] Yes [07:54:39] Looks good [07:55:03] I'll add the private api key which I have generated tomorrow and merge. [07:55:57] Can we generate one for beta and prod please @cosmicalpha ? [07:56:16] I really should finish that task soon to have separate creds for beta and prod for everything [07:56:25] Well I updatedi t. [07:56:53] Also can we get a consensus for RefreshSpecial please? The PRs for it were already approved but I wanted to make sure that we can use it without causing issues anywhere. [07:56:54] Yeah. We don't need seperate PrivateSettings.php for that either. I'll set up role heira support in private puppet also. [07:57:30] Is that the one that Claire told me did everything at runtime with zero concurrency protection [07:57:38] Potentially. [07:58:36] Then it's a feature that won't work for many wikis [07:58:40] And probably a dos risk [07:58:57] https://issue-tracker.miraheze.org/T12835#257737 [07:59:06] Why was it installed then? I'm confused. [07:59:13] It's not technically installed right now. [07:59:25] I made the PRs in the event we would approve it, and they got approved. [07:59:28] Config was updated today since config was merged at least that part was installed. [07:59:38] It shouldn't have been [08:00:20] [1/2] oh dear [08:00:21] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1353277172487294986/image.png?ex=67e11114&is=67dfbf94&hm=f6a5bd66ddeb3c70c8c1d1fa55a59d8202f93f1f96069b7bf076f22b3ae3af1c& [08:00:38] Time to break my prod wiki! [08:00:47] I don't think it'll do anything [08:00:53] Time to find out then. [08:00:57] @blankeclair hello [08:01:00] It must not be installed in mediawiki-repos which means it won't load. [08:01:02] meow? [08:01:09] It was . [08:01:17] Only config got updated today though. [08:01:23] @blankeclair did we agree RefreshSpecial [08:01:25] oh [08:01:26] ih right [08:01:32] I thought we decided it was shit [08:01:35] uhhhhh i kinda forgot that it'sa no [08:01:48] Let me make a PR to remove it then >.> [08:02:23] You wanna maybe unforget after you've eaten [08:02:27] Go eat first [08:02:38] i'm in the process of eating yeag [08:03:00] Its not urgent. It won't work since mediawiki-repos wasn't updated. I just updated config when I was deploying changes to ManageWiki hooks. [08:03:15] Thats the only reason it's installed at all. [08:04:08] but if any wikis have it enabled already make sure to run mwscript ManageWiki:ToggleExtension [08:04:09] [1/4] so things to do: [08:04:09] [2/4] * run in job [08:04:10] [3/4] * don't set ini [08:04:10] [4/4] * put last used timestamp in cache so we can run only perhour [08:04:12] is that ut? [08:05:32] At minimum there needs to be some guard against spawning thousands at once [08:05:39] The job queue could do that anyway [08:05:41] yeah, hence the last entry [08:05:44] oh? [08:05:58] https://github.com/miraheze/mediawiki-repos/pull/65 & https://github.com/miraheze/mw-config/pull/5881 [08:05:59] Pretty sure we can manage concurrency in the job queue [08:06:07] oh neat [08:06:11] @cosmicalpha might know [08:06:31] You can yes. [08:06:32] So, RefreshSpecial is a definite no? [08:06:38] Because the ticket didn't make that clear. [08:06:42] it's a "not yet" [08:06:47] There is something in puppet to set it in changeprop [08:06:54] things are rarely a definite "no" [08:07:02] Can I have Widgets back then. [08:07:11] that one is a definite "no" [08:07:14] That is the rare exception [08:07:19] You lied to me!!! [08:07:27] i said _rarely_ ;) [08:07:33] Okay :mad: [08:07:38] Give me Monstranto now!!!! [08:07:43] cope seethe mald [08:07:54] Widgets caused the worst security incident we've ever had we will never risk it again lol [08:07:59] :Waaaa: [08:08:13] Most of us that were around for Widgets have PTSD from it [08:08:19] Yeah, I remember when the Minecraft Wiki was in chaos when Fandom disabled it. [08:08:38] They put some of their engineers onto making a fork of the extension to fix the issues and then re-enabled it. [08:08:46] Not helped by the fact it was the 20 something of December [08:08:56] It was December 24 [08:09:02] christmas eve! [08:09:05] yep [08:09:14] Thats how I remember the exact day lol [08:09:20] Christmas Eve reimagine of mediawiki connected public facing servers [08:09:21] an early christmas present 💕 [08:09:27] Do we have that Embed Twitter extension installed? [08:09:27] And all ssl keys rotating [08:09:38] all of them? [08:09:59] Yeah I remember we had to go through every wiki and check their usages for bad usage [08:10:04] Oh and it had been public for like about 2 weeks because the wmf made the task public [08:10:15] wait [08:10:20] Long before the formal announcement [08:10:26] you only heard about it from- oh my god [08:10:43] and i thought me finding an rce in mwtask181 was bad enough [08:10:48] They made the task public before they send the security announcement. So we didn't see it. [08:10:58] That's why I have the herald rule to monitor all wmf tasks that are tagged with any of the security or vuln tags [08:11:46] Yeah, the [TwitterTag](https://www.mediawiki.org/wiki/Extension:TwitterTag) extension doesn't seem to work. [08:11:55] But that might be Twitter's fuck up. [08:12:04] Fucking Elon. [08:12:05] That at least needed ManageWiki rights AFAIK widgets didn't need any specific rights to use the RCE depending on the wikis rights. [08:12:09] That's a Twitter/Twatter/X problem I assume [08:12:49] I mean, we could disable it since it's technically broken? [08:12:57] We should [08:12:57] But I guess it would be too much effort. [08:13:05] If it is totally broken we will remove it. [08:13:07] Time to make a ticket I guess. [08:13:17] Please [08:13:22] Yeah, it does nothing now except give you a link to that persons Twitter profile. [08:13:30] https://cdn.discordapp.com/attachments/1006789349498699827/1353280482972012604/image.png?ex=67e11429&is=67dfc2a9&hm=aac24c0ffdeb3bea99e0ae887a7086151eda0cb22aee1e85f7128e5ac6de7bab& [08:13:37] That reminds me, last I counted 80+ extension are currently broken on 1.44 due to removed class aliases also. [08:13:53] That's going to be fun [08:13:54] Do you want me to go through all the extensions and find any I can and make tickets for them? [08:14:02] I can make a master ticket and tree them all. [08:14:14] @cosmicalpha formal testing will be just a few weeks [08:14:27] Yep. I hope a lot of those are fixed by then... [08:16:12] Otherwise we're going to have a lot of trouble [08:20:56] The removal of alias for the Title class is what I found the most of btw. [08:21:08] I guess I'll start finding those broken extensions then. [08:21:14] which alias was removed exactly? [08:21:25] A bunch of them. [08:21:58] See the RELEASE NOTES for 1.44 in mediawiki repo. [08:23:40] oh great [08:23:46] and mine only ran monthly [08:24:28] lol yep, MsCatSelect affected [08:24:46] I should install the old versions of widgets locally and see how much fun I can have with it lol [08:25:37] Yeah and ton were lol. [08:27:22] Okay dokey! [08:27:44] Oh yeah, am I just completely removing TwitterTag from the Repos @cosmicalpha? [08:27:59] thanks elon m*sk [08:28:03] Ye [08:28:15] I thought something stank around here. [08:28:23] add removed: true to it. [08:28:36] then once puppet runs we can remove it completely. [08:28:41] In mediawiki-repos? [08:28:45] yeah [08:28:59] that just automates cleaning up the extension install from the server. [08:29:02] I made a ticket on Phab btw since I guess no one else pays attention to that extension anymore. (I don't blame them) [08:29:17] Either they make a fix or retire the extension, cause its useless with a broken API. [08:29:50] I also saw they are archiving LdapAuthentication so I'm not exactly sure what well do there but we need to do something. [08:30:00] CC @rhinosf1 ^ [08:30:50] WMF didn't want LDAP on mw-k8s so they wrote a web app called Bitu [08:31:04] https://github.com/miraheze/mediawiki-repos/pull/66 [08:31:21] Do we use the wmf version though [08:31:29] @aeywoo can you make a phorge task first? [08:31:35] For tracking purposes. [08:32:02] or am I an idiot and there is one? [08:32:06] https://issue-tracker.miraheze.org/T13405 [08:32:10] Already made it ;3 [08:32:12] My browser chose now not to open anything lol [08:32:31] It just froze when I clicked your last PR link [08:32:38] wait until your browser chooses not to change the text cursor lol [08:32:51] or even worse, your wayland session choosing not to respect mouse clicks [08:33:11] lol I am on my phone like always. But that has happened to me when I use my PC, which is rarely lol [08:33:46] Eh I have other browsers my default one (Kiwi) just wasn't loading though lol [08:34:19] wait until System UI crashes loll [08:35:14] I use Kiwi so I can have chrome extensions on my phone to use the debug proxy and graylog proxy lol. I wrote the entire CreateWiki rewrite solely from mobile I can do pretty much anything from mobile lol [08:35:39] heh, i don't miss that life [08:35:43] That's a bit insane [08:35:50] kudos to you for thriving with it though [08:35:52] I don't have issue with doing stuff from my phone [08:36:00] Okay ticket made and updated, I will be back I gotta take a Laptop to my uncle down the road. [08:36:03] But rewriting createwiki is mad [08:36:26] i estimate around half of my software development was done on my phone [08:36:36] lol It took me 3 weeks to rewrite from my phone, I wonder how fast I could've done it from PC... [08:37:10] The most frustrating part is no tab key so I always copy and paste tabs. [08:37:23] wha? does your keyboard not support tabs? [08:37:36] Nope not on my phone lol [08:37:41] What phone keyboard has tab [08:37:42] huh [08:37:49] anysoftkeyboard with the terminal layout [08:38:03] it's like 3 years old, and the terminal layout even older, but it works [08:54:58] [1/2] i'm obv a bit rusty, but here's a demo [08:54:58] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1353290916575576105/screen-20250323-195114.mp4?ex=67e11de1&is=67dfcc61&hm=d26864364f35f95df8932e7d513c90aaf370634b9c49cd9ab5dc93ac50d6da34& [10:22:38] [1/3] not guaranteed lol [10:22:38] [2/3] : [10:22:39] [3/3] > Since job runner implementations may vary in reliability, job classes should be idempotent, to maintain correctness even if the job happens to run more than once. [10:24:16] Hang on ye [10:24:22] If it fails it'll retry [10:24:45] But like we shouldn't allow millions of the same refresh job to run at once [10:24:46] we should wrap the job w/ a try-catch so that the error gets reported to the user and not retried lol [10:24:55] you can't really do that [10:25:04] Because they ain't going to stay on the page [10:25:07] the extension outputs data to the user iirc [10:25:12] Unless you build some tracking [10:25:16] yeah [10:25:34] lead them to a special page that has a meta refresh tag [10:25:42] where it refreshes until the job is finished [10:25:45] If it moves to a job, it'll be a request has been submitted and it'll be refreshed soon. [10:26:01] I don't think we need to track when it's done [10:26:09] We don't even properly track global rename [10:26:14] ahaha lol [10:26:22] We store whether it's complete / failed [10:26:27] But there's no management there [10:26:36] It frequently looses track of what it's doing [10:27:02] It's near impossible to give a good indication of how long it'll take [10:27:06] Far too many factors [10:27:45] god the code is so messy [10:27:48] i may as well rewrite it [10:27:55] maybe some tracking would be good [10:28:11] Like a mem key to say one has happened in the last day [10:28:21] Damn, they really dropped like forty different class aliases they were deprecated back in MW 1.40. [10:28:37] But I'm not sure a table tracking when the last refresh was and where it's in in the queue is needed [10:28:46] hmm okay [10:28:54] Jobs are mostly fire and forget [10:29:08] i don't want to change the visible behaviour of the extension tbh [10:29:18] There's no SLA, no strict guarantee of a retry [10:29:19] or, at least do so with as least disruption as possible [10:29:26] So, when I find an Extension that uses these dropped aliases that will break in MW 1.44, should I create a ticket for each extension and make a main project tree ticket for them? And should they all be titled Undeploy/Disable Extension etc.? [10:29:37] @blankeclair you could keep track but it'll be a lot more work [10:29:53] omg so feisty [10:29:57] File it upstream and just add one master task for us of all the broken ones [10:30:13] not even giving upstream a chance to update for a version that hasn't been fully cut yet lol [10:30:27] Nah, fuck em. They deserve the chaos that is coming. [10:30:35] y'know what, i love that energy lol [10:30:54] yeah, i'd like that tbh ^^; [10:30:58] but then, where to keep track to? [10:31:05] So I should make one large ticket on Phab with every extension I find that has those deprecated classes? [10:31:12] And the same for Mira phorge? [10:31:30] one megaticket on our end, yes [10:31:38] dunno how receptive wmf phab is to that though [10:32:02] i'm not a fan of hacking on code that looks like https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/RefreshSpecial/+/refs/heads/master/src/RefreshSpecialForm.php#138 [10:32:25] No individual for Wikimedia [10:32:28] Big for us [10:33:22] Damn, I wanted to break the record for Phabricator Task with the most project tags. [10:33:42] I'm sure I could easily piss off Aklapper that way. [10:33:49] ahaha [10:34:02] i wonder if aklapper has seen a security issue and went "oh fuck, not this extension..." [10:34:13] Widgets maybe. [10:34:46] aklapper be seeing the three (or was it four) tasks i filed for cargo lmao [10:35:06] just three, okay [10:36:29] hhh i kinda don't wanna hack on refreshspecial [10:36:47] because i either have to overcome the urge to fully rewrite the bloody thing, or rewrite the bloody thing [10:36:50] He probably thinks oh fuck a lot [10:36:53] both of which doesn't sound appealing [10:37:36] how many UwUs has he seen in a security task i wonder [10:37:50] or, well, you track sec tasks, right? how many UwUs have you seen ^^; [10:37:58] Okay so, any extension that uses these aliases that I find, I will report them. [10:38:04] yeeep [10:38:11] And I find one that uses terrible grammar in the dev comments, I will report that as well. [10:38:17] Not enough [10:38:26] i should up my game then [10:38:38] i've been slacking off on UwUing lately [10:38:43] I will add Uwu into every extension task I report with outdated class aliases. [10:38:44] Tbh if I got as many emails as him, I'd say oh fuck a lot [10:38:58] I say oh fuck at getting most emails in my head [10:39:08] and if you find one that assumes that "he" is the default pronoun, report directly to me so that i can shame them on fedi /hj [10:39:20] Yessss ;3 [10:39:30] :transcat: [10:39:38] what a happy kimti emoji [10:40:31] https://transfem.social/notes/9yts1fzlu15y006e [10:41:56] flexforms is like the worst extension i reviewed imo [10:42:04] one of the two (iirc) that i didn't do a full review on [10:42:56] how dare they [10:43:18] My out of office at work tells you to call my mobile if urgent [10:43:26] In my head, I'm really thinking please never do this [10:43:27] how many non-urgent calls have you had already today [10:43:39] I've had 1 message while OOO [10:43:43] But that was valid [10:43:45] urgent? ah okay [10:43:56] It was from someone who cancelled an on site meeting the next day [10:44:07] Looked at my calendar and saw it was my only on site thing [10:44:07] I thought you said you had a message from 000 for a second lol. [10:44:22] So they messaged me to say you don't need to come in [10:44:28] i'm pretty sure i read somewhere about being able to "send or receive messages from 000" [10:44:38] Yes, you can text 000. [10:44:43] oh right [10:44:49] imagine getting a callback though- [10:45:10] Emergency Services can also get a very accurate location of your phone even via SMS. [10:45:21] It's pretty cool stuff. [10:45:23] I had a call from the police before when I've reported DDOS attacks on miraheze [10:45:34] But they just came from a switchboard number [10:45:38] oh [10:45:46] [1/3] Police: Was it you? [10:45:46] [2/3] Rhinos: No. [10:45:47] [3/3] Police: Awwww.... [10:45:56] So it was the station's prefix and then a few zeros on the end [10:46:26] The detectives that used to do the DDOS investigations when we were UK based were a really nice group [10:46:39] oh neat ^_^ [10:46:43] Oh, so 999. [10:47:07] i wonder, how do programmers test calls to emergency services [10:47:19] The best Emergency numbers are the ones that are the same number three times, e.g. 000, 111, 999, 222. [10:47:53] Nah we don't ring 999 for DDOS attacks [10:48:07] We submit an electronic report through Action Fraud to NFIB [10:48:14] oh yeah, a government website is blocked at my school because of ech, so that's funny [10:48:19] And they then do some magic and it gets forwarded to an officer [10:48:31] I think if I get DDoSed I report it to the Australian Federal Police. [10:48:50] peo.gov.au to be specific [10:49:01] I have rang 999 once [10:49:09] oh? [10:49:13] (i should go shower lol) [10:49:19] I've called 000 multiple times in the past, sometimes even 911. [10:49:25] Don't fall asleep. [10:49:30] The hot water can make you sleepy [10:49:45] when someone here has time, we should really figure out why https://issue-tracker.miraheze.org/T13334#267839 is happening [10:49:55] especially since we're considering eventually having CS as a global extension [10:50:08] Sounds like a skill issue. [10:50:33] See if anyone on Phab has had the same/similar issue maybe? [10:51:00] yes, it has happened on multiple wikis but I'm not sure what the cause is [10:51:13] since usually issues like that are fixed by running a script but here the script itself won't run [10:51:47] Domestic incident occurred on my street and I saw a child running off wearing no shoes [10:52:18] Sent the police off to go look for the child [10:52:24] Who they located very quickly [10:52:24] I once had to call the Police when I was in the USA because some idiot decided to haul around a shipping container on the back of a flatbed tow truck without tying it down and it was moving. [10:54:12] umherirrender already updated the Anisa skin replacing the dropped class aliases, so maybe they're already aware of all the ones that need it? Or they're just doing some of the common/more popular ones. [10:55:19] The latest version of 3D requires MediaWiki >=1.44.0, so I guess I'm changing it to branch REL1_43 for now until we update to REL1_44, I'll do the same for any others I see. [10:56:48] I've stopped officers twice in person too [10:57:24] Once because there was like a dozen of them doing very little a car accident to keep the road close and a burglar alarm going off a minutes walk away so I told them [10:58:02] The other I told a PCSO on a patrol during summer on the seafront to walk a certain way first if they wanted to find a drunk man shouting at females [10:58:23] Okay, so for some reason Wikimedia have decided that any extension they are using must track their releases directly, so any extension they use now requires MediaWiki 1.44 or later, so there may be a lot of extensions to change to REL1_43.... [11:02:47] it's hard for me to lol [11:02:54] Same though. [11:03:01] ah [11:03:50] Should I tag the Phorge ticket with Security if it's just about dropped class aliases with 1.44? [11:04:03] why tho? [11:04:15] Idk. [11:04:50] No [11:04:53] Not a security issue [11:05:07] You can tag it with #affects-Miraheze though [11:05:23] This is for the Phorge ticket, not Phabricator. [11:05:42] Ah [11:05:55] Ye just tag #extensions and the mediawiki team [11:06:02] And make it a subtask of 1.44 [11:06:27] I will. [11:06:38] @reception123 fyi bluepageswiki is just gonna OOM [11:06:41] That's why it's a task [11:06:50] It's not succeeding in the mass run [11:07:16] Oh yeah, the FemiWiki skin was updated recently to fix minor issues, so it might work again for us? Can't remember why it was disabled. [11:07:23] The links code has a memory flood [11:07:40] There's probably a task referenced somewhere [11:08:43] [1/2] I spotted a wild eclkair. [11:08:43] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1353324579006709821/image.png?ex=67e13d3b&is=67dfebbb&hm=9e5ff45502e929e3e150816b0ea39b9af836c1801b6688bb490d13d88a666dbd& [11:08:52] heh [11:09:00] Guess which extension this is on. [11:09:05] uhhh i forgot actually [11:09:14] AJAXPoll. [11:09:17] heh [11:10:33] is it not possible to use something like `ulimit` to try to prevent that? [11:10:43] No [11:10:52] The links code is leaky as fuck [11:11:01] average transfem on hrt: ^ [11:11:02] Ulimit will just kill it faster [11:11:11] sorry not sorry- [11:11:42] We've always had issues with the links code causing OOMs [11:12:02] There's a bash script to work around it on mw.org [11:12:09] But that's stopped working [11:12:14] According to @blankeclair [11:12:38] Someone should fix the OOM in refreshLinks at some point [11:12:43] Or optimise its memory usage [11:13:28] I know how to fix that I think. I'll look when I'm up if I ever sleep [11:15:54] Sleep [11:16:02] I'm having my lunch, you should definitely be asleep [11:16:25] It's nearly time to wake up if you don't go soon [11:16:55] Chunk it. [11:17:22] Ye that's the bit I said stopped working [11:17:25] According to Claire [11:17:29] It wasn't respecting the start [11:17:31] the starting at a certain page [11:17:40] ah [11:18:01] I hate bluepageswiki [11:18:05] It's been trouble before [11:18:06] its a weekend so I can sleep in a little lol [11:18:22] "a little" [11:18:29] huh i have mattermost closed for some reason [11:18:42] an hour or two later then normal anyway. [11:18:52] > The time for CosmicAlpha is 5:18 AM [11:19:02] at this rate you're gonna have your alarm blare while you're awake [11:19:02] Yep indeed [11:19:13] 90% of pages on that wiki are automatically generated stubs [11:19:15] If not more [11:19:18] That did happen a couple nights ago. [11:19:19] ugh [11:19:21] And it's got like half a million pages [11:19:26] again?? [11:19:39] yeah [11:20:11] what... [11:20:22] wow [11:20:25] well [11:20:29] it's called blue pages wiki for a rason [11:20:38] lol I just got it [11:20:45] Ye [11:21:04] Supposedly they start generating articles off spreadsheets and then improve them [11:21:11] But the improve never happens [11:22:00] i wonder, what wikis do we hate? [11:23:06] wtf i have a leftover connection to mwtask181.wikitide.net that i forgot exists [11:23:09] Not many of them [11:23:18] i misplaced an ssh connection 😩 [11:23:20] Bluepages is one that's been a frequent filer of tech help before [11:23:49] Our infra is getting a lot better though [11:23:52] ah okay [11:24:03] one i hate is a transphobic wiki on shoutwiki [11:24:05] I don't think we have too many frequent fliers now for trouble [11:24:09] still waiting for lcawte~ [11:24:15] I don't like fisch [11:24:27] Cause it like dwarfes every other wiki we have [11:24:33] To the point of special casing [11:24:33] poked ashley, he forwarded to lcawte [11:24:37] In terms of traffic [11:24:45] And it gets DDOS'd all the time [11:24:57] impressive ngl [11:25:41] Like, the Roblox Fisch Wiki? [11:26:02] Ye [11:26:13] Well no wonder, the developer behind it is a sellout. [11:26:25] It gets 3.5x the requests with a 200 response than the next highest wiki [11:26:51] That's ignoring traffic to static [11:27:26] 84.4M last 24 hours [11:27:28] So, I guess I should've asked when I started looking for these dropped class aliases, what exactly am I supposed to be looking for, is it just `use` entries? [11:27:34] For whole farm [11:27:56] 6.56M to fisch [11:28:24] 13.9M to fisch's static [11:28:36] That's 20.46M requests [11:28:49] Or a qaurter of our traffic [11:29:03] Just counting 200 responses [11:29:51] can i test refreshlinks in prod w/ testwiki? [11:30:00] Why not use beta [11:30:01] But sure [11:30:09] i can't reproduce on beta interestingly [11:30:13] Oh [11:30:14] Fun [11:30:19] Maybe a bug in run.php then [11:30:28] Does it reproduce if you use the old method [11:30:58] doubt but i'll try [11:31:13] What about using --version=1.43 [11:31:18] Call mwscript with refreshLinks.php and refreshLinks [11:31:25] See if there's a difference in behaviour [11:31:44] ah, i'm using sudo directly lol [11:31:51] because local copy of refreshLinks [11:32:19] with run.php [11:32:23] Or with the full path [11:32:40] Anyway I am gonna go for real now [11:33:01] Better sleep some at least [11:33:26] nini~ [11:34:46] huh, refreshLinks' start parameter works now?? [11:35:01] i swear it was broken when i was lacing it when debug prints back then [11:35:13] [1/6] ``` [11:35:14] [2/6] [blankeclair@mwtask181:~/maint]$ sudo -u www-data php /srv/mediawiki/1.43/maintenance/run.php ./refreshLinks.php --wiki=testwiki 10 --e 15 [11:35:14] [3/6] Refreshing links from pages... [11:35:14] [4/6] Estimated page count: 5 [11:35:14] [5/6] SELECT page_id FROM `page` WHERE ((page_id >= 10 AND page_id <= 15)) AND (page_id > 0) ORDER BY page_id LIMIT 100 [11:35:15] [6/6] ``` [11:38:19] [1/2] > gpgmail: failed to read PGP message: gpg: decryption failed [11:38:19] [2/2] oops! all mail gone [11:40:08] why is my gpg agent being a moody fuck [11:40:34] guess i'll go grab my phone then [11:42:44] [1/2] https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Description2/+/1063279?tab=comments [11:42:44] [2/2] my meow got a response \o/ [11:51:03] I should change all the branches for extensions to REL1_43 if I can right? Since we're not upgrading to MediaWiki 1.44 yet? [11:53:35] REL1_43 should be the default [11:53:44] If they aren't on that, there's probably an exception [11:53:47] A lot of extensions are now using master for 1.43. [11:53:48] Also it's foggy today [11:53:55] https://cdn.discordapp.com/attachments/1006789349498699827/1353335952927363123/IMG_0369.jpg?ex=67e147d2&is=67dff652&hm=a0b7b3762d922f37a25c369d73b626d38c9e9670e96f67bc3b7794b5eead883b& [11:54:07] Oh for 1.44, we'll switch the 1.44 once it's cut [11:54:10] Master until then [11:54:27] master is 1.44 at the moment [11:54:41] So, don't change anything? [11:55:00] Nope [11:55:04] master is 1.44 [11:55:18] Well switch to REL1_44 once the cut is made [11:55:58] Slightly less shit photo [11:56:04] https://cdn.discordapp.com/attachments/1006789349498699827/1353336494328123392/IMG_0370.jpg?ex=67e14854&is=67dff6d4&hm=82477118e7ccfdcda66bdd0c195bdb4ad604172b638864e58f3e45cdb3840b2b& [12:06:11] @aeywoo I assume you've not had the fun of the mediawiki releasing process [12:06:21] nope [12:10:25] can't wait to do migrations \o/ [12:10:48] @aeywoo on or around the last wmf branch cut, REL1_44 will always be cut [12:11:10] We have to watch the last wmf train closely to make sure that any backports get merged to REL1_44 too [12:11:58] Well change 1.44 to map to REL1_44 then [12:12:27] And we've got 6 weeks to actual release [12:12:30] To test everything in [12:12:41] Then we get to start thinking about 1.45 [12:13:11] You're already thining of 1.50 though aren't you. [12:13:19] Not quite yet [12:13:25] We've got a lot this year [12:13:25] 1.47 is already in development isn't it? [12:13:30] Nope [12:13:34] Or is it 1.46. [12:13:37] 1.44 is development now [12:13:48] We've got a lot this year though [12:14:01] We've Debian Trixie too [12:14:09] I guess it's 1.45. [12:14:12] Which means new versions of a lot [12:14:21] 1.45 doesn't start for another few weeks [12:14:33] 1.45 dev work starts as soon as 1.44 is officially cut [12:14:41] There's about a 6 week overlap [12:14:43] 1.43 is the new LTS isn't it? [12:14:50] 1.43 is LTS ye [12:14:59] 1.47 will be the next then? [12:15:03] We've also got Parsoid stuff [12:15:07] And Puppet going away [12:15:10] Ye [12:15:17] Well, puppet is first-party now isn't it? [12:15:34] Ye [12:15:44] Wasn't someone mentioning there was an open-sourced fork [12:15:49] It'll be replaced with openvox [12:16:01] Probably with the trixie rollout [12:18:24] huh, are members case-insensitive in php? [12:18:27] > $options = ParserOptions::newFromANon() [12:18:29] = MediaWiki\Parser\ParserOptions {#6093} [12:27:33] god damn it, i wanted to ask UO a question [12:28:18] What's up [12:28:38] descriptions from description2 for most of our pages aren't generating [12:28:55] the simple description provider returns an empty string, though we want to use the remex based one [12:29:01] but the remex based one also returns an empty string [12:29:28] the remex based one only uses text before a heading: https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Description2/+/refs/heads/master/includes/RemexDescriptionProvider.php#116 [12:29:49] but portable infoboxes uses headings, which means that all our descriptions are empty because we have infoboxes as the first thing on pages [12:29:56] but like... why does PI use heading elements? [12:31:15] oh! flag $wgPortableInfoboxUseHeadings; [12:39:25] @reception123 everything is wrong with RefreshSpecial [12:42:22] hey, at least there are no more xsses :p [12:54:45] Which means we must install it!!! [13:11:43] Then why did we install it? [13:12:11] Human error [13:12:55] I see. I'll merge later when I have access [13:58:23] I need to ask for the in-depth story on that someday [13:58:31] God rereading back all that took forever [14:01:21] Conservatively [14:03:45] For the mass of broken extension aliases, can we get a list of the broken ones, then make a list sorting them by use [14:21:07] @aeywoo who did your citizen patch? [14:24:27] puppet is failing cause @blankeclair never deployed it [14:24:33] i'm reverting [14:46:35] It's called main on GitHub. [14:46:57] They renamed their master to main. [14:47:12] @aeywoo ye but puppet was failing - it was never deployed [14:47:17] Fuck puppet. [14:47:24] It should know better. [14:47:38] Puppet failing blocks other stuff and it shouldn't be left broken [14:47:50] I can have a look later [14:47:53] Then why don't I set it to master then. [14:47:58] But I expect it's cause it's a bare clone [14:48:12] Best way to deploy is either to force a fetch to wake git up [14:48:14] Master is the 1.43 version of the skin. [14:48:26] Or delete the folder and recreate it [14:48:48] I can do that this afternoon [14:48:52] And apply it properly [14:49:13] I can revert my revert when I have time to actually deploy @aeywoo [14:49:24] Whatever, I'm going to bed. [14:49:50] Ok [15:02:29] https://cdn.discordapp.com/attachments/1006789349498699827/1353383407068909668/20250121_130859.jpg?ex=67e17404&is=67e02284&hm=f3ae9d51baf38bcb50582286f666246f7da32603c83bd6745ca50748214925b2& [16:18:00] @aeywoo @blankeclair actually deploying now [18:32:10] How do I move infobox templates to the right? I can only move it up or down, but not left or right and all that I did was import a simple infobox from the Developer's Wiki. [21:27:28] https://issue-tracker.miraheze.org/T13407 [21:27:33] safe to import? user is only a sysop [21:30:12] cc agentisai: ^ [21:31:00] looks good [21:33:25] oki ^_^ [21:33:27] ty [22:51:56] Is anybody going to answer me? [23:13:12] [1/2] When importing an infobox template (or any other template which requires this), you need to make sure that you have copied the common.css from the developer wiki (you only need to do this once) [23:13:12] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1353506896992145408/Screenshot_20250324_001200_Firefox.jpg?ex=67e1e707&is=67e09587&hm=a13022c3c0c316a849b223088a5e7f63ad0aed0b5f48539ca4947f5b50ea7df0& [23:13:43] What is the common.css? [23:42:41] it's described in the image I attached [23:42:51] just a page on your wiki that holds custom css code