[00:31:23] Weirdly I'm able to get it to resolve maybe like 1 in 50 load attempts. [00:31:41] So maybe it's a cache/queue issue. [01:02:34] queue/cache failure does sound probable if you do manage to get it to load at all [01:11:42] Can you try changing another setting remotely? Sometimes that fixes it. [01:13:22] hmm [08:37:52] [1/2] Please help this guy out... [08:37:52] [2/2] https://discord.com/channels/407504499280707585/1238509583476199515 [08:38:23] Certain gifs fail to display at all [08:56:29] [1/2] https://discord.com/channels/407504499280707585/1238966760237961319 [08:56:29] [2/2] This guy hasn't been answered for days. [14:09:26] My bot running on a digitalocean vps is getting 403 from all requests sent to Miraheze. [14:09:47] Is it kind of proxy ban or something? [14:10:37] that is entirely possible especially if the connection was hit on wikipedia or if the vps range was used on miraheze to circumvent account locks [14:12:05] on the other hand... I might be off, I don't imagine the request would be outright blocked since that's just account creation [14:12:35] yeah forget me, it's some other issue especially if the bot is logged in. hitting a cloudflare wall perhaps? [14:13:19] Rhinos said POST request now require UserAgent to be specified, so that may be the cause [14:19:07] cc @tiger0484 [14:26:24] yeah it does have a UserAgent like "User:Tiger-bot run by User:Tiger" on it [14:27:40] FXI: https://discord.com/channels/407504499280707585/1006789349498699827/1234076835122249748 [14:27:42] (but not meeting the requirements cause the problem I guess .. [14:34:29] @tiger0484 which DO data centre? [14:37:51] the one in Singapore [14:38:42] We get a lot of abuse from there so it's subject to a firewall rule. Can you PM me your bots IP and I'll exempt it after work [14:40:48] cool, I'll pm you [15:07:00] Exemption should now be applied [15:08:51] For others ( @kiju1108 / @raidarr ): traffic from Digital Ocean Singapore will need SRE approval. They are captchas shown to all traffic from that data centre due to high rates of abuse. [15:09:13] SRE can just add ips to a list in cloudflare's WAF rule [15:09:24] Oh I see [15:12:48] understood [16:14:26] Hmmm, trying to handle a request for Semantic Forms Select which requires PageForms, but I don't see that available on ManageWIki/extensions. Does that have to be installed manually by SRE? [16:18:30] Its in ManageWiki but it isn't restricted if you have SMW and PageForms enabled. [16:18:32] it should be there iirc [16:19:48] SMFS is in the 'other' section PF is in the 'specialpages' section [16:20:55] Sorry pageforms specifically was the one that wasn't showing up. Let me have another look. [16:21:56] D'oh, localization issue. [16:22:07] The wiki I'm on is in chinese, extension title is getting translated [16:22:55] Pebcaks all the way down [16:23:39] Oh yeah. I have my language set in my global preferences due to that lol. [19:53:18] @originalauthority how does CW store status(accepted on hold in review etc) again? is it a int like visibility or a string? [19:54:18] string [19:54:42] https://github.com/miraheze/CreateWiki/blob/master/sql/cw_requests.sql#L8 [19:56:15] what's the exact values? [19:58:35] Why string [20:00:36] Approved [20:00:37] Inreview [20:01:21] Onhold [20:01:34] Declined [20:04:07] aight ill be using that once im done with the first PR but may as well build part of it in so i dont need to rewrite [20:04:27] Oh, there's an additional status now [20:04:57] Need's more detail yea [20:05:01] https://cdn.discordapp.com/attachments/1006789349498699827/1240756915202687066/image.png?ex=6647b86c&is=664666ec&hm=edb041be9ec2076b88b1ec86c6abfe6b8f5932c99999ea75a32ede84fd0bc98e& [20:05:10] Oh yeah "moredetails" [20:05:30] Theres really no reason that on hold and needs more details cant be the same one [20:05:54] That was split for end user workflow/usability reasons [20:06:27] But both fundamentally serve the same outcome [20:07:21] On hold serves as quarantine for riskier requests that need Steward/team review vs needs more details which needs end-user input. [20:07:51] The challenge we've run into is that with sheer volume of requests, it was incredibly easy to lose them in the sea of on-holds [20:33:38] FYI: On-holds don't ping the user, the others do. [20:38:32] Hold ought to ping tbh [20:38:53] Nah the whole point is holding for internal review [20:40:32] Even then it's good to know what's going on especially on multi day delay [20:55:05] I don't think pinging is good. It will confuse [20:55:34] The user will ask - Why do I get an email, what do I have to do? [20:56:31] We do sometimes get answers like: "Okay.. what now" when they check [20:58:09] Can someone check https://discord.com/channels/407504499280707585/1240768118788198400 [21:00:49] [1/10] To anyone who knows PHP/MW database stuff well, is this correct? [21:00:49] [2/10] ```php [21:00:50] [3/10] $conditions = ['cw_user' => $user->getId()]; [21:00:50] [4/10] if ($status != '*'): $conditions['cw_status'] = $status; [21:00:50] [5/10] $requests = $this->cwdb->newSelectQueryBuilder() [21:00:50] [6/10] ->select('cw_visibility') [21:00:51] [7/10] ->from('cw_requests') [21:00:51] [8/10] ->where($conditions) [21:00:51] [9/10] ->caller( METHOD )->fetchResultSet();``` [21:00:52] [10/10] it looks like it should work fine but coding is weird so wanna confirm [21:01:36] Im confused what the if statwmwnt is dor [21:01:52] Also i think youre mixing php and python syntax again [21:01:58] am i [21:02:01] ffs [21:02:19] i don't want to include a where $status is the status passed is * [21:02:31] and where clauses are passed in a list [21:02:34] array? [21:02:44] i may be stoopid [21:02:52] Is there a possibility that the status would ever be * [21:03:43] it's a function called in other parts of the code, ie for the code calling the function wants to get total requests regardless of status [21:04:48] I see [21:04:58] Sounds bizzare without looking at it [21:05:26] Notwithstanding the python syntax in the if statement it looks okay [21:05:47] (Generally, of course. I cant say whether it will do what youre expecting) [21:06:39] I would probably flip the if statement, though, and have the if $ status = * in the if statement instead of the other way aroind [21:06:55] Since there are more possibilities of status !=  than =  [21:07:14] I hate PHPs conditional syntax lol [21:07:50] I much rather it look nicer like Python, or Java etc... at least in my opinion. [21:08:13] True but It matches with JS heh [21:08:38] oj i see now [21:08:47] i hate these bracket ifs [21:09:14] Also dont forget your spaces! [21:09:35] I need to find out how that fucking linter works [21:09:40] but hey [21:10:02] Theres a extension for phpstorm called mediawiki 😉 if thats what you're using [21:10:04] https://cdn.discordapp.com/attachments/1006789349498699827/1240773287949373502/IOtr9o4.png?ex=6647c7ac&is=6646762c&hm=1e28ecab6b51d88a2d1f64269d67385a4d34a754934b70cb61ab20b3d939c147& [21:10:05] this ecsits [21:10:06] Prolly also for vscode [21:10:16] GIMMI GIMMIG GIMMI [21:10:26] I meant like if ( $status ) [21:10:55] I use phpstorm but with VSC key maps [21:10:55] I'm bad at tabs [21:10:59] I just hit spacebar [21:11:02] All the time [21:11:45] I used to use phpstorm but now I do almost everything from mobile lol, even git so don't use it anymore... [21:11:52] .... [21:11:57] WHAT0UHFEGBFUOI@ HWO [21:12:00] YOU DEV [21:12:00] All hail phpstorm [21:12:02] EXTENSIONS [21:12:05] on MOBILE>??? [21:12:10] Yep [21:12:16] ho0 [21:12:19] like [21:12:22] an Ipad????? [21:12:28] No phone [21:12:39] All Hail KiwiBrowser [21:13:00] Yep I use that for devtools and Chrome extensions lol [21:13:02] how do you type- [21:13:10] Samsung Browser ❤️ [21:13:18] I type better on phone than on PC [21:13:40] sir are you okay [21:13:45] of course not [21:13:52] how big is your phone even [21:14:02] I use Termux for git (or sometimes github.dev) [21:14:08] iOS could never [21:14:24] github.dev? thats a thing? [21:14:39] Yeah i went straighr to google too lol [21:15:04] fuck android or iOS i would actually have a stroke trying to do any programming on mobile beyond hello cruel world [21:16:03] 6.8 inches lol [21:16:36] Yeah it is like vscode online [21:16:38] S23 ultra? [21:16:42] S22 [21:16:46] wait isnt that just codespaces [21:16:53] Makes sense since VSCode app is Electron [21:16:57] ive used it before to dev on my school chromebook [21:17:05] wait [21:17:13] oh i need to try smt [21:17:38] I mostly use it for find and replace throughout entire code, and sometimes for codespaces. [21:18:01] YES. AHAHAHA- NO [21:18:04] DAMN IT [21:18:40] my school chromebook blacklisted github.com for some reason so i cant use codespaces on it [21:18:46] Rip [21:18:55] i wanted to see if it stayed on github.dev so it would work [21:19:05] but no it redirect to the com domain [21:19:39] i dont have a personal laptop so :P [21:19:40] Oh yeah you have to click open with github.dev or something in a file in a repo or at least how I do lol [21:19:43] no remote dev work [21:20:03] no i think the issue is it needs to redirect me to .com to sign in [21:20:42] Oh my hell my new software update on my phone is drving me crazy with all my icons changed and all this random AI stuff I don't need that keeps popping up lol [21:20:50] ah [21:20:56] oof [21:21:45] i can't even try to do some black magic that 9% would not work by singing in on another device and copying the session cookie cause devtools also locked [21:21:52] foiled again [21:22:15] oh also do you guys set your MFA set wiki to meta or login wiki? [21:22:46] I can't remember lol, but I kinda assume loginwiki. [21:23:06] i need to enable it still [21:23:18] You can enable from any wiki [21:23:40] also i should prob publish my PGP key to use it in case i totally lose my phone and recov codes [21:23:45] which knowing me [21:23:46] likely [21:27:02] [1/28] ```php [21:27:02] [2/28] public function getUserRequestCount($user, int $viewLevel, string $status) [21:27:03] [3/28] { [21:27:03] [4/28] $visibilityConds = [ [21:27:03] [5/28] 0 => 'public', [21:27:03] [6/28] 1 => 'createwiki-deleterequest', [21:27:04] [7/28] 2 => 'createwiki-suppressrequest', [21:27:04] [8/28] ]; [21:27:04] [9/28] $conditions = ['cw_user' => $user->getId()]; [21:27:05] [10/28] if ($status != '*') { $conditions['cw_status'] = $status;} [21:27:05] [11/28] $requests = $this->cwdb->newSelectQueryBuilder() [21:27:06] [12/28] ->select('cw_visibility') [21:27:06] [13/28] ->from('cw_requests') [21:27:07] [14/28] ->where($conditions) [21:27:07] [15/28] ->caller(METHOD)->fetchResultSet(); [21:27:08] [16/28] $count = 0; [21:27:08] [17/28] foreach ($requests as $req) { [21:27:09] [18/28] $wikiRequestVisibility = $visibilityConds[$req->cw_v]; [21:27:09] [19/28] if ($wikiRequestVisibility !== 'public') { [21:27:10] [20/28] if (!$this->getAuthority()->isAllowed($wikiRequestVisibility)) { [21:27:10] [21/28] continue; [21:27:11] [22/28] } [21:27:11] [23/28] } [21:27:12] [24/28] $count += 1; [21:27:12] [25/28] } [21:27:13] [26/28] return $count; [21:27:13] [27/28] }``` [21:27:14] [28/28] hm, is the getAuthority call right? I don't know if that should be $this or an object of the User account viewing [21:27:14] prob the latter [21:27:15] Can someone around take a look at #SlyMods SSL Certificate Expired [21:31:18] since you already have access to $user, I would use that. [21:31:38] yea [21:31:49] Done [21:31:58] should i set the type to the User class or smt? [21:36:00] Thank you, you're a star! [21:37:11] huh, kleopatra has a sign clipboard button [21:37:12] nice [21:37:13] [1/9] -----BEGIN PGP SIGNED MESSAGE----- [21:37:14] [2/9] Hash: SHA512 [21:37:14] [3/9] Thank you, you're a star! [21:37:14] [4/9] -----BEGIN PGP SIGNATURE----- [21:37:14] [5/9] iHUEARYKAB0WIQSfTWdpf++tvytny3sbc2qpt4orCAUCZkZ8dQAKCRAbc2qpt4or [21:37:15] [6/9] CEsdAQC6L9LbuRXxYwizKrOzLJfsKuhNLXgw72l8sgNaQQu6SwEAtbv3//wmz49O [21:37:15] [7/9] pIoeFmeBz9S/Azda8dxyn1yFXLM9cwQ= [21:37:15] [8/9] =SCgc [21:37:16] [9/9] -----END PGP SIGNATURE----- [21:39:51] huh, are all keys unknown trust level by default? [21:39:57] Yes [21:40:12] makes sense [21:40:22] (the one im importing is yours lol) [21:41:37] I should fine where I've saved that key [21:41:40] Or replace it [21:42:07] [1/3] [thumbsup~2](https://cdn.discordapp.com/emojis/1211115516144648254.webp?size=48&quality=lossless&name=thumbsup%7E2) [21:42:07] [2/3] https://cdn.discordapp.com/attachments/1006789349498699827/1240781350819336295/0qxkXbm.png?ex=6647cf2e&is=66467dae&hm=2a4f549e76e76740c076e3cd590a15574c8d64529bd528e505f2018473b375c3& [21:42:07] [3/3] https://cdn.discordapp.com/attachments/1006789349498699827/1240781350999560313/eNYqghv.png?ex=6647cf2e&is=66467dae&hm=f67ddd9842582072ef44223d67901cb65a99960c55193acba7fed49d57ac9743& [21:42:23] you mean the private key? [21:42:26] Yes [21:42:29] And the password [21:42:53] i know i have the private key on a usb [21:42:55] the issue is [21:42:56] um [21:43:47] [1/2] May take a few minutes to find which [21:43:47] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1240781770182361188/IMG_3617.jpg?ex=6647cf92&is=66467e12&hm=0b68355ec247f4cd34ab5bab36d7fa28243fb3b7a7c0a13b2d98f36a983eba88& [21:43:52] Haha [21:43:56] added security [21:44:16] You could sign my key once I find the right one [21:44:25] I'll look in the morning [21:44:27] found it first try lol [21:44:33] I should be asleep [21:45:05] Me too it is 5AM... [21:45:06] now i need to find how to remove the bloat uneeded user ids i added :P [21:45:28] It's 22:45pm here [21:45:35] plus one has email and i dont see the need to keep that with the key really [21:45:52] is it too much to assume you just got up early [21:46:11] Lol nope. Anyway I'm off. [21:47:52] cya [21:48:09] [1/15] ```-----BEGIN PGP MESSAGE----- [21:48:09] [2/15] hQEMAyfZK83pyEDMAQf+KU6updfDkkrWRUrH8XNQCFghC7i1didncG+rvdCK5upp [21:48:09] [3/15] br+PgPXSRYGeReSlGpnGczpjEpxR2HaRgfnc0XEMeBUeOzqG9gwjL9JsyBsUpaeO [21:48:10] [4/15] jsvYWqqFiwphC6Ml93yg5MDZF3t62iZgHsI5tCqZw1w7noQGH88Ue26eOINpflkt [21:48:10] [5/15] eZ3Tgya8UuXYw4vskM/R+TwbSM+HaPIwKtosEUA2fNBNND6/wtAttnojxtpcxdms [21:48:10] [6/15] vjm2nJ0oP0bz76NImBcDyS9nOZ94cvJTmcR59D5HBiIflx91Z33zu6d2AhxXbBPD [21:48:11] [7/15] 0wbL3a3WTVItBaQEP3FYjjmp0UhDkdWS1Fb2OWR8m9LAEwFK4Y7L/TXRZV9YVZgz [21:48:11] [8/15] LwUhvMAI5DHVo8hXS85u2JfqYWE9ZiO6AADMUUvqn2d8FoiHFL0wGXlagCRGIh6m [21:48:11] [9/15] rMHHHfONJqX9eTJ1+KdBX83lJwfx1/Pqj4ri1ZbPHMWGtmRfvQxE8IOLTXDACble [21:48:12] [10/15] k2Dnn7brTOfK1pFKX7czH29tzmLiY3cXuCq4/C3RMzyD0UpDGmJXB0gMlTeysBF0 [21:48:12] [11/15] 27dplw2xKaRP3AuIW9lZZZ/9x5ySkgTpGi7pYbImq9Pbfjqv7W/HFt3T8H9vN0v6 [21:48:13] [12/15] uwjA1D0= [21:48:13] [13/15] =vh5z [21:48:14] [14/15] -----END PGP MESSAGE----- [21:48:14] [15/15] ``` [21:48:17] Also good night [21:48:51] I'm not getting my laptop to find out what it says [21:49:07] i partly just wanted to test signing with someone elses key [21:49:08] lol [21:49:28] [1/2] Trying to recall, what's the disconnect between SMW and other extensions that requires the extra tech team step/prevents one-click enable by stewards? [21:49:28] [2/2] Use of composer? [21:50:03] SMW requires a maint script [21:50:36] Really good night though now [21:50:37] [1/2] ```Semantic MediaWiki requires running setupStore.php on installation. [21:50:38] [2/2] The data generated by this script needs to be on all MediaWiki appservers. Due to this, it does not work running setupStore.php in ManageWikiInstaller directly. It has to be manually ran and deployed using the following steps. ``` [21:50:57] Yep, g'night to RhinosF1 [21:53:26] Will leave it alone for now, but definitely understand how that limits safe avenues to automate the secodn step. [21:53:53] safety is overrated [21:53:55] Is that the docs I just wrote? Anyway we should automate it somehow eventually but now I do need a couple hours of sleep first lol [21:54:10] GO EEP [21:54:23] and this is [[tech:Semantic Mediawiki]] [21:54:24] [21:54:29] fuck you to caps [21:54:52] New SMW versions can make it so setupstore.php isn't necessary I just keep forgetting to investigate what other affects it can have... [21:57:08] Yeah, the solution that came to my mind was some horrendous pseudo-turk solution involving a service user account. Much jank, very injection risk. [21:58:17] hmmm [21:58:19] Anyway, should refocus on actual paid-work stuff, but look forward to the day when SMW doesn't briefly brick wikis. 😄 [21:58:20] i like it lets try [21:58:38] imagine getting paid for working could not be me [22:03:22] [1/4] 🔸 https://meta.miraheze.org/wiki/Community_portal#Wiki_request_contains_%22invalid_character%22 [22:03:22] [2/4] This user tries to request lostrealities.miraheze.org but isn't able to. [22:03:23] [3/4] Can someone help out? [22:03:23] [4/4] I had him clear cache. [22:07:45] I'd also check to make sure they're just typing lostrealities, with no spaces, and not typing out the full .miraheze.org piece too [22:08:25] [1/2] It's definitely not some character in the domain itself tripping things up and the service does appear to be working per my test request: [22:08:25] [2/2] https://meta.miraheze.org/wiki/Special:RequestWikiQueue/44513 [22:13:06] there we are, added changes https://github.com/miraheze/CreateWiki/pull/511/commits/06a737bf2063126cd3694d4a97583433b4b56064 [22:13:15] Worst case scenario, if we can get an idea of their wiki topic and request and it's permissible, we can do a Special:CreateWiki on their behalf, but this should only be used by those with WC privileges in extreme circumstances when normal handling through queue isn't possible. [22:31:20] Just "lostrealities" [22:32:02] I'll ask him the questions [22:44:57] [1/2] https://meta.miraheze.org/wiki/Community_portal#Wiki_request_contains_%22invalid_character%22 [22:44:57] [2/2] I've asked the questions, so now we have to see. [23:30:17] It is a good request imho. So I would have created it. He has given the details necessary