[01:35:50] quick question here: what are the endpoints for the OAuth2 here? [01:57:40] cccccbbnuvginhihvjhcknnnlkkchgrnlvkdrvkjlebe [02:04:27] same as default MW [02:04:40] @reception123 my current graphing code sux and dont work rn gimi a sec [02:08:45] is it normal for it to be 404 when accessed in a browser? [02:09:16] what path are you using? [02:14:56] > same as default MW [02:16:48] ah nevermind, I have to put response type there too [02:17:47] which I think are already handled by the plugin itself... [02:24:21] [1/2] hm [02:24:21] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1295572946752110612/fPK3K2Q.png?ex=670f23d5&is=670dd255&hm=f1e708f982939cdbc2add0478d65e78901ca24d93de131f597d3bae54528bb27& [02:26:51] gonna be honest noidea if this is accurate but fuck it its late im tired [02:26:55] [1/45] ```py [02:26:55] [2/45] import re [02:26:55] [3/45] import tqdm [02:26:56] [4/45] file_path = "./RequestWiki_timestamps_from_2_August_2015_until_26_September_2024.txt" [02:26:56] [5/45] try: [02:26:56] [6/45] with open(file_path, "r") as file: [02:26:56] [7/45] contents = file.read() [02:26:57] [8/45] lines = contents.split('\n') [02:26:57] [9/45] temp = '\n'.join(lines[1:50001]) [02:26:57] [10/45] regex = r"([0-9]{1,6}) *([0-9]{14})" [02:26:58] [11/45] matches = {} [02:26:58] [12/45] for t in tqdm.tqdm(temp.split('\n')): [02:26:59] [13/45] test = t.split() [02:26:59] [14/45] try: [02:27:00] [15/45] matches[test[0]] = test[1] [02:27:00] [16/45] except IndexError: [02:27:01] [17/45] print("-------------------") [02:27:01] [18/45] print(test) [02:27:02] [19/45] print("-------------------") [02:27:02] [20/45] # print(matches) [02:27:03] [21/45] except FileNotFoundError: [02:27:03] [22/45] print("File not found.") [02:27:04] [23/45] import matplotlib.pyplot as plt [02:27:04] [24/45] import datetime [02:27:05] [25/45] timestamps = list(matches.values()) [02:27:05] [26/45] ids = list(matches.keys()) [02:27:06] [27/45] import matplotlib.pyplot as plt [02:27:06] [28/45] import matplotlib.dates as mdates [02:27:07] [29/45] import matplotlib.ticker as ticker [02:27:07] [30/45] timestamps = [datetime.datetime.strptime(ts, "%Y%m%d%H%M%S") for ts in timestamps] [02:27:08] [31/45] timestamps.sort() [02:27:08] [32/45] # Create a figure and axis [02:27:09] [33/45] fig, ax = plt.subplots() [02:27:09] [34/45] # Plot the slope as a line [02:27:10] [35/45] ax.plot(timestamps, ids, color='orange', linewidth=2) [02:27:10] [36/45] ax.yaxis.set_major_locator(ticker.MultipleLocator(5000)) [02:27:11] [37/45] # Set labels and title [02:27:11] [38/45] plt.xlabel('Timestamp') [02:27:12] [39/45] plt.ylabel('Slope') [02:27:12] [40/45] plt.title('Miraheze Wiki Requests Over Time') [02:27:13] [41/45] # Rotate x-axis labels for better visibility [02:27:13] [42/45] plt.xticks(rotation=45) [02:27:14] [43/45] # Show the plot [02:27:14] [44/45] plt.show() [02:27:15] [45/45] ``` [02:28:28] can i gets this with timestamp plz [02:28:48] also what is this spacing scheme where is this list from [03:41:23] there are no bad ideas [03:41:44] they can all lead to improvement in one way or antihero [03:41:52] *another (darn autocorrect) [03:42:12] if they say they aren’t then at least we tried [05:26:23] gu_registration is the timestamp [06:05:06] two more not created wiki reported at [[community portal]] [06:05:07] [06:29:49] wikis are using the subdomain followed by “wiki” on the wiki not found pages [06:30:11] for instance going to https://thiswikicouldnotpossiblyexist.miraheze.org and clicking create wiki [06:30:43] https://cdn.discordapp.com/attachments/1006789349498699827/1295634948040163328/IMG_5478.png?ex=670f5d93&is=670e0c13&hm=af2f9e2e710fd9cfe28514cbe2e6a78164d441a565748bbb67119b6cd65ea194& [06:30:49] it gets filled in with that [06:31:38] at this point we should put something in place [06:32:12] someone should just go through and double check all the approved requests to ensure they actually got made until we figure out what’s wrong here [06:34:56] the "wiki" is added to subdomain, it's a database name [06:35:21] my wiki's subdomain is "softcell", so database is "softcellwiki" [06:35:39] right that’s all well and good [06:36:00] I don’t think it should be pre-filling the domain names with the database names though [06:36:29] will have to wait for CA, I guess [06:36:46] if I click a button on foo.miraheze.org to create a wiki at that domain it shouldn’t autofill it to request a wiki at foowiki.miraheze,org [06:37:02] some users do make subdomains w/ "wiki" tho [06:37:10] some do but [06:37:15] leading to "...wikiwiki" db name [06:37:51] why only few wikis get borked tho [06:38:06] makes sense to have it in the database names, I get that [06:38:26] no this is a CreateWiki issue [06:38:41] so on nonexistent domains now there’s a button to “create this wiki” [06:39:14] I mean, yeah? CreateWiki is borked [06:39:14] when you push that button it takes you to the request form with the domain already filled in [06:39:37] Ye this is a bug [06:39:43] the problem is that when you push the button on domain.miraheze.org, it fills in the subdomain in your request as domainwiki.miraheze.org [06:39:45] It's probably with ErrorPages though [06:40:04] figured it was one of the two [06:40:16] I was actually kinda leaning towards ErrorPages lol [06:40:32] well [06:40:42] at least that means it’s easier(?) to fix [06:41:24] https://github.com/miraheze/ErrorPages/blob/master/MissingWiki.php#L10 is at fault [06:42:11] I'll do a patch now [06:42:15] ah [06:42:30] so all we gotta do is remove the final “wiki” from that before feeding it into the form [06:42:48] not all instances of “wiki” though [06:42:56] that would be a very similar problem in the making [06:43:52] https://github.com/miraheze/ErrorPages/pull/52 [06:43:57] That should work [06:44:10] it's passing wgDBName which always ends with wiki on prod [06:44:32] You can just cut off the last 4 characters [06:45:04] other question [06:45:06] @paladox can you review ? ^ [06:45:11] Go ahead [06:45:48] so if you go to https://chinafake.wiki/wiki/Chinafake_Wiki:Home the favicon works fine [06:46:16] Thanks @cosmicalpha [06:46:23] but if you go to https://chinafake.wiki/wiki/Special:SpecialPages (or any other special page, or the editor) you get the default MH favicon [06:46:37] No problem thanks for the patch [06:46:49] It should be setting wgFavicon regardless of the page [06:46:52] That's a good question [06:46:59] I don't see why that would differ [06:47:03] https://cdn.discordapp.com/attachments/1006789349498699827/1295639058156097537/IMG_5479.png?ex=670f6167&is=670e0fe7&hm=c39d9ba450b11055ba891dd8114b48de9e9e46a4f042342db22bb2d79562efba& [06:47:27] Can you view the page source and see what it's listed as [06:47:29] it seems to only occur on special pages and the editor and such, dynamic stuff if you will [06:47:37] ok hold on a sec [06:48:37] ``, same as ever [06:48:46] On both pages? [06:50:07] yep [06:50:09] is this an issue i'm too cursed to understand? https://files.catbox.moe/q5n9yk.png [06:50:16] my only guess is [06:50:30] Then that's entirely a google provlem [06:50:37] that perhaps the apple touch icon is being set in some way on one page but non the other [06:51:25] maybe [06:51:31] You on an apple device? [06:51:35] yeah [06:51:42] Could be [06:51:49] Maybe it's an apple problem then [06:52:01] yeah idk [06:52:21] I will have a more in depth look at a later date [06:52:40] if it is an actual failure with your infrastructure and not just safari being weird [06:52:44] then I will let you know [06:53:01] until then I guess I’ll just have to live with it [06:53:08] I blame apple [06:53:32] Reminds me of https://bash.toolforge.org/quip/AU7VU3dw6snAnmqnK_s3 [06:55:14] I hope apple eventually learnt Wikipedia had an API [06:55:56] BlankEclair: it's weird wonders of WebKit it seems [06:56:02] soundsfun [06:56:31] BlankEclair: ye sadly I have no contacts at apple to beat around the head unlike in the quip [06:57:07] i didn't expect my afternoon to be eaten up by writing a new mediawiki extension, but here we are [06:58:09] and i have my favorite: mediawiki alias files [06:58:13] BlankEclair: have you nerd sniped yourself into building an entire MediaWiki extension to make your own feature [06:58:22] es [06:58:23] yes [06:58:35] this time, it's allowing templates to specify their own edit notices [06:58:43] so that i don't have to repeat the same thing everywhere, reducing duplication [06:59:12] Cool [07:10:07] lmao https://phabricator.wikimedia.org/T25602#283617 [07:11:17] apple moment [07:13:10] I remember that text code to power someone elses phone off security bug in apple devices. [07:14:01] Yup [07:14:05] i love professional test strings: https://files.catbox.moe/jvsbly.png [07:14:18] I should test what they do now later [07:16:12] This was some sort of unicode bug IIRC [07:19:38] Fun random fact unicode was also the factor that caused PHP 6 to be skipped lol. [07:21:14] Trying to cover up their failure in PHP 6 so they skipped the whole number. It does make a bit of sense though PHP 7 and PHP 6 were totally different versions anyway. [07:21:23] lmao what [07:22:38] https://wiki.php.net/rfc/php6 [07:23:37] oh, ouch... [07:23:47] new extension dropped: https://git.average.name/BlankEclair/EditNoticePF :3 [07:24:34] [1/2] "Version 6 is generally associated with failure in the world of dynamic languages. PHP 6 was a failure; Perl 6 was a failure. It's actually associated with failure also outside the dynamic language world - MySQL 6 also existed but never released. The perception of version 6 as a failure - not as a superstition but as a real world fact (similar to the association of the word 'Vist [07:24:35] [2/2] a' with failure) - will reflect badly on this PHP version." [07:25:07] how did vista get associated with failure lmao [07:25:25] I have no idea lmao [07:25:53] I guess Windows vista [07:26:15] yeah... but not as pervasive as 6 [07:26:21] python is at 3.12 :3 [07:28:01] Wasn't pearl 6 technically released but as a different language entirely? [07:28:11] *perl [07:29:13] I guess it wasn't when that RfC was done though. [07:29:45] what are you writing BlankEclair [07:29:49] the extension i mean [07:30:01] theoneandonlylegroom: an extension that templates add custom edit notices [07:30:10] so that i can add a warning on all pages that use a specific template [07:30:29] only in editor? [07:30:42] so it's kinda like templatedata? [07:31:09] i... haven't tested yet actually [07:31:16] but it uses the same editnotice system, so i hope it does? [07:31:23] i mean, i hope it works in both source and visualeditor [07:32:01] I mean that you add something in template's code like TD's JSON for it to work in editor [07:32:10] oh, it's a parser function [07:32:18] {{#editnotice: page where the contents of the edit notice is displayed}} [07:32:22] noce [07:32:30] *nice lol [07:33:12] huh, "only" took me 2 hours and 15 minutes to create [07:35:59] wait [07:36:05] how about [07:36:35] does that mean the notice could include links to Template documentations? [07:39:26] you get wikitext in it [07:39:36] (well, the hook allows for html, but that's a bad idea so :p) [07:43:43] there we go: https://files.catbox.moe/kumr90.png [07:53:26] what the hook just that, a message w/ automated list of doc links, no user imput [07:53:31] *if [07:53:43] *input damnit [07:54:31] although I can see the use of manual message in pages w/ preloaded content [08:02:29] > [15/10/2024 18:53] what the hook just that, a message w/ automated list of doc links, no user imput [08:02:43] theoneandonlylegroom: TitleGetEditNotices [08:02:57] contrary to the documentation, the array is handled as html, not wikitext [10:11:42] ah [15:31:43] [1/2] do we have something like `jwks_uri` in oauth stuffs? [15:31:44] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1295771095831679097/c.png?ex=670fdc5f&is=670e8adf&hm=479a82e1d3f4ab2f3ed3a28cf90f4031b283353d146a6ecdd1f0295d65cf5fac& [15:56:02] no [15:57:26] So I guess that Zero Trust with MediaWiki auth are impossible to made... [16:00:48] Tf is jwks [21:07:06] Well OAuth and OIDC are not one in the same so [21:07:34] You are trying to use OIDC with MediaWiki's OAuth integration which will 100% never work because they are completelt different things. [21:10:40] Json web token key set [21:10:49] A way to verify that a jwt is authentic [21:11:15] Ah