[00:05:42] https://cdn.discordapp.com/attachments/1006789349498699827/1310758342477611129/image.png?ex=67466255&is=674510d5&hm=1c7128ff6ed6aedf25b0ca11a5e0dbd573719caa88928a8debf7b8c12b5f9ab6& [00:05:56] That is all I get! [00:07:04] [1/2] And again [00:07:04] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1310758687614173275/image.png?ex=674662a7&is=67451127&hm=a673c8c327966a92e62df4dd8c0c2bb1eccd05698810edb303354f678c966cbc& [00:09:58] Says cloudflare [00:10:58] it's CF then [00:11:01] but that's so odd [00:16:05] > A “Error 503: Service Temporarily Unavailable” with “Cloudflare” means you are hitting a connection limit in a Cloudflare data center. When this happens, please contact Cloudflare Customer Support. Include as many of the details mentioned in the Quick Fix Ideas as possible. [00:23:27] https://commons.miraheze.org/wiki/Module:Message_box/ambox.css [00:23:44] Trying to create this. 6 times after one another I get this [00:23:47] You try? [00:23:59] ⬆️ [00:25:48] Hmmm, Now I can create it [01:06:01] [1/4] Can someone help me understand why this template doesn't show? [01:06:01] [2/4] https://commons.miraheze.org/wiki/Template:Sockpuppet [01:06:01] [3/4] https://commons.miraheze.org/wiki/User:RedaktorNGB [01:06:02] [4/4] The Category is working, but the Template is not showing up [01:12:46] Template is also broken on meta [01:13:04] https://meta.miraheze.org/wiki/User:Sunsets_are_Pretty [01:13:46] Hmm. Might have to find a simpler version then [01:14:11] I copied it first from Test wiki then from Meta [01:14:22] Or we could try fixing it [01:14:44] I have no idea how, as where the error is resulting from [01:15:07] I can give it a try later if you remind me [01:15:20] Okay [01:15:30] I'll keep nagging [01:15:35] 😉 [01:15:47] I am off to bed now [09:37:11] are we affected by https://apnews.com/article/australia-social-media-children-ban-e02305486cb44aa07dcaf2964bec4e3d? [09:37:30] here's the bill: https://www.aph.gov.au/Parliamentary_Business/Bills_Legislation/Bills_Search_Results/Result?bId=r7284 [10:52:09] BlankEclair: no ifea [10:59:26] RhinosF1: do you want me to quote the part on "age-restricted social media platforms"? [11:28:08] hmmm [11:59:22] BlankEclair: are we a social media platform [11:59:45] RhinosF1: despite the name, an age-restricted social media platform need not be a social media platform [12:02:09] > 63C Age-restricted social media platform [12:02:11] > (1) For the purposes of this Act, age-restricted social media platform means: [12:02:12] > (a) an electronic service that satisfies the following conditions: [12:02:14] > (i) the sole purpose, or a significant purpose, of the service is to enable online social interaction between 2 or more end-users; [12:02:15] > (ii) the service allows end-users to link to, or interact with, some or all of the other end-users; [12:02:17] > (iii) the service allows end-users to post material on the service; [12:02:18] > (iv) such other conditions (if any) as are set out in the legislative rules; or [12:02:20] > (b) an electronic service specified in the legislative rules; but does not include a service mentioned in subsection (6). [12:02:21] > Note 1: Online social interaction does not include (for example) online business interaction. [12:02:23] > Note 2: An age-restricted social media platform may be, but is not necessarily, a social media service under section 13. [12:02:24] > Note 3: For specification by class, see subsection 13(3) of the Legislation Act 2003. [12:02:37] (1)(a)(i) may be met by talk pages or Special:EmailUser [12:04:20] BlankEclair: does any or all apply to 63C [12:05:06] If it's any, ye we are [12:05:15] If it's all, I'd question (a)(i) [12:05:20] > (6) An electronic service is not an age-restricted social media platform if: [12:05:22] > (a) none of the material on the service is accessible to, or delivered to, one or more end-users in Australia; or [12:05:23] > (b) the service is specified in the legislative rules. [12:05:25] > Note: For specification by class, see subsection 13(3) of the Legislation Act 2003. [12:05:47] frankly, unsure if it's any or all [12:05:53] i'm assuming all, but ianal [12:07:13] BlankEclair: I'm inclined to say we do then [12:07:41] I guess 13-15 year olds in aus are a problem [12:09:55] are discussions on how to run the platform, the wiki, its rules, edits etc, volunteers acting basically as tech support, fall into business interactions? [12:11:58] (a)i is definitely not Miraheze, its significant purpose is running wiki sites, and that require some kind of intersection between users, like it's logical ... [12:12:13] this is so silly [13:16:06] BlankEclair i'm wondering if you know why https://github.com/miraheze/GlobalNewFiles/blob/36a55d0d7dec95f519f492121727186abd53678b/includes/jobs/GlobalNewFilesInsertJob.php#L27C30-L27C41 will return 0 sometimes. [13:16:09] should we more or less provide access to replaceTextEligible to stewards instead of the tech team? [13:16:13] it's a bug and i just can't figure it out [13:16:20] i tried using eval which works for me [13:16:37] it's like [13:16:40] 12:16 [13:16:43] but okay [13:16:49] but on https://meta.miraheze.org/wiki/Special:GlobalNewFiles it's showing a lot of Special:CentralAuth because the user id is 0 in the globalnewfiles table [13:17:19] [1/10] ``` [13:17:20] [2/10] > $services = MediaWiki\MediaWikiServices::getInstance(); [13:17:20] [3/10] > $title = Title::newFromText( 'File:Flag of Macau.svg.png' ); [13:17:20] [4/10] > $uploadedFile = $services->getRepoGroup()->getLocalRepo()->newFile( $title ); [13:17:21] [5/10] > $centralIdLookup = $services->getCentralIdLookup(); [13:17:21] [6/10] > $linkR = $services->getLinkRenderer(); [13:17:21] [7/10] > $nu = $centralIdLookup->centralIdFromLocalUser( $uploadedFile->getUploader( File::RAW ) ?? NULL); [13:17:21] [8/10] > var_dump($linkR->makeLink( SpecialPage::getTitleFor( 'CentralAuth', $centralIdLookup->nameFromCentralId( $nu ) ), $centralIdLookup->nameFromCentralId( $nu ) ) ); [13:17:22] [9/10] string(115) "EurovisionFan97/a" [13:17:22] [10/10] ``` [13:17:42] but the user is 0 in the db. I just don't know why it's doing that. [13:21:30] i've filed https://issue-tracker.miraheze.org/T12932 [13:22:46] congrats, you rediscovered T12339 xD [13:25:01] wait why do we even showoh [13:27:26] paladox: i'm surprised the code works at all [13:27:33] oh? [13:27:39] from my understanding, we don't even fetch the user [13:27:45] unless if there's some implied loading i missed [13:27:57] https://github.com/miraheze/GlobalNewFiles/blob/36a55d0d7dec95f519f492121727186abd53678b/includes/jobs/GlobalNewFilesInsertJob.php#L23-L28 [13:28:16] we call LocalRepo::newFile() and then File::getUploader() [13:28:25] yeh [13:28:30] our use of newFile() calls fileFactory: https://doc.wikimedia.org/mediawiki-core/master/php/FileRepo_8php_source.html#l00427 [13:29:04] our file factory for LocalFile (our LocalRepo) is LocalFile::newFromTitle() (no link to line, sry): https://doc.wikimedia.org/mediawiki-core/master/php/LocalRepo_8php_source.html [13:29:15] the thing is it works locally for me which i don't understand why [13:29:29] oh okay [13:29:48] see the example i gave above [13:29:56] or you can see the task you closed as duplicate [13:29:59] oh wait [13:30:07] i just literally just missed the $this->load() [13:33:42] lol i'm tempted to debug in prod [13:36:27] paladox: you up to be my shell.php? [13:37:17] i'm in eval [13:37:27] eh, close enough [13:37:37] $services = MediaWikiServices::getInstance(); [13:38:05] yup, inputted [13:38:20] same wiki as the one with the bug you filed? [13:38:31] yeh [13:38:34] and was that file uploaded within the past week? [13:39:22] yeh, it's on https://meta.miraheze.org/wiki/Special:GlobalNewFiles [13:39:25] https://cdn.discordapp.com/attachments/1006789349498699827/1310963122227380244/Screenshot_2024-11-26_at_13.39.20.png?ex=6747210c&is=6745cf8c&hm=64c36bb0571b3e358bb093e8990fddade73240bdee826319f6612c6db66d6d27& [13:39:28] https://cdn.discordapp.com/attachments/1006789349498699827/1310963122227380244/Screenshot_2024-11-26_at_13.39.20.png?ex=6747210c&is=6745cf8c&hm=64c36bb0571b3e358bb093e8990fddade73240bdee826319f6612c6db66d6d27& [13:40:55] ight cool [13:41:00] $title = Title::newFromText( 'File:Flag of Macau.svg.png' ); [13:41:08] $uploadedFile = $services->getRepoGroup()->getLocalRepo()->newFile( $title ); [13:41:40] $key = $uploadedFile->getRepo()->getSharedCacheKey( 'file', sha1( $uploadedFile->getName() ) ); [13:41:53] $ttl = 'meow'; [13:42:18] $cached = $services->getMainWANObjectCache()->get($key, $ttl); [13:42:22] var_dump($ttl); [13:42:25] var_dump($cached); [13:43:26] [1/59] ``` [13:43:27] [2/59] > $services = MediaWiki\MediaWikiServices::getInstance(); [13:43:27] [3/59] > $title = Title::newFromText( 'File:Flag of Macau.svg.png' ); [13:43:27] [4/59] > $uploadedFile = $services->getRepoGroup()->getLocalRepo()->newFile( $title ); [13:43:28] [5/59] > $key = $uploadedFile->getRepo()->getSharedCacheKey( 'file', sha1( $uploadedFile->getName() ) ); [13:43:28] [6/59] > var_dump($key); [13:43:28] [7/59] string(74) "global:filerepo-file:bloomingwiki:209a1abc3f84591ba147b6e92ffc1ba155f0dc01" [13:43:28] [8/59] > $ttl = 'meow'; [13:43:29] [9/59] > $cached = $services->getMainWANObjectCache()->get($key, $ttl); [13:43:29] [10/59] > var_dump($ttl); [13:43:29] [11/59] float(253.99172019958496) [13:43:30] [12/59] > var_dump($cached); [13:43:30] [13/59] array(14) { [13:43:31] [14/59] ["fileExists"]=> [13:43:31] [15/59] bool(true) [13:43:32] [16/59] ["size"]=> [13:43:32] [17/59] int(64590) [13:43:33] [18/59] ["width"]=> [13:43:33] [19/59] int(2000) [13:43:34] [20/59] ["height"]=> [13:43:34] [21/59] int(1333) [13:43:35] [22/59] ["bits"]=> [13:43:35] [23/59] int(8) [13:43:36] [24/59] ["media_type"]=> [13:43:36] [25/59] string(6) "BITMAP" [13:43:37] [26/59] ["major_mime"]=> [13:43:37] [27/59] string(5) "image" [13:43:38] [28/59] ["minor_mime"]=> [13:43:38] [29/59] string(3) "png" [13:43:39] [30/59] ["timestamp"]=> [13:43:39] [31/59] string(14) "20241126123344" [13:43:40] [32/59] ["sha1"]=> [13:43:40] [33/59] string(31) "2qaycg0ncexuulnjv40j9xfoybq55rp" [13:43:41] [34/59] ["description"]=> [13:43:41] [35/59] string(0) "" [13:43:42] [36/59] ["user"]=> [13:43:42] [37/59] int(2) [13:43:43] [38/59] ["user_text"]=> [13:43:43] [39/59] string(15) "EurovisionFan97" [13:44:36] chat we got the relay kicked for flood [13:44:46] for like 1m but still lol [13:46:25] oh [13:46:59] BlankEclair: https://issue-tracker.miraheze.org/P530 [13:47:53] $user = new UserIdentityValue($cached['user'], $cached['user_text']); [13:49:31] var_dump($services->getCentralIdLookup()->centralIdFromLocalUser($user)); [13:50:06] UserIdentityValue doesn't exist [13:50:29] oh namespaced [13:50:30] MediaWiki\User [13:50:31] use MediaWiki\User\UserIdentityValue; and reexec those two [13:50:59] [1/5] ``` [13:50:59] [2/5] > $user = new MediaWiki\User\UserIdentityValue($cached['user'], $cached['user_text']); [13:51:00] [3/5] > var_dump($services->getCentralIdLookup()->centralIdFromLocalUser($user)); [13:51:00] [4/5] int(374024) [13:51:00] [5/5] ``` [13:51:17] you got that right [13:51:44] i'll be going out in a few minutes [13:52:13] $uploadedFile = $services->getRepoGroup()->getLocalRepo()->newFile( $title ); [13:52:23] $uploadedFile->load( IDBAccessObject::READ_LATEST ) [13:52:57] 👍 [13:53:11] var_dump($services->getCentralIdLookup()->centralIdFromLocalUser($uploadedFile->getUploader(LocalFile::RAW))); [13:54:40] https://issue-tracker.miraheze.org/P531 [13:55:27] ¯\_(ツ)_/¯ then [13:55:48] dunno what to do unless if you put debug prints in prod or attach a debugging to prod [13:58:01] Do you mind adding some debug lines to https://github.com/miraheze/GlobalNewFiles/blob/36a55d0d7dec95f519f492121727186abd53678b/includes/jobs/GlobalNewFilesInsertJob.php#L27 please? [13:58:07] i could deploy [13:58:51] how does mediawiki debugging infrastructure look like? [13:59:12] like, how log into logstash [13:59:12] you can use the logger [13:59:23] https://github.com/miraheze/MatomoAnalytics/blob/1c9621b6496151a3b300b7895faf72906ff3e4af/includes/MatomoAnalytics.php#L20 [13:59:43] ty! [14:00:37] we can add the channel to https://github.com/miraheze/mw-config/blob/master/LocalSettings.php#L6820 [14:00:44] should the logger be called GlobalNewFiles or GlobalNewFilesInsertJob [14:02:25] GlobalNewFiles then it is [14:23:02] 👍 [14:24:04] https://github.com/miraheze/GlobalNewFiles/pull/75 [14:24:14] test on mirabeta first to make sure it doesn't blow up the entire farm please [14:24:44] after it is merged, can you add the logging channels to mw-config for me please? ty [14:24:49] debug and up [14:26:04] paladox: i'll leave merging that pr up to you [14:26:25] normally, i test my things, but it's 1:26 and i know that i'm gonna sorely miss my blahaj in around five hours [14:26:31] I’ll merge later [14:26:33] Currently out [14:26:34] oki [14:27:22] The null check, wouldn’t it be 0? [14:28:35] huh? [14:28:52] eh, i can convert it to !$uploader [14:28:54] that alright? [14:30:53] commit pushed [14:32:09] nini [14:33:49] Night [15:07:41] > GlobalNewFilesInsertJob: Cached data for Gb3s261124b.jpg (TTL: 86397.058656931): array{\"fileExists\":false,\"metadata\":[]} [15:07:45] BlankEclair ^ [15:24:06] oh maybe the cache needs clearing? [15:25:25] dunno how'd you do that tho [15:37:24] Think she’s disconnected [15:37:37] Rm -rf? [15:48:40] are we using the wrong hook or something [15:56:56] oh maybe it's not the cache. Idk [16:01:56] wonder why we even using a job for it anyways. Was added in https://github.com/miraheze/GlobalNewFiles/pull/12 [16:46:53] we could just use the current request user. [16:47:46] i also not sure why we use a job. thought we could do something like https://github.com/wikimedia/mediawiki-extensions-MediaModeration/blob/8c6a25d695f9b34b65e1f2601ae1ffb3ab7aa1f3/src/Hooks/Handlers/UploadCompleteHandler.php#L67 [16:51:28] might’ve been due to performance in the old infra [17:16:06] is the hook called before or after the upload i wonder [17:16:14] since fileExists is false [17:25:24] we have wgEnableAsyncUploads enabled i think? [17:25:51] oh we don't [17:25:56] hold on let me enable that. [21:26:30] [1/2] There is a new Extension: [21:26:31] [2/2] https://www.mediawiki.org/wiki/Translator_Buddy [21:27:30] This might be useful for META? or other wiki's? [21:28:39] yeah, looks like a good addition tbh [21:28:48] perhaps file an extension request [21:29:52] I have no use for it, so I leave it to those who need it. [21:30:06] Feel free to do it yourself 😉 [22:05:01] Not an extension [22:10:36] Yeah, it seems to be a gadget indeed [22:10:40] Sorry [22:27:50] As prommised, I'll nag you with https://commons.miraheze.org/wiki/Template:Sockpuppet . Could you look at it? [22:29:06] Oh yeeeeaaaaaaaa [22:29:14] I brought it up with meta admin’s yesterday [22:29:27] I’d either have to make breaking changes or mass edit the uses so I’ll see [22:30:32] Thanks for the reply [22:31:20] Would be good to have one for Dev wiki also, so other wiki's can use it for their own wiki's as well [22:39:47] Honestly since sock locks are global it may be better to just delete the local user page and put one on the loginwiki page so it shows on all wikis [23:15:47] That’d be smart [23:16:06] but not all sockpuppets require a notice posted to their user page [23:25:36] that's the thing, it's not a template with any consistent use [23:25:47] or a great deal of need tbh [23:27:02] indeed [23:27:41] they’re only really needed when the sock might’ve done a great deal of editing and might’ve even established themselves in the community vs collateral of a CheckUser expedition [23:29:36] pretty much