[02:50:06] @cosmicalpha bump on the managewiki-privacy right (since you said you wanted to get to that today, if you want me to bump later on just lmk) [02:50:49] I was just about to look into this more literally just opened the ManageWiki repo lol. Probably won't actually implement till tomorrow but looking into it now. [02:51:19] Not even 5 seconds before you sent the message I opened the ManageWiki repo lol. [02:52:41] Maybe I can just implement now. It is one line lol. [02:56:07] :grin; [02:56:18] I know [02:56:45] Is it? I thought it’d be more ngl [02:57:02] A little more lol [02:58:07] [1/2] ooooo [02:58:08] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1469165233539907795/image.png?ex=6986aa3f&is=698558bf&hm=0ee903d6c024dcd3bede08570a2614537697bf6f79ddac96adfca918e9441263& [02:58:26] Heh, I see that I can't do some minor things in Phorge because I'm not verified. https://issue-tracker.miraheze.org/project/view/84/ [02:59:16] Do you still remember my experience years ago at Phorge as Hispano76? 😅 [03:06:47] I’ll add you soon as I figure out how the hell I do that [03:07:42] Yes, we will eventually deploy that to replace CookieWarning to prod for GDPR. Been planning for months. [03:08:24] https://github.com/miraheze/ManageWiki/pull/763 untested though. [03:17:24] can you toss it on beta [03:17:59] And give me the perms to test it lol [03:20:05] We need to make sure we add it to `$wgManageWikiPermissionsDisallowedRights` also btw. [03:20:14] Might not get to that tonight. [03:20:31] Can tomorrow afternoon. [03:21:12] Good call [03:21:31] Eh I can poke someone else in tech with beta rights [03:21:49] Sure works for me. [03:22:29] @blankeclair hiiiiiiii girlypop [03:22:37] meow? [03:23:13] Yeah for some reason im very tired tonight and its not even 9PM I just dont feel like logging in to test and think I'm going to call it in very early tonight lol. [03:23:35] Maybe because I was up until 5:30AM the last 4 nights in a row. [03:23:43] [1/2] finally [03:23:43] [2/2] CA sleeping early [03:23:50] i still haven't bothered to reenable shell lol [03:38:19] May be.. [03:38:22] now go [03:38:27] Not shell [03:38:35] meow? [03:40:04] Need to test global managewiki core (and restricted) and the new privacy rigjt on beta [03:40:44] but I either need to make a second account or a way to control my global rights bc i need to test with and without -privacy [03:43:56] so essentially, give you managewiki-core and/or managewiki-privacy for two accts? [03:47:15] The new PR doesnt require managewiki-core to change private remotely. Was more complicated to do that. [03:47:29] ig? idk im tired and a bit grumy rn so not super thimk thinking [03:47:30] It just requires managewiki-restricted and managewiki-privacy [03:47:38] thats what i thought [03:47:47] wait also restricted? [03:48:02] is restricted used to access remote [03:49:11] I dont think typically but wanted to here for a bit extra consistency (most other truly restricted fields do need it) and protection. [03:49:59] i need a name for an alt mmmm [03:50:18] eh Notadev hell with it [03:50:28] Mostly because once deployed managewiki-privacy could end up selectable in MWP, until cache is cleared on all wikis so for now at least, we double protect behind another right also. [03:50:43] Just in case. [03:50:44] 💯 [03:52:50] PixlDev [03:52:56] make it as confusing as possible [03:52:56] forgot beta is closed registration lol [03:53:05] actually i do go by that [03:53:22] oh yeah, what wiki? [03:53:23] when i my name has to be lowercase i find it looks betters as pixldev than pixdevl [03:53:31] check my discord [03:54:36] A friend of mine once said that a friend of hers saw my username as read it as PixDeVI, aka Pix De Six [03:54:37] exttest is technically accurate lol [03:54:40] idk, my brain isn't braining [03:54:54] just numb, cycling through the days until i can get hrt to hopefully cope [03:55:25] my ass can't even worry anymore, i'm just too dead for it all [03:55:34] anyway, is exttestwikibeta okay? [03:56:29] preferably global because id also wanna test on meta remote [03:56:31] [1/2] actually, are you sure it's even deployed on mirabeta? [03:56:32] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1469179930444304606/1770350191012.png?ex=6986b7ef&is=6985666f&hm=f6cffcba36a8f27171e9c02d589067b0be447763fb27245231291b661e97d2a2& [03:56:38] ah oki [03:57:17] CA may have set that for tmr [03:57:25] feel free to checkout the PR [03:57:26] i think [03:57:27] why not ask him for rights lol [03:57:37] i assume code wise, because no shell [03:58:00] oh right forgot about that uh [03:58:12] want me to poke petra [03:58:54] new alt https://meta.mirabeta.org/wiki/User:Elliot [04:00:49] @petr [04:00:51] oh wait [04:01:08] so the impl is that you have the managewiki-* rights in the central wiki, and you remotely config the wiki? [04:02:00] if so, yea i +1 it [04:02:05] cba to grab yurikey tho [04:02:21] what [04:05:48] like [04:05:56] let's say you wanna touch clairewiki [04:06:16] do you only have the local rights for managewiki-* on metawiki, and can touch clairewiki via metawiki? [04:06:29] or is it a global group where you have managewiki-* everywhere [04:07:36] no idea on the former this is for WM/Tech/A[S] so global [04:08:20] if you have the rights on a global group, you can still touch the private flag if you go to managewiki on-wiki lol [04:08:38] at least, that's my interpretation [04:09:18] maybe i'm logicing wrong, or wrongly inferred $ceMW [04:10:44] onkly tech and S will have private [04:11:21] TS also [04:11:34] yea yea [04:11:46] im in a mood and its not one for thinking sorry [04:12:03] No worries, I'm deep into day 4 of work march, so right there with ya [04:12:04] fuck that sink [04:12:24] On bright side, I am writing some of the best code i've ever written, so yay that. [04:12:28] https://github.com/miraheze/ManageWiki/pull/763/files#diff-23b114b2839b985259d6b68086cdc6599e49af5187a589b0510eb6f3deab7470R183 [04:15:14] i assume this is `$canTouchPrivate = $isRemote ? ( has restricted and has private ) : has core` [04:15:18] i'm eating lunch rn [04:15:53] hell yes [04:16:25] private and restricted should still be needed on remote [04:17:57] you would have managewiki-core via a global group, yes? [04:18:18] correct [04:19:34] get out. go to bed. [04:19:57] I was then I had to do something else and saw this lol. Yeah I need to. [04:20:26] So do I... [04:21:38] visiting https://claire.miraheze.org/special:managewiki would let you touch core, correct? [04:21:58] yes.. i think [04:22:09] what does this evaluate to? [04:22:23] AS can't change privacy but it has to be able to changed DPE and such [04:22:48] WM should prob also have the ability to change domain/path stuff and just not touch DPE by policy [04:23:14] idk im out i need to sleep the grumpy is getting worse and theres no reason to make that y'alls problems [04:23:24] Good night [04:24:55] fair lol [04:26:28] [1/6] ```php [04:26:28] [2/6] $canTouchPrivate = $isRemote ? ( has restricted and has private ) : has core [04:26:29] [3/6] $canTouchPrivate = false ? ( has restricted and has private ) : has core [04:26:29] [4/6] $canTouchPrivate = has core [04:26:29] [5/6] $canTouchPrivate = true [04:26:30] [6/6] ``` [04:26:32] oops, wrong reply [04:26:36] meant for ^ [04:30:09] you know my ass is brain foggy when i thought that meant Data Protection Execution [04:30:19] but no, Dormancy Policy Exemption :p [04:30:37] Dumpy property exfiltration [04:31:05] Dumpty humPty sat on the wall, dumpty humpty had a grEat fall [04:31:06] Durango Pear Embargo [04:31:16] I am very tired [04:31:30] i'm not tired, but my brain is [04:31:31] idk [04:31:39] i just want my medsssssssssss [04:51:42] don't...overdose... [04:53:31] it's kinda hard to overdose on estrogen [04:53:54] wait what, i thought you were talking about autism ones [04:53:58] i wish [04:54:00] are you trans then? [04:54:02] well, dunno what autism meds there are [04:54:08] but i wish i had adhd meds [04:54:11] yep [04:54:15] col [04:55:13] i probably could overdose on cyproterone acetate, but even my brain knows that > 12.5 mg/day has diminishing returns, so i don't bother lol [04:55:45] [1/2] it also appears i have been unfortunately reminded of this video exists [04:55:45] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1469194834530009190/59C78F6B-BDE4-4929-BEC1-4CC8473C47C6.png?ex=6986c5d0&is=69857450&hm=7ba404278df13ad6531668bc3bef833b647610ea10fd80522b22d85f34405391& [04:56:29] [Do it yourself](https://media.discordapp.net/stickers/1313915677588848790.png?size=160&name=Do+it+yourself&lossless=true) [08:06:24] [1/3] https://meta.miraheze.org/wiki/Special:Contributions/PetraMagnaBot [08:06:25] [2/3] The bot now automatically records Cloudflare and Matomo analytics on-wiki. With a few months time we should be able to get some trend charts. [08:06:25] [3/3] Unfortunately Extension:Charts doesn't seem to receive any attention so I took a stab at it without knowing what I'm doing https://issue-tracker.miraheze.org/T12839#298255. [08:07:18] I'm not sure if we want npm on MW servers. The current puppet PR assumes that it exists. But it could also be built elsewhere like eventgate. [08:22:58] hmm, femiwiki? [09:05:00] [1/3] After some DMs with CA I think this follows the standard for nodejs deployments: [09:05:00] [2/3] https://github.com/miraheze/chart-deploy [09:05:01] [3/3] https://github.com/miraheze/puppet/pull/4746 [09:06:52] I did see femiwiki-deploy but it seems to be abandoned? [09:26:49] Is that still enabled [09:28:33] We should have fixed uid + gid @posix_memalign [09:28:50] For future sanity reasons [09:32:22] The femiwiki skin is still enabled and usable. I guess upstream never pushed breaking changes. [09:33:14] Probably [09:33:40] [1/2] Do you mean uid/gid in puppet configs? [09:33:40] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1469264773785981096/image.png?ex=698706f3&is=6985b573&hm=e598e77212593c0f185f22f00c2b2e54f3d4d8abff2db61920b605a331c40db1& [09:33:56] Ye [09:56:06] [1/7] So we would replace the string with a fixed numeric value, having the same layout as mattermost except with a different uid (1501?). [09:56:06] [2/7] ⁨``` [09:56:07] [3/7] modules/mattermost/manifests/init.pp [09:56:07] [4/7] 16: $uid = $mattermost::params::uid, [09:56:07] [5/7] modules/mattermost/manifests/params.pp [09:56:07] [6/7] 19: $uid = '1500' [09:56:08] [7/7] ```⁩ [09:58:01] Ye [09:58:17] gid & uid can be the same number [09:58:27] Just check it isn't using by running the id command [10:09:55] 1501 is not used on test151, mwtask181, and mw181. I would assume those are the only ones that matter because the service will only be deployed there (and other servers with the same setup). [10:12:22] Sounds good [10:25:19] [1/2] https://github.com/miraheze/puppet/commit/0aeaf7cbdbb896d6f2250cd26d602a617f97c9de [10:25:19] [2/2] The mattermost config is pretty cryptic, so this is mostly a guess at what should be done. [10:30:04] That should work [10:30:16] I wonder if the user should require the group [10:30:27] I can't remember if puppet is deterministic enough for that [10:32:01] I think it might be better to move the require group to the user but @posix_memalign [10:32:14] Or add it [10:32:36] Because User does depend on the group existing [10:37:52] Done. If puppet does perform some parallel initialization mathoid and such will be affected too, though one more rule won't hurt. [10:40:52] [1/2] My hypothesis (having no experience with puppet) is that intra-module parallelism is usually sufficient. If something within a module is taking too long, it might then be worthwhile to run the rest in parallel. [10:40:53] [2/2] With that said, since most of these setup steps require spawning a process (e.g. run git), the overhead of parallelism (spawning a process/thread) should be negligible. [10:58:55] @posix_memalign I can merge in like an hour [11:03:45] [1/8] CA said in a DM that he can deploy it on the weekend, though it's probably fine if you do it earlier. [11:03:45] [2/8] This change in ⁨`manifests/site.pp`⁩ uses ⁨`role`⁩ and ⁨`include`⁩ in the same node, and we weren't sure if this is valid. I guess we'll find out once you deploy. [11:03:45] [3/8] ⁨``` [11:03:45] [4/8] node 'test151.fsslc.wtnet' { [11:03:46] [5/8] role(mediawiki_beta) [11:03:46] [6/8] include role::chart [11:03:46] [7/8] } [11:03:47] [8/8] ```⁩ [11:04:54] It's only test [11:05:00] That's fine for test [11:05:04] We should clean up before prod [11:05:24] I won't deploy to prod without @cosmicalpha [11:05:32] So he knows what's going on [12:18:17] [1/9] https://meta.miraheze.org/wiki/Tech:Noticeboard/Removal_of_ImageRating_extension [12:18:17] [2/9] Draft page for the proposed removal of a few SocialProfile-adjacent extensions that [12:18:17] [3/9] (1) Don't seem to be used in a serious capacity by any wiki [12:18:17] [4/9] (2) Have been semi-broken for a while [12:18:18] [5/9] (3) Don't receive much attention in terms of maintenance [12:18:18] [6/9] We definitely have more zombie extensions (i.e. they are deployed and can be enabled but have been non-functional for a long time). They are not a huge problem, but wikis editors and volunteers waste lots of time on them before realizing that they don't work at all. This is one attempt at removing some of the more obvious ones. [12:18:18] [7/9] The plan is to draft this discussion page and a message that will be sent to admins/bureaucrats of all the wikis that have these extensions enabled to see if they have a serious use case that warrants keeping and maintaining these extensions. [12:18:19] [8/9] I don't expect this to be a controversial move, but please let me know if you think we shouldn't try to remove them. [12:18:19] [9/9] I will also post this on MM so that MacFan can see it too. [17:38:21] I will handle deploy to prod this weekend if you want. We can clean up a bit before then. [17:40:21] I completely forgot about this as I had a nap tbh [18:41:00] @posix_memalign you want me to merge for test now? [18:42:25] Someone on hand would be good for the prod bit as I've been unwell on and off this week [20:04:48] Sure! Once chart-renderer is working on test151 via the localhost port, I'll merge Skye's PR https://github.com/miraheze/mediawiki-repos/pull/98 on mediawiki-repos and try to figure out how to handle configurations in mw-config. [20:05:05] Ok [20:05:20] i forgot i was supposed to beat the service out of rhinos [20:05:27] thanks for doing that yourself [20:06:57] @posix_memalign puppet is running now [20:07:03] I pulled the change to puppet181 [20:09:54] Deployed [20:09:55] Thanks! I'll do some testing now and later today since there are some irl things to take care of in an hour as well. [20:10:16] I can push random buttons if needed [20:17:49] I thought it got buried in the list of backlogs since you have a lot on your plate. TBH you're already doing a lot for the tech team by taking care of all the requests on Phorge. [20:19:13] a lot of it is procrastinated on, lol [20:19:22] but I do try to keep things moving [20:20:36] [1/20] Seems like a config issue. I used the default `config.yaml` from upstream and it uses port 9100 for Prometheus and 8125 for statsd, which probably doesn't work well in our servers. [20:20:37] [2/20] ``` [20:20:37] [3/20] Feb 06 20:18:11 test151 chart[3286314]: {"name":"chart-service","hostname":"test151","pid":3286314,"level":60,"err":{"message":"","name":"Error","stack":"Error: listen EADDRINUSE: address already in use :::9100 [20:20:37] [4/20] at Server.setupListenHandle [as _listen2] (node:net:1811:16) [20:20:37] [5/20] at listenInCluster (node:net:1859:12) [20:20:38] [6/20] at Server.listen (node:net:1947:7) [20:20:38] [7/20] at new PrometheusServer (/srv/chart/node_modules/service-runner/lib/metrics/servers/prometheus.js:21:7) [20:20:38] [8/20] at Master._start (/srv/chart/node_modules/service-runner/lib/master.js:96:28) [20:20:39] [9/20] at /srv/chart/node_modules/service-runner/lib/base_service.js:131:17 [20:20:39] [10/20] at tryCatcher (/srv/chart/node_modules/bluebird/js/release/util.js:16:23) [20:20:39] [11/20] at Promise._settlePromiseFromHandler (/srv/chart/node_modules/bluebird/js/release/promise.js:547:31) [20:20:40] [12/20] at Promise._settlePromise (/srv/chart/node_modules/bluebird/js/release/promise.js:604:18) [20:20:40] [13/20] at Promise._settlePromise0 (/srv/chart/node_modules/bluebird/js/release/promise.js:649:10) [20:20:40] [14/20] at Promise._settlePromises (/srv/chart/node_modules/bluebird/js/release/promise.js:729:18) [20:20:41] [15/20] at Promise._fulfill (/srv/chart/node_modules/bluebird/js/release/promise.js:673:18) [20:20:41] [16/20] at Promise._resolveCallback (/srv/chart/node_modules/bluebird/js/release/promise.js:466:57) [20:20:42] [17/20] at Promise._settlePromiseFromHandler (/srv/chart/node_modules/bluebird/js/release/promise.js:559:17) [20:20:42] [18/20] at Promise._settlePromise (/srv/chart/node_modules/bluebird/js/release/promise.js:604:18) [20:20:43] [19/20] at Promise._settlePromise0 (/srv/chart/node_modules/bluebird/js/release/promise.js:649:10)","code":"EADDRINUSE","errno":-98,"syscall":"listen","address":"::","port":9100,"levelPath":"fatal/service-runner/unhandled"},"msg":"listen EADDRINUSE: address already in use :::9100","time":"2026-02-06T20:18:11.415Z","v":0} [20:20:43] [20/20] ``` [20:21:27] Oh I see the port numbers in eventgate. I'll change them then. [20:51:20] [1/2] @rhinosf1 Not sure how our logging stack works, but I would assume that we don't need to log to both prometheus and statsd since we convert between them anyway? [20:51:20] [2/2] statsd uses the fixed port 9125 judging from everything, while prometheus requires a separate port for each service (9102 for eventgate and 9104 for mariadb). statsd is probably the easier option since it doesn't require additional setup? [20:53:26] @paladox @cosmicalpha ? [20:53:49] statsd is sent to prometheus [20:53:57] tech [20:54:08] Ye [20:54:51] [1/10] Thanks. I suppose I'll remove prometheus from the config and then change the statsd port then. [20:54:51] [2/10] ``` [20:54:51] [3/10] # Statsd metrics reporter [20:54:51] [4/10] metrics: [20:54:52] [5/10] - type: prometheus [20:54:52] [6/10] port: 9100 [20:54:52] [7/10] - type: statsd [20:54:53] [8/10] host: localhost [20:54:53] [9/10] port: 8125 [20:54:53] [10/10] ``` [20:55:10] Oh I think we need to factor out statsd anyway [20:55:57] Wikimedia was using statsd to send to graphite and prometheus separately but are now factoring out graphite and using direct prometheus. Which is probably where both come from I think. [20:56:39] We dont really need to send to either immediately @posix_memalign [20:57:26] Eventually we will want to setup some panels in Grafana through prometheus but we can get that setup after we get it working also. [21:08:02] [1/2] I see. I sent a PR https://github.com/miraheze/puppet/pull/4747 [21:08:03] [2/2] Would be nice to test it locally on test151, but I don't think I'm allowed to edit the config file. [21:31:22] I merged it [21:36:32] Thx. It seems to be running fine. I'll work on mw-config next. [21:36:54] Thanks! [23:36:50] [1/25] I copied my local dev env's setup to `GlobalSettings.php`. It's supposed to create a Data NS, which works locally but not on beta as I don't see the Data NS after enabling Chart. Perhaps I need to register the namespace explicitly with ManageWiki? [23:36:50] [2/25] ```php [23:36:50] [3/25] if ( $wi->isExtensionActive( 'Chart' ) ) { [23:36:51] [4/25] $wgChartServiceUrl = 'http://localhost:6284/v1/chart/render'; [23:36:51] [5/25] // Copied from https://github.com/wikimedia/mediawiki-extensions-Chart/blob/a7fd15850be06d97f93844e5c8605bda7b03c657/README.md [23:36:51] [6/25] $wgJsonConfigModels['Tabular.JsonConfig'] = 'JsonConfig\JCTabularContent'; [23:36:51] [7/25] $wgJsonConfigs['Tabular.JsonConfig'] = [ [23:36:52] [8/25] 'namespace' => 486, [23:36:52] [9/25] 'nsName' => 'Data', [23:36:52] [10/25] // page name must end in ".tab", and contain at least one symbol [23:36:53] [11/25] 'pattern' => '/.\.tab$/', [23:36:53] [12/25] 'license' => 'CC0-1.0', [23:36:54] [13/25] 'isLocal' => true, [23:36:54] [14/25] ]; [23:36:55] [15/25] $wgJsonConfigModels['Chart.JsonConfig'] = 'MediaWiki\Extension\Chart\JCChartContent'; [23:36:55] [16/25] $wgJsonConfigs['Chart.JsonConfig'] = [ [23:36:56] [17/25] 'namespace' => 486, [23:36:56] [18/25] 'nsName' => 'Data', [23:36:57] [19/25] // page name must end in ".chart", and contain at least one symbol [23:36:57] [20/25] 'pattern' => '/.\.chart$/', [23:36:58] [21/25] 'license' => 'CC0-1.0', [23:36:58] [22/25] 'isLocal' => true, [23:36:59] [23/25] ]; [23:36:59] [24/25] } [23:37:00] [25/25] ``` [23:39:11] you do have jsonconfig enabled right, that should make the NS [23:40:03] [1/2] I do. It's specified as a dependency of chart. [23:40:04] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1469477776057962506/image.png?ex=6987cd53&is=69867bd3&hm=99ae3b3a6143efaecef104f77544058cd1beedd2004c3e171e8f1857eb708f86& [23:40:04] (duh you do its a requirement) [23:40:19] huh [23:40:43] Is the namespace created in ManageWiki for jsonconfig? [23:40:56] idts? [23:41:01] ManageWiki clears all core defines if not explicit. [23:41:12] iirc, i just had to point jsonconfig to wm commons [23:41:23] so it prolly doesn't make sense to make an ns by def? [23:41:32] Probably not. [23:41:37] Not really sure. [23:41:38] or maybe it does? idk, i just woke up [23:41:52] I think JsonConfig creates the namespace after reading `wgJsonConfigs`, so yeah I suppose I do need to make it explicit. [23:42:16] I am preoccupied with 1.45 preparations right now lol. Installing it on prod at the moment. [23:42:52] (installing not switching over to it to clarify lol) [23:43:38] our JsonConfig configuration might be a bit bugged; every time I check journalctl on an appserver there are warnings because of it [23:45:13] [1/2] Do you mean in a setup for features like this? [23:45:14] [2/2] https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates [23:45:45] ye