[01:01:51] Update: changing the type to `List (,) of String` works fine, for reasons unclear to me. So it goes. [01:12:16] https://issue-tracker.miraheze.org/T14728 [01:12:25] Looks like you already figured out the workaround [01:32:53] there is like 10mm of ice on my entire fucking drive way [01:34:11] . [01:38:33] That's fair [02:00:12] Is there any page that lists duplicated images? [02:03:50] Special:ListDuplicatedFiles [02:11:42] Thank you! [02:35:24] [1/2] oh noooo [02:35:25] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456475941315543145/image.png?ex=6958806c&is=69572eec&hm=08dea8126b2288af71bcf95a305dd0cd9c8fd7446672d0c53529f9aa3b2e3fde& [02:40:58] Anyone got template optimization tips? :P [02:41:29] Works great with `|limit=10`, at least [03:40:37] hi, every image is suddenly failing to load on phightingwiki, is this just us? [03:40:48] oh boy [03:41:01] hm, any page in particular? [03:41:02] when i go to open the static url i get hit with a cloudflare bot check [03:41:14] [1/3] seemingly every page [03:41:15] [2/3] https://cdn.discordapp.com/attachments/407537962553966603/1456492508820541657/image.png?ex=69588fda&is=69573e5a&hm=8c8cf316e995aa6ad72a2af5c8a75a5f0bc7a2a4f23f489a80bda49b1135ae6f& [03:41:15] [3/3] https://cdn.discordapp.com/attachments/407537962553966603/1456492509390962719/image.png?ex=69588fda&is=69573e5a&hm=e58306426aa19181a60d595e8c3fc14b90f3d669da28ed6edffaa9160e916866& [03:41:26] [1/2] ive ctrl + f5 and checked several pages [03:41:26] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456492558682296503/image.png?ex=69588fe6&is=69573e66&hm=3548742f5ad9cd7e53c48916f3720c0cfa807836ffd2b00461efb465ee528567& [03:41:30] i am using a vpn, idk if thats why [03:41:50] That's likely [03:41:56] ive had no issues up until now :s let me see [03:42:09] ugh ok yeah i guess this ip got blocked, ill cycle, thanks LOL [03:42:22] that fixed it hooray [04:03:35] Is there a function to pick just one and replace all instances of duplicate files with the chosen one? [04:04:13] unfortunately no, you'll have to do it manually or with the help of (semi-)automated tools [04:04:25] 💀 [04:25:03] i dont have snow in my country [08:06:01] Does Miraheze follow WMF's system, frame and concept? [08:08:56] Is there a template I can use for tour dates? [08:09:00] That would look like this [08:09:29] https://cdn.discordapp.com/attachments/407537962553966603/1456560013920309323/Screenshot_20260102-020915.png?ex=6958ceb8&is=69577d38&hm=411ea40161886b333d617d1d698a8c02c9fbc348481ad003878f350a657f7f1b& [09:41:09] not as far as I'm aware but a module could probably do that quite easily [09:45:36] I still have no idea what you're talking about [09:49:31] https://discord.com/channels/407504499280707585/615786602454581249/1424984627885379614 might help? [09:52:41] it could also be possible to load the tags in with javascript [09:55:55] but basically when you're trying to load the GameLabel template more than 1000 times on one page it's going to be big [10:03:31] If you just want a table, try https://www.tablesgenerator.com/mediawiki_tables [10:03:34] also what is the point of the `game-label-inner-2` span? it appears to just have the styles of the `game-label-inner-1` span. At the scale of thousands of uses the extra 40 characters really adds up [10:26:28] [1/2] I didn't actually expect this to work, I thought it would only knock off like 150k bytes but it looks to have done >500k [10:26:28] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456594488230281290/image.png?ex=6958eed4&is=69579d54&hm=8e43b3efcc6f0b762bc84b2dee53d0da527851d8c4e1550c7277609c22ee0de5& [11:32:17] is it not allowed to create a newer wiki based of a previous one if its also on miraheze [11:34:14] [[Content Policy]] forbids duplicate wikis without good reason, yeah [11:34:15] [11:34:33] oh alright [11:47:09] Does Miraheze follows something coming from Wikipedia? [11:47:52] why are you keep asking this [11:48:08] It depends if it makes sense too [11:48:20] democratic kind of community governing, sure, like voting, requests for comments [11:48:23] Wikipedia doing it can be both a good and a bad thing [11:49:54] insecure extensions- [11:50:08] or, well, literal bombs [16:24:12] The purpose is I'm bad at CSS. [16:25:08] I love all of you, you're collectively unreasonably helpful [16:27:22] [1/2] Wait, is the template stylesheet transcluded for every single use of the template? [16:27:22] [2/2] I should just move the styles into `common.css`... [16:28:37] I have no idea but it does affect one of the things [16:29:01] PetraMagna used a hack with the variables extension so that it would only end up being defined once [16:33:34] I was also contemplating using a lua module to do the rendering, but I'm not actually sure if that would solve the problem. [16:34:20] Ultimately I probably need to figure out how to reduce the size by ~5x, to allow for long term site expansion [16:34:47] it could render slightly faster but I don't know if it will affect post-expand include size much [16:34:54] Makes sense [16:35:02] might as well try that next 😈 [16:35:31] I'll see if I can optimize the existing template jenga tower anywhere first. [16:35:33] I guess if you can remove a call to the wikitext parser that's always good [16:35:50] I really have no idea what best practices are for template design [16:36:42] first things first, make it functiona; to your wikis needs. secondly, add your style to it [16:41:14] there's nothing set in stone really, the one thing I would say is that if you notice a problem (such as performance in this case) it should be addressed [16:41:33] I have found it helpful to look about wikipedia or other wikis, just to see if anything catches my fancy. It's not always helpful, but it can spark up a thought of needing something. [16:42:25] okay I lied, `onlyinclude` and Lua are your friends and should be used [17:23:07] @starshell I made a change to the module which reduced the size by 500k just by moving the calling to Lua. I don't know whether that was from removing the preprocessor calls or templatestyles transclusion but seems to have done something [18:17:13] [1/2] how can I get rid of the title on my page, at least the main page? [18:17:13] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456712955381940386/image.png?ex=69595d28&is=69580ba8&hm=721bdba623620880cee6b308b0a13f2228c8a73686903885294d7916fa58f0bc& [18:18:49] I would like it on other pages but NOT the main page [18:19:46] [1/3] `NOTITLE` magic word or blank these pages: [18:19:46] [2/3] MediaWiki:mainpage-title [18:19:46] [3/3] MediaWiki:mainpage-title-loggedin [18:20:25] yippee [18:20:26] ty [18:21:13] [1/2] May have to enable the NoTitle extension [18:21:14] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456713964141543566/image.png?ex=69595e19&is=69580c99&hm=e0dee6ea86ccdd523ddce8c3fffa0150d0abdf8ab1f8c9a9ca207eb8e7258278& [18:21:19] ok ok ty [18:21:40] i appreciate it twin [18:21:44] Hey how can I set the logging bot for my wiki [18:22:27] manage this wiki's additional settings [18:22:29] notifications [18:22:52] afterwards, your server → desired channel → webhooks → create one → copy url [18:28:46] Thank you!! [18:34:58] wait how do I get rid of the content box at the top [18:35:07] or is that only an editing thing? [18:38:09] [1/2] table of content? [18:38:09] [2/2] it appears automatically on 3 headings, but you put `NOTOC` to hide it [18:38:21] kk [18:38:40] also how do I use the magic words do I just put them in the text? [18:38:58] in source code yes [18:39:04] yes [18:39:05] usually at the very end [18:39:10] ohh okay i see [18:39:17] i thought it had to be at the top [18:39:19] 😭 [18:39:24] depends on word [18:39:45] [[mw:Help:Magic words]] [18:39:46] [18:39:57] alr thanks again [18:40:16] can be anywhere, just might be be neater at the bottom [19:18:40] what are the options in regards to pulling the data from external APIs on Miraheze? CSP refuses direct calls via js for example [19:25:06] External Data, an extension which can fetch web data and needs to be enabled by global staff, or submitting a request to add a domain to the CSP [19:25:37] ED fetches data into the parsing layer so you can use the data with parser functions and it’s baked into the page and such [19:25:50] If you want something more dynamic, would have to be the later [19:26:01] L [19:26:44] ie, a template that fetches mostly static price info, ED. Something that knows where the reader is and shows a localized price, JavaScript and CSP request [19:27:37] dynamic counter of specific number provided directly by games api which changes daily [19:28:57] Mmmmm, ED would probably work, only thing is cache may be a bit funky but depends on how imperative it is to immediately show the new data [19:29:02] And it’s also much faster to enable [19:29:23] CSP reviews can take a bit [19:29:34] it is not, as long as it refreshes eventually it would be fine [19:29:42] ok thanks [19:29:44] ED prob works then [19:29:53] [[mw:Extension:External Data]] [19:29:54] [19:30:15] If you need a hand, lmk, I’m not expert but I’ve had a run at getting it to work before so I have some level of experience [19:30:42] cheers, well for now i just need it enabled then since it is restricted extension [19:32:19] [[SR/RC]] [19:32:20] [19:32:26] I also have the button powers to turn it on [19:33:25] yeah im there already, checking out the request format [19:37:02] done [19:39:46] :DoneMH: [19:39:53] Cheers 🙂 [19:42:05] button powers are awesome fr [19:42:22] when they work lol [19:42:33] lmao [19:42:34] wiki mechanic are actually pretty limited on SR/RC [19:42:41] bc anything in core is offlimits [19:42:50] so stuff relating to the domain [19:42:54] and also private wikis [19:43:50] just sign an NDA and become a steward, it's that easy ;] [19:44:02] LMAO no its not [19:44:12] i jest lmaoo [19:44:14] NDA aside i'd need to put real thought into a RfS [19:44:54] There's a lot of things to Stewardship that people outside CVT don't see that ain't pretty [19:46:12] i bet. there's a lot of PII, inappropriate content, and sockpuppetry to go around.. [19:46:32] i am a hopeful CVT member, so maybe one day I will see exactly what [19:47:41] The stuff I’m talking about is the stuff you don’t want to see lol [19:47:48] Global Admin isn’t as bad [19:48:29] We deal with some shit but the really ugly stuff is Steward terf, them and T&S have the worst of it [19:48:47] (ie CSAM and stuff is T&S) [19:49:28] Trust and Safety? You get to deal with occassional CSAM and threats [19:49:40] steward is less ugly, but only a little [19:50:25] oh btw, when I am eligible, would you recommend hopping straight to GA, or going for GP first? [19:50:28] It's more complicated [19:50:31] GP [19:51:11] GA should be a much higher bar due to their position as Steward adjacent and do deal with some level of non NDA personal information (CVT email) [19:51:58] The Global Patroller expansion a while back also means that GP are a formidable anti vandal force themselves, and can effectively deal with active vandalism without needing the GA powers [19:52:21] GA's additonal powers are much more stewardy [19:52:31] ie the new ability to action account renames [19:52:51] (G)(L)ocks which aren't usually needed at urgent notice [19:53:04] We also can't CU anyways [19:53:18] Don't want discord to think we are taking people out back, so to speak [19:54:01] In public channels it's just better to be safe than sorry [19:54:12] Fair enough [19:55:04] Yep, they have the ability to do local blocks, delete pages [19:55:15] Everything a local administrator would be able to do basically [19:55:24] Yeah [20:05:48] But yeah, would not recommend an RfGA [20:07:45] is the turf misspelling intentional [20:07:55] I didn't know JK Rowling was a Steward [20:08:24] LMAO [20:12:23] christ [20:12:25] waitr [20:12:30] [[wikt:terf]] [20:12:31] [20:12:58] so i learned something today [20:13:30] Re this: The user already has permissions. "Operator access", so to speak. I didn't notice this earlier, so the page still has to be deleted. Kind regards, [20:15:09] I’ll take a gander when I get back later today [20:15:26] Should still be informed of their mistake so they can place it properly [20:16:10] Let me do that, something like "in the future, if you don't have permissions, go to SRP, and they will give them to you" [20:16:32] Sure [20:33:17] https://cdn.discordapp.com/attachments/407537962553966603/1456747199806312674/image.png?ex=69597d0d&is=69582b8d&hm=a66e358cddd6019679a468786207a4f2602c3ad79bee943923ff64ea73ece729& [20:33:26] I've been chipping at Mongrels wiki for a while [20:33:43] I recently also had to deal with some false information [22:08:40] [1/21] I have a strange issue with making a module. [22:08:40] [2/21] My goal is to display data from an endpoint as a Wikitable. The endpoint in question returns JSON. More specifically a JSON array where each entry has a format similar to the following (There is more but I omitted unrelated data): [22:08:41] [3/21] ```json [22:08:41] [4/21] { [22:08:41] [5/21] "name": "R300", [22:08:42] [6/21] "operator": "Some Operator", [22:08:42] [7/21] "stations": [ [22:08:42] [8/21] "Station A", [22:08:42] [9/21] "Station B", [22:08:43] [10/21] "Station C" [22:08:43] [11/21] ], [22:08:43] [12/21] "status": "Running", [22:08:44] [13/21] "type": "public" [22:08:44] [14/21] } [22:08:45] [15/21] ``` [22:08:45] [16/21] My issue is, that `stations` is somehow treated as a String when it should be a table? [22:08:46] [17/21] The error I get is a bad argument type, where ipairs receives a string instead of a table for some reason. [22:08:46] [18/21] What I find odd is, that when I print the JSON itself using `mw.logObject`, it reports `stations` as a table. [22:08:47] [19/21] The module itself can be found here: [22:08:47] [20/21] [22:08:48] [21/21] The error itself happens on line 98 (`for _, station in ipairs(line['stations']) do`) [22:29:36] [1/2] logObject does a string for me ^^; [22:29:36] [2/2] [22:30:27] that's what confuses me... [22:32:02] use `data.__json` [22:32:04] ...for some reason [22:32:06] https://rainverse.wiki/wiki/Special:ApiSandbox#action=scribunto-console&format=json&origin=*&title=1&question=local%20trains%20%3D%20mw.ext.externalData.getExternalData(%22https%3A%2F%2Frailinfo.juliandev02.me%2Fapi%2Flines%22)%0Amw.logObject(trains.__json%5B1%5D%5B%22stations%22%5D)&token=%2B%5C&formatversion=2 [22:33:35] So `line.__json['stations']`? [22:34:30] `ipairs(trains.__json)` on line 89 [22:34:40] alternatively, have _fetchData return `data.__json` [22:36:25] [1/2] Also, just for my own sanity is here an entry from the output when I use my `p.debug` function to log the content. [22:36:25] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1456778186225618974/image.png?ex=695999e9&is=69584869&hm=db7f199bd0ad3c4be79972b515cfd69ccff6fdd0db74a737b9cb5dfb5e83c782& [22:37:08] full output? [22:37:08] Also, the data.__json thing works. Thanks [22:37:23] yeah, no idea why we need it lol [22:37:38] i would go figure it out for my own curiosity, but i have another rabbit hole i'm digging :p [22:39:06] Not sure how I should share the output. Links seem to be blocked? [22:39:16] #verify [22:40:11] [1/2] Here's the full output [22:40:11] [2/2] https://hastebin.com/share/utuxudihay.perl