User talk:Mr. Stradivarius/Archive 27

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Archive 20 Archive 25 Archive 26 Archive 27

Draftify script

Hey Mr. S., I'm a satisfied customer of your Draftify script, but I think a bug may have recently appeared: when I draftify userspace submissions, I have always checked "leave a redirect behind" but un-checked "Watch draft and user talk pages" to avoid blowing up my watchlist. The redirect piece works correctly, but the script is now adding both pages to my watchlist anyway: a pain. Is this a known issue? Perhaps introduced when the time-expiring watchlist feature was rolled out? I edit using Firefox; let me know if you find anything. Thanks, UnitedStatesian (talk) 03:12, 14 May 2021 (UTC)

@UnitedStatesian: Thanks for the bug report! I investigated this over at testwiki, and I was able to reproduce it with the Draftify script and with the API sandbox. However, the behaviour was slightly different than what you described - the target page was added to the watchlist, but the source page was not. Because the behaviour also occurred in the API sandbox, it seems to be a bug in the MediaWiki API, and not in the script. I'll have a look on the MediaWiki bug tracker and see if it's been reported already; if not, I'll file a new bug. By the way, if you always check "leave a redirect behind" and uncheck "watch draft and user talk pages", then you can make those options the default by putting the following code in User:UnitedStatesian/common.js before you import the Draftify script:
Draftify = {};
Draftify.redirect = true;
Draftify.watch = false;
That should save you a couple of clicks. Best — Mr. Stradivarius ♪ talk ♪ 10:00, 15 May 2021 (UTC)
It looks like I messed up the API sandbox parameters the first time, because when I tried it again with the API sandbox it didn't reproduce. So it is a problem with the script, after all. I've worked out where the problem is, but I'm not sure yet of the best way to fix it. Will return to this tomorrow. (By the way, it seems that the bug has been in the script from the beginning...) — Mr. Stradivarius ♪ talk ♪ 15:31, 15 May 2021 (UTC)
@UnitedStatesian: I've fixed the script - it should now respect the watchlist options that you select. In the process of fixing it I have added a new checkbox for "watch user talk page", and split the watch option into watchdraft, for watching the source and target pages, and watchusertalk, for watching the user talk page. So if you want to avoid adding any pages to your watchlist, the settings below are probably what you want:
Draftify = {};
Draftify.redirect = true;
Draftify.watchusertalk = false;
Draftify.watchdraft = false;
Hope this helps. — Mr. Stradivarius ♪ talk ♪ 04:13, 16 May 2021 (UTC)
Thanks Mr. S., really appreciate the help. Best, UnitedStatesian (talk) 20:12, 16 May 2021 (UTC)

Thanks!

Thanks for making the Example3 account! PWikiPW02 (talk) 15:40, 11 June 2021 (UTC)

@PWikiPW02: You're welcome. I made it because I needed it for the documentation of a template I was working on (Template:User-multi, if I remember correctly). — Mr. Stradivarius ♪ talk ♪ 10:09, 13 June 2021 (UTC)

Need your assistance at Module:Italic title

Hey, as the creator of Module:Italic title, could you add support for a |test= parameter that outputs the object right before obj:renderDisplayTitle() so I can setup testcases? I've made a change in the sandbox to correct an issue with a style of disambiguation, but I'd like to have testcases setup to make sure it covers all variations. I would do it, but I'm not sure how to hook up to the inner functions. I've also posted on the talk page of that module for an additional parameter if you get a change to check it out. Gonnym (talk) 13:46, 27 May 2021 (UTC)

@Gonnym: You can test the module without adding any new parameters if you patch frame:callParserFunction() - that way, instead of Module:Italic title calling the real callParserFunction, it calls a mock object that you have access to. The mock object remembers how it was called, and so you can make assertions about the call arguments afterwards. I've made a start on this at Module:Italic title/testcases. I used the "spy" object from Module:Lua-mock to patch callParserFunction. In addition to remembering how callParserFunction was called, the spy object then calls the real callParserFunction and returns the result, so the module output should be the same as usual.

In the test cases module I made a function to patch mw.title.getCurrentTitle() and another function to patch frame:callParserFunction(), both of which take functions as input. These functions patch their respective methods, run the function that you supply, and then revert the patched function to the original. This means that any code that you run outside of the function you supply will use the normal mw.title.getCurrentTitle and the normal frame:callParserFunction(), which should make it less likely that any other code breaks.

The patch functions are called in a for loop which loops over some sample test data. The for loop means that you only have to write the test code once and then you can call that test code with different data for each test; also, each test is a new test function, which makes it easier to see which test is failing when you look at the test results. However, the for loop plus the two patch functions makes for some not-so-readable code, which is maybe something that can be improved upon. Feel free to use that and add more test data, or delete it all and do something else entirely - it's fine by me. :) And feel free to ask if you have any questions or anything. Best — Mr. Stradivarius ♪ talk ♪ 13:31, 29 May 2021 (UTC)

I can't see the results of the tests at displayTitleTestData() at Module talk:Italic title/testcases in the "Expected" and "Actual" columns. How do I get them to appear there? --Gonnym (talk) 13:40, 29 May 2021 (UTC)
I also need to test ItalicDab but line 52 allows only the standard access and not the dab template. --Gonnym (talk) 13:46, 29 May 2021 (UTC)
@Gonnym: That's the default with Module:ScribuntoUnit - it doesn't show any of the details for passing test cases. If one of the test cases fails, it will show the details for that test. I like this behaviour, as it is easy to spot what is wrong if you have a lot of tests. If you want to see the details for passing tests too, though, feel free to switch the test cases to use Module:UnitTests - the patching functions should work whichever test runner you use. By the way, with ScribuntoUnit you can use =p.run() in the debug console when you are editing Module:Italic title/testcases to run the tests while you edit. That way you can check the test results without having to save the page and look at the talk page.

For testing italic dab, you can make another for loop with another set of test data, and inside that you can call the _dabonly function. I've done something similar at Module:Mock title/testcases if you want to see some examples of this in practice. — Mr. Stradivarius ♪ talk ♪ 14:03, 29 May 2021 (UTC)

Ok, so I've setup the tests but I don't see where to hook the assertSameResult() function from ScribuntoUnit so I can compare the sandbox results to the live results. Any idea? --Gonnym (talk) 14:20, 29 May 2021 (UTC)
@Gonnym: You can't really use assertSameResult with the patching approach, as it relies on the output of the module, but we are testing the input passed to the callParserFunction method. You would have to write some custom code to collect the inputs passed to callParserFunction when run with both the main module and the sandbox, and then compare those with ScribuntoUnit's assertEquals, or something like that. Personally, however, I would take a simpler approach. When you are satisfied that all the tests are correct, you can just change the local mItalicTitle = require('Module:Italic title') line to local mItalicTitle = require('Module:Italic title/sandbox'). All the test data is static, so the tests will still work with both modules. This is a better approach than comparing the modules with each other, as if something is broken in both the main module and the sandbox, then tests that compare the modules won't detect it, but tests that use static test data will. — Mr. Stradivarius ♪ talk ♪ 01:41, 30 May 2021 (UTC)
Ok I used that and it works. But I've got to say, adding a |test= parameter and using Module:UnitTests is much, much more simpler and elegant. Requiring massive code in tests is just needless headache and even then, we can't even see both the live and sandbox results at the same time (without writing again, huge amounts of code). And as an unpleasant, yet not really a big deal side effect, we're also causing the page to appear in the error category (Pages with disallowed DISPLAYTITLE modifications). Gonnym (talk) 08:45, 30 May 2021 (UTC)
@Gonnym: I wouldn't call 40 lines of code a huge amount - if you think that's a lot, then you should see the code I deal with in my day job. ;) And you just know that if you added a |test= parameter, then people would start using it for things it isn't intended for. Not to mention that by using a test parameter you wouldn't actually be testing what was passed to DISPLAYTITLE; just something close to what was passed to it. This means you could miss out on some details (e.g. the second argument to DISPLAYTITLE could get ignored). I wouldn't worry about comparing the main module directly with the sandbox - as I said, they might both be wrong, and direct comparisons will miss that. Instead, it's better to write all the tests so that they pass for the main module, then alter the tests and/or add more tests to reflect what you want to change in the sandbox, and then finally update the sandbox so that all the tests pass. (This is basically the methodology used in "Working Effectively with Legacy Code" by Michael Feathers, which I very highly recommend.) Best — Mr. Stradivarius ♪ talk ♪ 12:01, 31 May 2021 (UTC)
I meant "huge" compared to just passing the parameters without needing any additional logic (and if I'd like to see both results at the same time, that would mean additional code). But anyways, I guess that is the best option for now. Thanks for setting it up :) (also, could you please look at the module talk page, I added a request there which I don't know myself how to setup). --Gonnym (talk) 12:16, 31 May 2021 (UTC)
@Gonnym: Sorry, I don't have time to implement your request right now. Maybe at the weekend... it depends. Best — Mr. Stradivarius ♪ talk ♪ 11:27, 1 June 2021 (UTC)
Hey, I've done some work on the module and it now works. Not sure if this is how you would have done it though. Care to give it a look to see if you approve? The /testcases pass. Gonnym (talk) 10:58, 7 June 2021 (UTC)
@Gonnym: Looks good! If you want to be thorough, I see a few more things you could test. There's the |all= argument, the categories, and the noerror parameter to DISPLAYTITLE. And there might be some more corner cases with the title italics, though I can't think of any right now. How many tests you write depends how sure you want to be that you won't break anything before you make the change. — Mr. Stradivarius ♪ talk ♪ 12:51, 10 June 2021 (UTC)
|all= is tested in the 4th test (on the code page). I'm not sure how to test with this setup the categories or the noerror display. Gonnym (talk) 13:00, 10 June 2021 (UTC)

@Gonnym: The 4th test tests both the |string= and |all= parameters, but there is still the case where the |all= parameter is used without the |string= parameter. For noerror you can add the input to the args table, and the expected input to DISPLAYTITLE to the expectedDisplayTitleArgs table (this is why I made the expected DISPLAYTITLE input a table, and not a string). For the categories you need to write a new test - I've added one to the testcases page to get you started. Also, I thought of a title corner case - there currently aren't any tests for pages outside mainspace - for those pages, the module doesn't italicise the namespace name, which is something that should probably be checked. — Mr. Stradivarius ♪ talk ♪ 13:22, 10 June 2021 (UTC)

Ok, so the |all= test, namespace tests and category tests added. Still no idea how or even what to test with the |noerror=. --Gonnym (talk) 09:07, 11 June 2021 (UTC)
@Gonnym: I added the noerror tests for you. I also refactored the category tests to use a test data table - this performs the same tests with less code. I also undid my earlier edit to automatically test both Wikipedia-space and mainspace pages, as I think it made the test code a bit too complicated. (It's already complicated enough with the patching functions - it's probably not a good idea to make it even less readable.) Best — Mr. Stradivarius ♪ talk ♪ 10:06, 13 June 2021 (UTC)
Looks great, thanks! Do you think anything else is needed before it can go live? Gonnym (talk) 10:37, 13 June 2021 (UTC)
@Gonnym: I've added tests for a couple more corner cases. It looks good, as far as I can tell. If there are no other corner cases you can think of, I think it's OK to go live. (And if there are other corner cases that you can think of, add the tests for them, and then go ahead and take it live.) — Mr. Stradivarius ♪ talk ♪ 11:12, 13 June 2021 (UTC)

Italic title with commas

Do you know how to get a page like Morceaux de salon, Op. 6 (Rachmaninoff) to work like it previous did with {{italic title|string=Morceaux de salon}}? It works if changed to {{italic title|string=Morceaux de salon|all=yes}} but I couldn't figure out how to get it to work with the previous style. Gonnym (talk) 10:44, 21 June 2021 (UTC)

I've commented over at the template talk page. — Mr. Stradivarius ♪ talk ♪ 12:58, 25 June 2021 (UTC)

Nomination for deletion of Template:Track listing/Columns

Template:Track listing/Columns has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 23:14, 29 June 2021 (UTC)

Wikipedia:Changing username/Archive sidebar, a page which you created or substantially contributed to, has been nominated for deletion. Your opinions on the matter are welcome; you may participate in the discussion by adding your comments at Wikipedia:Miscellany for deletion/Wikipedia:Changing username/Archive sidebar and please be sure to sign your comments with four tildes (~~~~). You are free to edit the content of Wikipedia:Changing username/Archive sidebar during the discussion but should not remove the miscellany for deletion template from the top of the page; such a removal will not end the deletion discussion. Thank you. Terasail[✉️] 20:54, 1 August 2021 (UTC)

Precious anniversary

Precious
Eight years!

... on the day I was named awesome Wikipedian by Rlevse --Gerda Arendt (talk) 08:00, 3 August 2021 (UTC)

Thank you Gerda! — Mr. Stradivarius ♪ talk ♪ 08:57, 4 August 2021 (UTC)

Module:RFX

Hello! :)

I'm an admin of SqWiki. I was renovating our WP:AFD page and modelling some bits of it after your page here. I saw the template you have on top of it that collects information about the elections automatically. Is there any chance you can help me set one up for our project as well? I must disclose that we don't have specific sections for votes. We use only 1 section for all votes, so support/oppose/neutral results are all mixed. Can something be done about this or is it a strict requirement that we must have them separated in sections for such a template to work?

Kind regards. :) - Klein Muçi (talk) 10:14, 18 October 2021 (UTC)

@Klein Muçi: It's not a strict requirement that the votes be in separate sections, but you do need to be able to automatically parse who voted what. This might be a little trickier without sections, but is probably doable. As for helping to set one up, I am pretty busy in real life these days, so I don't think I will be able to spare the time. If I manage to find some free time, I will let you know. :) Best — Mr. Stradivarius ♪ talk ♪ 00:49, 20 October 2021 (UTC)
Thanks for answering and providing that information. Give me a ping if you can help in the future. Cheers! :) - Klein Muçi (talk) 00:57, 20 October 2021 (UTC)

TOC limit overide

Hi Mr. S, a few years ago, you suggested a script to override TOC limits at Wikipedia:Village pump (technical)/Archive 146#TOC limit overide. I did as suggested, and it worked for several years, then stopped for some reason. Is it possible you could take a look at the script and see if something needs to be changed/updated? Or do you know of another way to override the TOC? Thanks. BilCat (talk) 21:40, 23 October 2021 (UTC)

@BilCat: I am guessing that something changed when Template:TOC limit was changed to use TemplateStyles in 2018, which meant that your custom styles weren't being applied. You can fix this with the css !important property, as follows:
/* Always show all TOC levels */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
	display: block !important;
}
If you update User:BilCat/common.css with the code above, it should start working for you again. I've tested this on my common.css page with the Audi article, and all the TOC levels are visible. Best — Mr. Stradivarius ♪ talk ♪ 00:42, 24 October 2021 (UTC)
It works for me too! I strongly dislike limited TOCs, especially since there's still no way to view the full list at will. But at least now I don't have to be affected by it again. Thanks very much! BilCat (talk) 01:02, 24 October 2021 (UTC)

Nomination for deletion of Template:DYK error

Template:DYK error has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Did Q28 make a mess today? 09:37, 16 November 2021 (UTC)

Nomination for deletion of Template:Year in various calendars/old

Template:Year in various calendars/old has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Did Q28 make a mess today? 00:33, 17 November 2021 (UTC)

Nomination for deletion of Template:Portal/old

Template:Portal/old has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Did Q28 make a mess today? 00:40, 17 November 2021 (UTC)

Doc request for Find_sources transformFunc

Hello, in this edit to Module:Find sources you added transformFunc to local function renderSearchString. It looks like this might work for us, for a transformation we have in mind (fiddling with double quotes—not urlencoding them, but removing them, possibly shifting them from one incoming search arg to another). However, I don't see anything at Module:Find sources/doc that explains where the transform comes from, how to define it, or how to use it. Could you please add something to the /doc page explaining this, and perhaps including one or two examples, to make it clear? (Needn't be our use case, just a generic example useful to anybody who wants to use transformFunc.) I presume you added this because there was some RW use case for it; if you remember what it was, can you point me to it? Thanks, Mathglot (talk) 19:37, 16 November 2021 (UTC)

@Mathglot: I'm not sure if this is what you want, but searching for renderSearchString in Module:Find sources shows the definition where transformFunc is the third parameter to the function. If it is null, it is not used. Otherwise, it is used as a function that is applied to each string in the searchStrings table. Continuing the search shows renderSearchString is called twice, once with mw.uri.encode as the third parameter, and once with nothing (null). For example, if you passed string.lower, that function would be applied to each search string. Or, you could have a private function that does whatever it wants with quotes in search strings, and pass that as the third parameter. Johnuniq (talk) 22:38, 16 November 2021 (UTC)
@Mathglot: What Johnuniq said. The transformFunc parameter can be any function that takes a string as input and returns a string as output, and transforms each of the search terms when making a search link. It is an internal implementation detail and probably doesn't belong on the /doc page, as it isn't used directly by template authors or end users. Having said that, it would probably be a good idea to expand the comment in the code about how it works. However, if you need to shift quotation marks from one argument to another, you will probably need to come up with a different mechanism, as transformFunc only works on individual search strings. I don't remember all the internal details of the module, but if you are adding quotation marks and then removing them in a later stage of processing, that might be a sign that a larger-scale re-architecting of the module may be warranted. — Mr. Stradivarius ♪ talk ♪ 01:40, 17 November 2021 (UTC)
Thanks, both of you. I understand now that it isn’t public-facing and therefore /doc updates are not warranted here (internal comments always welcome). Regarding possible rearchitecting I may get back to you on that; there’s no pressing issue right now, but we have seen a few cases where the auto quoting of param1 leads to worse results in a couple of cases (e.g. for 'gin' and 'jstor' in */links/) and I was starting to muse about how to address this. Clearly I was barking up the wrong tree with transformFunc. Will put this on the back burner for now while more pressing issues are resolved (see WT:MED if curious), and perhaps we can chat about this again at a later point. Thanks again! Mathglot (talk) 01:57, 17 November 2021 (UTC)

Template:Year in various calendars/Chinese has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Did Q28 make a mess today? 05:20, 18 November 2021 (UTC)

DiffOnly

Hi, I installed DiffOnly, and I think I will find it very useful. However, it doesn't work for histories, either when I use DiffOnly = "all" or DiffOnly = "history". I'm using MonoBook. I tried using just this script, so it's not a conflict with other (non-gadget) scripts. MANdARAX • XAЯAbИAM 21:49, 24 October 2021 (UTC)

@Mandarax: It looks like the structure of the history page HTML changed slightly, which was stopping the CSS selector I used from finding the diff links. I have now fixed it, so you should start seeing diff-only links for history pages now. Let me know if you find any issues with it. Best — Mr. Stradivarius ♪ talk ♪ 13:37, 25 October 2021 (UTC)
Thanks for the quick fix! MANdARAX • XAЯAbИAM 15:50, 25 October 2021 (UTC)
Have you considered expanding DiffOnly to user contributions pages?  MANdARAX • XAЯAbИAM  10:46, 23 November 2021 (UTC)
@Mandarax: I hadn't, but that's a good idea. Now added.[1][2]Mr. Stradivarius ♪ talk ♪ 01:36, 24 November 2021 (UTC)
Thanks again! As I predicted above, I have found it to be very useful, and this will make it even more so.  MANdARAX • XAЯAbИAM  03:31, 24 November 2021 (UTC)

Nomination for merger of Module:Find sources/links/archive.org

Module:Find sources/links/archive.org has been nominated for merging with Template:Find sources/links. You are invited to comment on the discussion at the template's entry on the Templates for discussion page. Thank you. Gonnym (talk) 11:11, 27 November 2021 (UTC)

Nomination for deletion of Template:Location map+/old/width

Template:Location map+/old/width has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Q28 remind you that pay more attention to TFD 01:20, 3 December 2021 (UTC)

Administrators will no longer be autopatrolled

A recently closed Request for Comment (RFC) reached consensus to remove Autopatrolled from the administrator user group. You may, similarly as with Edit Filter Manager, choose to self-assign this permission to yourself. This will be implemented the week of December 13th, but if you wish to self-assign you may do so now. To find out when the change has gone live or if you have any questions please visit the Administrator's Noticeboard. 20:06, 7 December 2021 (UTC)

An update

Another user has queried about this matter there, so I have boldly moved the discussion, to provide the context there. North America1000 10:03, 11 December 2021 (UTC)

Nomination for deletion of Template:Ambox/old

Template:Ambox/old has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Q28 (talk) 09:32, 18 December 2021 (UTC)

Merchandise giveaway nomination

A t-shirt!
A token of thanks

Hi Mr. Stradivarius! I've nominated you (along with all other active admins) to receive a solstice season gift from the WMF. Talk page stalkers are invited to comment at the nomination. Enjoy! Cheers, {{u|Sdkb}}talk ~~~~~
A snowflake!

MediaWiki message delivery (talk) 23:50, 31 December 2021 (UTC)

A barnstar for you!

The Technical Barnstar
For your invaluable work fighting XSS vulnerabilities across the project. Thank you so much. Enterprisey (talk!) 04:28, 2 January 2022 (UTC)
Thank you! — Mr. Stradivarius ♪ talk ♪ 14:09, 2 January 2022 (UTC)

Signpost series template

If you could provide any additional info regarding {{Signpost series}} in the discussion at Wikipedia talk:Wikipedia Signpost/Newsroom § Adminship, I would appreciate it! isaacl (talk) 16:52, 1 January 2022 (UTC)

Thanks for your comments! isaacl (talk) 20:47, 2 January 2022 (UTC)

Wishing you a happy 2022! Happy holidays

Happy New Year!
Mr. Stradivarius,
Have a great 2022 and thanks for your continued contributions to Wikipedia.


   – Background color is Very Peri (#6868ab), Pantone's 2022 Color of the year

Send New Year cheer by adding {{subst:Happy New Year 2022}} to user talk pages.

North America1000 16:31, 3 January 2022 (UTC)

@Northamerica1000: Thank you, and Happy New Year to you too! — Mr. Stradivarius ♪ talk ♪ 13:08, 4 January 2022 (UTC)

How we will see unregistered users

Hi!

You get this message because you are an admin on a Wikimedia wiki.

When someone edits a Wikimedia wiki without being logged in today, we show their IP address. As you may already know, we will not be able to do this in the future. This is a decision by the Wikimedia Foundation Legal department, because norms and regulations for privacy online have changed.

Instead of the IP we will show a masked identity. You as an admin will still be able to access the IP. There will also be a new user right for those who need to see the full IPs of unregistered users to fight vandalism, harassment and spam without being admins. Patrollers will also see part of the IP even without this user right. We are also working on better tools to help.

If you have not seen it before, you can read more on Meta. If you want to make sure you don’t miss technical changes on the Wikimedia wikis, you can subscribe to the weekly technical newsletter.

We have two suggested ways this identity could work. We would appreciate your feedback on which way you think would work best for you and your wiki, now and in the future. You can let us know on the talk page. You can write in your language. The suggestions were posted in October and we will decide after 17 January.

Thank you. /Johan (WMF)

18:14, 4 January 2022 (UTC)

Global interface editor rights granted (notification about Meta-Wiki talk page post)

Hello, since your Meta talk page soft-redirects to en.wikipedia, I'm not sure if you'll notice my message there. If not, please see the diff. Happy editing, Martin Urbanec (talk) 16:58, 9 January 2022 (UTC)

Nomination for deletion of Template:Subject bar/old

Template:Subject bar/old has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 09:31, 10 January 2022 (UTC)

Nomination for deletion of Template:Article history/old

Template:Article history/old has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. User:GKFXtalk 16:11, 15 January 2022 (UTC)

Nomination for deletion of Template:Current events monthly archive

Template:Current events monthly archive has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 15:37, 28 January 2022 (UTC)

Old edits being resuscitated on the Debito Arudou BLP

Dear Mr. Strad,

Please visit the Debito Arudou BLP, where a person with a history of edit warring and nominating BLPs for deletion is putting back up old edits that were removed for violation of BLP rules years ago. Please consider removing them again. Many thanks.Debito Arudou Ph.D. (Talk) 19:53, 21 February 2022 (UTC)

Nomination for deletion of Template:Rfd2/header-notext

Template:Rfd2/header-notext has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 07:47, 29 March 2022 (UTC)

Nomination for deletion of Template:Rfd2/header-text

Template:Rfd2/header-text has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 07:47, 29 March 2022 (UTC)

Nomination for deletion of Template:Rfd2/noheader-notext

Template:Rfd2/noheader-notext has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 07:47, 29 March 2022 (UTC)

Nomination for deletion of Template:Rfd2/noheader-text

Template:Rfd2/noheader-text has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 07:47, 29 March 2022 (UTC)

New administrator activity requirement

The administrator policy has been updated with new activity requirements following a successful Request for Comment.

Beginning January 1, 2023, administrators who meet one or both of the following criteria may be desysopped for inactivity if they have:

  1. Made neither edits nor administrative actions for at least a 12-month period OR
  2. Made fewer than 100 edits over a 60-month period

Administrators at risk for being desysopped under these criteria will continue to be notified ahead of time. Thank you for your continued work.

22:53, 15 April 2022 (UTC)

In case you didn't know

You've got your ear to the ground much more than me, but in case you didn't know, Hasteur died from COVID in July, 2020. I just found out. Best regards, TransporterMan (TALK) 21:35, 10 May 2022 (UTC)

I wasn't aware of that. That's a terrible loss for the wiki, and I'm sorry to hear about it. Thank you for letting me know. — Mr. Stradivarius ♪ talk ♪ 01:40, 11 May 2022 (UTC)
I also emailed Steve to let him know (I don't think he checks his talk page much any more), but haven't heard back from him. — TransporterMan (TALK) 18:50, 11 May 2022 (UTC)

A tag has been placed on Category:Small article history templates indicating that it is currently empty, and is not a disambiguation category, a category redirect, a featured topics category, under discussion at Categories for discussion, or a project category that by its nature may become empty on occasion. If it remains empty for seven days or more, it may be deleted under section C1 of the criteria for speedy deletion.

If you think this page should not be deleted for this reason you may contest the nomination by visiting the page and clicking the button labelled "Contest this speedy deletion". This will give you the opportunity to explain why you believe the page should not be deleted. Please do not remove the speedy deletion tag from the page yourself. Liz Read! Talk! 00:55, 3 June 2022 (UTC)

Template:WPBannerMeta/hooks/bchecklist/syntax/doc has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. Gonnym (talk) 12:57, 27 June 2022 (UTC)

Deletion review for User:Poomagal G

An editor has asked for a deletion review of User:Poomagal G. Because you closed the deletion discussion for this page, speedily deleted it, or otherwise were interested in the page, you might want to participate in the deletion review. FAdesdae378 (talk · contribs) 18:52, 6 August 2022 (UTC)

Admin Noticeboard for User:Yae4

You may know the person from GrapheneOS, CopperheadOS article. A admin notice has been filed against him which you may(or may not) like to comment on. [3] Greatder (talk) 16:01, 8 August 2022 (UTC)

Precious anniversary

Precious
Nine years!

--Gerda Arendt (talk) 09:06, 3 August 2022 (UTC)

Thanks Gerda! — Mr. Stradivarius ♪ talk ♪ 06:01, 23 August 2022 (UTC)

article history template error

As one of the few recent editors of template:article history, I wanted to bring you attention to this error: Template talk:Article history#shrunken width. Sorry to bother you! — Fourthords | =Λ= | 22:18, 17 August 2022 (UTC)

It looks like this has been fixed already. Feel free to ping me if you spot any other issues with the template. — Mr. Stradivarius ♪ talk ♪ 06:02, 23 August 2022 (UTC)

Your IAdmin flag

Hello Mr. Stradivarius, due to your inactivity in interface-administrator tasks your IAdmin flag has been removed in accordance with the IAdmin policy. This is purely procedural and is not a negative indicator of your contributions or ability. Should you need this access again in the future, you may request reassignment at WP:BN. This change has no impact on your administrator permission. Best regards, — xaosflux Talk 00:30, 29 August 2022 (UTC)

Please vote in the 2022 Wikimedia Foundation Inc. Board of Trustees election

Hello hello. I hope this message finds you well.

The Wikimedia Foundation Inc. Board of Trustees election ends soon, please vote. At least one of the candidates is worthy of support. --MZMcBride (talk) 14:58, 5 September 2022 (UTC)

Voted! — Mr. Stradivarius ♪ talk ♪ 04:12, 6 September 2022 (UTC)

SignpostTagger

SignpostTagger seems to have stopped working, entirely. When I open the interface everything is greyed-out. This is true of a new Signpost item or old, from both Chrome and Brave. It was working fine a couple weeks ago. Chris Troutman (talk) 01:16, 24 October 2022 (UTC)

@Chris troutman: Thanks for letting me know. The API started requiring a token where it wasn't before, so I fixed my code to send the token. The script should be working now - let me know if you spot any other issues. Best — Mr. Stradivarius ♪ talk ♪ 14:30, 24 October 2022 (UTC)

Nomination for deletion of Module:Class/data

Module:Class/data has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. * Pppery * it has begun... 16:27, 17 November 2022 (UTC)

Hi how are you? You've already edited in the past Template:Year in various calendars, I opened in discussion section a thread about a consensus for a flaw I identified in the template that goes back to 2006. There I explain better.

Best regards, Jvbignacio9 (talk) 20:57, 25 November 2022 (UTC)

Signpost Tagger

I noticed that the Signpost tagger won't run on Wikipedia:Wikipedia Signpost/2023-01-16/In focus, even if I switch browsers. I had no problem using it on each of the other articles of the latest issue. Chris Troutman (talk) 21:17, 16 January 2023 (UTC)

@Chris troutman: Thanks for the bug report. This was an error in the author-parsing code, which was raising an exception later in the code. I have now fixed it. Best — Mr. Stradivarius ♪ talk ♪ 14:08, 18 January 2023 (UTC)

Ads for wikipedia

Thanks for creating this sir!

Where is the main page? Template:Wikipedia ads/gallery

{{#invoke:Wikipedia ads/gallery|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude>

Is there anyway to add a title to each one so people can easily search?

Template:Wikipedia_ads/navbox I dont understand the documentation.  :/ 😩😩😩 Metro2fsb (talk) 04:21, 27 January 2023 (UTC)

Thank you for the cookie! I'm not sure what you mean by "main page" (I'm guessing not this: Main Page). If you have improvement suggestions for Wikipedia ads, could you post them at Template talk:Wikipedia ads? When you do so, it would be helpful if you could create a new section for each suggestion. Best regards — Mr. Stradivarius ♪ talk ♪ 05:20, 27 January 2023 (UTC)

Am I doing it right?

Hello there; long time no talk; hope you're doing well 🙂

As it's been literally years since we last talked; I've previously asked for you advice regarding lua modules and would appreciate a little more feedback if you have a minute.

I just created Module:GetShortDescription specifically to support Module:Annotated link as an intentional replacement for {{annotated link}}, but with its modularity in mind, and it's already got some attention at Project:Good Article proposal drive 2023 (it might be busy), so I'm more concerned than usual about efficiency.

The first draft documentation invokes the module multiple times with various configurations, so its NewPP limit report should tell a fair story ... right?

Does this look okay to you?

<!-- 
NewPP limit report
Parsed by mw1364
Cached time: 20230122191359
Cache expiry: 1814400
Reduced expiry: false
Complications: [show‐toc]
CPU time usage: 0.077 seconds
Real time usage: 0.104 seconds
Preprocessor visited node count: 382/1000000
Post‐expand include size: 2453/2097152 bytes
Template argument size: 148/2097152 bytes
Highest expansion depth: 5/100
Expensive parser function count: 3/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 2008/5000000 bytes
Lua time usage: 0.043/10.000 seconds
Lua memory usage: 1323257/52428800 bytes
Number of Wikibase entities loaded: 0/400
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00%   87.902      1 -total
 38.59%   33.925      1 Template:Lua
 12.57%   11.047      3 Template:Tlx
  4.55%    4.000      9 Template:Para
  4.33%    3.810      1 Template:Tlc
  2.39%    2.098      1 Template:Module_rating
-->

Fred Gandt · talk · contribs 19:35, 22 January 2023 (UTC)

@Fred Gandt: Those limit report stats look absolutely fine to me. I had a brief look at the code, and you might be able to scrape some more efficiency by switching frame:expandTemplate() for the lang template to calling Module:Lang directly.
local mLang = require("Module:Lang")

-- ...

	local non_english_wikidata_description = mLang._lang{
		wikidata_description_lang,
		wikidata_description,
		italic = lang.italic or '',
		nocat = lang.nocat or '',
		size = lang.size or '',
		cat = lang.cat or '',
		rtl = lang.rtl or ''
	}
It probably won't make all that much difference though. It is also usually advisable from a performance perspective to use frame:expandTemplates() or use Lua directly instead of using frame:preprocess(), as frame:preprocess() has to do the extra step of parsing wikitext. However, I have a feeling that it wouldn't make an appreciable difference to the page performance stats either, and would create a lot of extra work for you, so I would leave that part of the module as it is. I wouldn't generally worry too much about performance unless the module is going to be called hundreds of times a page or something. You can always tweak the code or roll it back if there is a problem. Best — Mr. Stradivarius ♪ talk ♪ 15:23, 23 January 2023 (UTC)
Thank you for all that consideration and feedback 🙂 I'd already pulled the use of Module:Transcluder for a few microseconds, so a few more microseconds is something I'm happy to work for. I like the idea of using the lang Module and will try it out. Preprocessing has to go for a technical issue; it appears to be ignored if the invocation is substituted (it seems the substitution happens before the preprocessing) so I have to dig through the raw template markup which could be as horrible as {{ short description | 2= noreplace|pagetype =Redirect | 1 = A thing that is a thing}} so lua patterns not being regex is proving quite a frustration. I have to figure it out though, so I will 😉 It makes me feel good to have knowledgeable eyes on, and for them to not reel in horror, so thank you for that 😊 Fred Gandt · talk · contribs 03:49, 24 January 2023 (UTC)
Module:Lang compared to expandTemplate where that's the only change
Module:Lang

NewPP limit report
Parsed by mw1416
Cached time: 20230124040528
Cache expiry: 1814400
Reduced expiry: false
Complications: [vary‐revision‐sha1, vary‐page‐id, show‐toc]
CPU time usage: 0.175 seconds
Real time usage: 0.244 seconds
Preprocessor visited node count: 567/1000000
Post‐expand include size: 22426/2097152 bytes
Template argument size: 955/2097152 bytes
Highest expansion depth: 14/100
Expensive parser function count: 5/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 4942/5000000 bytes
Lua time usage: 0.130/10.000 seconds
Lua memory usage: 16066434/52428800 bytes
Number of Wikibase entities loaded: 0/400
expandTemplate

NewPP limit report Parsed by mw1387 Cached time: 20230124040811 Cache expiry: 1814400 Reduced expiry: false Complications: [vary‐revision‐sha1, vary‐page‐id, show‐toc] CPU time usage: 0.248 seconds Real time usage: 0.303 seconds Preprocessor visited node count: 647/1000000 Post‐expand include size: 22866/2097152 bytes Template argument size: 955/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 5/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 4942/5000000 bytes Lua time usage: 0.186/10.000 seconds Lua memory usage: 16046717/52428800 bytes

Number of Wikibase entities loaded: 0/400

Fred Gandt · talk · contribs 04:21, 24 January 2023 (UTC)

@Fred Gandt: I would stick to preprocessing if you can - there are all sorts of corner cases in parsing wikitext that will trip you up. Do you have an example of where substituting causes a problem with preprocessing? I wasn't able to reproduce the problem. — Mr. Stradivarius ♪ talk ♪ 15:23, 24 January 2023 (UTC)
The issue was brought to my attention by Olivaw-Daneel on Module talk:GetShortDescription § subst; {{subst:#invoke:GetShortDescription|main |name=Brazil |only=explicit}} with an older version of the Module was spitting out an empty string, and {{subst:#invoke:GetShortDescription|main |name=Brazil}} was falling back to wikidata. I ran live tests of each step of the process and established that it was fine right up to the point of preprocessing which just silently failed and returned zip. After changing the code to not use preprocessing, which worked fine if not being substed, the Module worked when being substed too. I have though, run into issues with lua's rubbish patterns (yeah I said "rubbish"; RegEx FTW) doing unhelpful things which is making replacing the preprocessing quite bothersome. Fred Gandt · talk · contribs 16:57, 24 January 2023 (UTC)
@Fred Gandt: I had a play with this, and I found that you can make frame:preprocess() work during substitution if you a) use safesubst (i.e. frame:preprocess("{{safesubst:short description|foo}}")) and b) make Template:Short description substable. The former is an easy fix, but the latter would be a bit of a pain (although definitely doable). — Mr. Stradivarius ♪ talk ♪ 14:34, 26 January 2023 (UTC)
That is remarkably clever 😲 but I doubt anyone would be impressed by the attempt to make Template:Short description subtable if the only justification was to allow me to avoid the string manipulation I've already done 😆 It would however probably be a decent idea to make it substable for the just in case scenarios. Some html is not great but the mess substing currently makes is horrible. I'm fairly certain I've solved for all reasonable eventualities using a series of matches anyway. Any short descs declared out of reasonable expectation would likely be cleaned up pretty swiftly I think, and the rare cases of failure would at least provide an indication to anyone paying attention that the short desc is configured badly at the source i.e. it's not a compound problem if it arises; it would oddly act more as a solution to a problem that might currently not have anyone watching. BTW: did you know that approximately 10% of en Wikipedia articles have dynamically generated short descriptions, from the likes of infoboxes? I analyzed the effects of Category:Modules that create a short description. That seems like an avenue for large scale disruption and maybe needs tracking or something? Fred Gandt · talk · contribs 15:02, 26 January 2023 (UTC)
@Fred Gandt: By the way, there is one more tweak you can make performance-wise - using native Lua string patterns is a lot quicker than using mw.ustring patterns, as functions from the latter call back into PHP to get their results. So if you have any patterns that don't use any character classes, you can convert those to their string library equivalents. For example, mw.ustring.match( short_description, '=' ) can be converted to short_description:match( '=' ) to get a speed-up. However, you can't automatically do this with mw.ustring.match( param, '^2%s*=' ), as in mw.ustring functions %s will match any Unicode whitespace characters, including things like zero-width spaces and non-breaking spaces, but in Lua string library functions it will only match ASCII whitespace characters. Also, you can simplify isEmpty( mw.ustring.match( param, '^noreplace$' ) ) to be param ~= "noreplace". — Mr. Stradivarius ♪ talk ♪ 03:07, 27 January 2023 (UTC)
I got so caught up trying various ways to simplify that extraction algorithm, I completely missed the string ~= test; thanks for pointing that out 🤦‍♀️ Is the difference in performance between mw.ustring and the standard significant? I assume so or you'd not have mentioned it. I will switch the switchable now(ish). Thank you again for your input; I really appreciate the time and effort you are giving this/me. Fred Gandt · talk · contribs 04:41, 27 January 2023 (UTC)
I made these changes and got these results (reading the reports on the module page with active use on the doc):
ustring all the way

Parsed by mw1474
Cached time: 20230127044910
Cache expiry: 1814400
Reduced expiry: false
Complications: [vary‐revision‐sha1, vary‐page‐id, show‐toc]
CPU time usage: 0.197 seconds
Real time usage: 0.261 seconds
Preprocessor visited node count: 667/1000000
Post‐expand include size: 21342/2097152 bytes
Template argument size: 914/2097152 bytes
Highest expansion depth: 14/100
Expensive parser function count: 6/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 6301/5000000 bytes
Lua time usage: 0.138/10.000 seconds
Lua memory usage: 15468085/52428800 bytes
Number of Wikibase entities loaded: 0/400
some ustring replaced and that ~=

Parsed by mw1351 Cached time: 20230127044943 Cache expiry: 1814400 Reduced expiry: false Complications: [vary‐revision‐sha1, vary‐page‐id, show‐toc] CPU time usage: 0.231 seconds Real time usage: 0.298 seconds Preprocessor visited node count: 667/1000000 Post‐expand include size: 21342/2097152 bytes Template argument size: 914/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 6/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 6301/5000000 bytes Lua time usage: 0.170/10.000 seconds Lua memory usage: 15467971/52428800 bytes

Number of Wikibase entities loaded: 0/400

Fred Gandt · talk · contribs 04:57, 27 January 2023 (UTC)

I tried switching just the ~= and that was worse, so I reverted then just switched the ustrings, which was slightly less worse, but still worse. Fred Gandt · talk · contribs 05:09, 27 January 2023 (UTC)

@Fred Gandt: I timed matching = in foo=bar 1,000,000 times, and I got an average of 0.16s for the native Lua string library, and 3.37s for mw.ustring, making the native Lua string library around 20 times faster. So yes, there is a relatively significant difference in performance between the two. As to whether it will make an appreciable difference in performance to your module? Probably not. I would guess that the other things it is doing, like fetching from Wikidata and expanding templates, will take much more time. But that is only conjecture - to be sure you would have to measure it. Best — Mr. Stradivarius ♪ talk ♪ 05:09, 27 January 2023 (UTC)
Probably the timing differences you see are nothing to do with mw.ustring - even though the native string library is faster, the difference would only be a few microseconds. — Mr. Stradivarius ♪ talk ♪ 05:13, 27 January 2023 (UTC)
I was just wondering that; the new times for the same code but a different version since testing are different (actually quite a lot better). I should accept conventional wisdom and use the tried and tested better methods and ignore the page reports? [rhet] I will do that. Fred Gandt · talk · contribs 05:18, 27 January 2023 (UTC)
@Fred Gandt: I suspect there is some randomness in the performance stats, determined by whatever the server assigned to render the page happens to be doing at that moment. So whatever you are measuring, it would be a good idea to take multiple samples and take the average before you make any conclusions. For example, I just tried previewing Module:GetShortDescription/doc a few times with no code changes, and I got Lua time usage values as low as 0.11s and as high as 0.20s. If you take the average, you should still get meaningful results from page reports. — Mr. Stradivarius ♪ talk ♪ 07:40, 27 January 2023 (UTC)
Excellent advice; noted. I assumed the lua time in particular was invariable in like for like comparisons. There's an old saying about "assume" isn't there? 😉 Fred Gandt · talk · contribs 07:51, 27 January 2023 (UTC)

Howdy. I thought you might be mildly interested; preprocessing for the HTML has another problem for this specific use case; it couldn't distinguish which of multiple short descriptions is actually being applied by the servers. I have written an apparently robust algorithm to figure it out though; Module talk:GetShortDescription/testcases. Lua needs proper RegExp like fish need water. Fred Gandt · talk · contribs 11:37, 29 January 2023 (UTC)

A barnstar for you!

The Technical Barnstar
We built this bot

We built this bot on rock and roll

Built this bot

We built this bot on rock and roll

No, really, this has been a great help. Thank you. jp×g 09:53, 31 January 2023 (UTC)

Thank you! 😂 Just a few more bugs to quash before it's ready. — Mr. Stradivarius ♪ talk ♪ 13:32, 31 January 2023 (UTC)

Synchronizer

Hi! I can see from history that you're a serial module developer, so I thought you may be interested in this tool for synchronizing modules across wikis. Cheers! Sophivorus (talk) 22:16, 2 February 2023 (UTC)

@Sophivorus: That's pretty neat! Does it work on JavaScript gadgets too? Because that would be awesome. I have quite often come across the situation where I need to synchronize a whole bunch of JavaScript gadgets on different wikis because of a security vulnerability. — Mr. Stradivarius ♪ talk ♪ 07:48, 3 February 2023 (UTC)
Yes it does! It works on any page really. See for example the last button in my dashboard. Cheers! Sophivorus (talk) 12:02, 3 February 2023 (UTC)
Ah, I see you already tried it at your sandbox. The reason why it didn't work is because the various pages need to be connected through Wikidata. See for example the page I created for Synchronizer.js at d:Q116446291 Sophivorus (talk) 12:05, 3 February 2023 (UTC)

Giant Baba and Rikidozan

I'm very sorry to ask you this, but can you translate from Japanese to English the six pages on this site about Giant Baba's childhood. They're about his early life and I've search much to find them. You can write all in my talk page. Moreover, there are also more information about Rikidozan's family and early life that nobody had translate yet: 1, 2, 3. Thank you very much. — Preceding unsigned comment added by 87.12.11.245 (talk) 15:17, 18 March 2023 (UTC)

Can you do it?

Testcases

Hi, hope you are well? If you have any time, I would greatly appreciate if you could fix up Module:Class mask/testcases because I can't understand how it all works. Please note I have added a ignorenamespace parameter to make it possible to test how it will behave in mainspace. Thanks! — Martin (MSGJ · talk) 13:11, 28 March 2023 (UTC)

@MSGJ: Hi :) To fix the test cases, I would need to know what the new expected outputs are for all of the inputs. I'm not sure what those are supposed to be, so it is not so easy for me to just fix them. If I set the expected outputs to the current outputs, then the tests would pass, but this might mean missing a bug; when writing code, there is always a chance that some assumption of the programmer's proves not to be true, so making the tests match the code generally not a good practice. It's probably best if you set the expected outputs to what you think they should be, and then see if the tests pass or not when run against the new module code.

There are a few tricks I used in the test code to get a large amount of test coverage with a relatively small amount of repetition of code. However, the core is relatively simple - the test framework (Module:ScribuntoUnit) will run any method in the suite table that starts with "test". If any assertions fail or any errors occur when the method runs, the test fails. (Assertions are methods in the suite table that start with "assert".) I made a custom assert method called "assertGradeEquals" that tests the input as specified, as upper case, and as lower case. I also made some parametrised test functions (these contain code like suite['test_' .. t.name]) that dynamically adds test methods to the suite table with various different inputs. The idea with those is that you can edit the data that these test parametrization functions are called with, and alter several different tests at once. Let me know if there are any of these things specifically you are unsure about. Best — Mr. Stradivarius ♪ talk ♪ 08:36, 30 March 2023 (UTC)

Thanks for your message. I admit that Module:UnitTests is completely baffling to me. I haven't made any major changes from the version that you created, so I was expecting most of the test cases would still be working from when you tested it. But the only tests that are passing seem to have no actual output. I assume that your tests were all passing when you first built the module, so what has changed in the meantime? I think perhaps if you could get some of the tests working, then I will be able to figure out how to fix the rest — Martin (MSGJ · talk) 10:30, 30 March 2023 (UTC)
@MSGJ: I haven't made any major changes from the version that you created, so I was expecting most of the test cases would still be working from when you tested it. If you didn't mean to make any significant changes to the existing behaviour other than adding the new parameter, then this indicates that you need to fix the module code, not the tests. The tests were indeed all passing with my January 2015 version (apart from one test for the Book namespace, which has since been deleted). You can check this by editing the previous version and then using "Preview page with this template" with the page Module talk:Class mask/testcases. It has been a while since I created the module, but I distinctly remember going over {{class mask}} with a fine-toothed comb to make sure that the output of the module and the template were both exactly the same, and I wrote the unit tests to reflect this. I would try going through each of your edits and checking them against the test cases to see which one introduced the problems. But the only tests that are passing seem to have no actual output. Module:ScribuntoUnit doesn't display the output of tests that pass; this is so that you can concentrate on fixing the ones that fail. Most of the passing tests probably have output; it's just that that output is not displayed. (You mentioned Module:UnitTests, but these particular test cases use Module:ScribuntoUnit instead. They both have a similar purpose, but they use slightly different assertion methods and ways of displaying test results.) Best — Mr. Stradivarius ♪ talk ♪ 15:11, 30 March 2023 (UTC)
I went ahead and removed all the tests for the Book namespace, so now all tests pass with the January 2015 version. — Mr. Stradivarius ♪ talk ♪ 15:22, 30 March 2023 (UTC)
Thanks for the clarification. I did indeed assume that the test cases were broken because they were not displaying the output. I'm glad I checked now! Fixed the module back up to better replicate the behaviour of the template. Regards — Martin (MSGJ · talk) 21:38, 30 March 2023 (UTC)

Osaka Castle

There is the story about gold steal from this castle by Kajisuke (梶助) in 1740. Please, can you write the complete story from a translation of these Japanese sites: 1, 2, 3. Thank you very much. — Preceding unsigned comment added by 87.8.31.27 (talk) 10:50, 2 April 2023 (UTC)

You protected this article 11 years ago. I was just here to ask if it may be time to try experimentally unprotecting the article to see if the vandalism from before is gone? Thanks for your consideration, 47.227.95.73 (talk) 20:09, 9 April 2023 (UTC)

I've unprotected the page. See my comment here. Best — Mr. Stradivarius ♪ talk ♪ 08:00, 10 April 2023 (UTC)
Much obliged. Thanks, 47.227.95.73 (talk) 10:59, 10 April 2023 (UTC)

A kitteh for you!

Thank you for editing my contribution to Dictogloss. As a new user, it was affirming to receive a helpful edit from an experienced one!

NoahConstrictor (talk) 15:55, 14 April 2023 (UTC)

@NoahConstrictor: You're welcome! I read your reflection - very interesting stuff. I may need to update a few things on my user page... for example, I haven't done recent page patrol for quite a while now. I saw your edit to Dictogloss because the page was on my watchlist after I created it. Thank you for your work on it. :) Let me know if you have any questions about editing, and I'll be happy to be of assistance. Best — Mr. Stradivarius ♪ talk ♪ 14:04, 15 April 2023 (UTC)
I've been working with @NoahConstrictor and in his reflection he noted you prefer the sfn template, as do I. I'm used to latex/markdown approach, and prefer to edit in a proper text editor (Sublime Text's MediaWiker). However, I've never actually met someone using the same approach and was wondering what tool you use to edit? Reagle (talk) 19:46, 19 April 2023 (UTC)
@Reagle: When I'm working with wikitext and citations I tend to just use the built-in wikitext editor. If I'm doing something heavy-duty like writing code or doing something that would benefit from macros then I usually reach for Vim. — Mr. Stradivarius ♪ talk ♪ 08:38, 21 April 2023 (UTC)

Boshin War

Who was the Imperial commander of the siege at Aizu-Wakamatsu Castle, and the one who meet Matsudaira Teru when she surrended? And the one from Ogaki domain's army who killed Nakano Takeko sometime before? — Preceding unsigned comment added by 95.244.2.87 (talk) 14:59, 14 May 2023 (UTC)

Not my speciality, sorry. — Mr. Stradivarius ♪ talk ♪ 00:22, 19 May 2023 (UTC)

Advice for a small wiktionary

Hello from el.wiktionary. I wonder if you could help us find Lua help about this:
A reconstruction of the magic word _ _ TOC__ especially for wiktionaries: horizontal by level 2 (the output would look something like wikt:el:θωριά, a manually done example -sorry for the Greek-). The reason we need it is

  • because the structure of wiktionary headings is very different from wikipedias: they are standard and repetitive (every page may include 2 or more Language sections). Vertical TOC is not the best output.
  • because the magic _ _TOC__ is absolutely necessary in many Appendices and we are afraid that in the future it might be discontinued, or taken away from us.

I know nothing about Lua (thank you for your very helpful https://en.wikibooks.org/wiki/Scribunto:_An_Introduction) All I do is copypaste bits and pieces from here and there to create childish modules. I have tried to make wikt:el:Module:toc-test (wikt:el:Template:toc-test) but I cannot make columns for level 2, cannot formate style, and I am not so clever to learn intricate Lua.
I have asked for help several times at enWP, and enWikt, but no one is interested in this project. If you could give us some tips, or direct us to a place or persons who would be interested, we would be indebted. ありがとう Sarri.greek (talk) 05:27, 9 June 2023 (UTC)

Nomination for deletion of Module:WikiProjectBanner

Module:WikiProjectBanner has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. * Pppery * it has begun... 01:21, 24 June 2023 (UTC)

ConfirmRollback

Could you or anybody else give me an idiot's guide to using User:Mr. Stradivarius/gadgets/ConfirmRollback? Neither this nor this has done anything, I assume because the ConfirmRollback = "confirm" bit needs to be formatted in a specific way. But whatever that way is doesn't seem to be specified on the script page, which tells us what the code does but not where to put it to make it work. – Arms & Hearts (talk) 18:21, 27 July 2023 (UTC)

@Arms & Hearts: This revision should work. That will confirm all rollback links on both desktop and mobile. You should also disable rollback links by default, otherwise there is a brief period after the page loads but before the script loads when rollback is not confirmed. Also, check that you don't have any conflicting gadgets activated, because that can cause unexpected results. I'll also update the documentation with an example of where to put the config. Best — Mr. Stradivarius ♪ talk ♪ 00:25, 28 July 2023 (UTC)
I'm still not getting anywhere I'm afraid. I've disabled rollback links by default but when I use the red "[vandalism]" link on a diff I'm not asked to confirm. The "[rollback (AGF)]" and "[rollback]" links ask me to confirm ("Arms & Hearts has made 13 edits in a row. Are you sure you want to revert them all?") but I'm not sure if they would have done that anyway. (I've been testing on my own edits at User:Arms & Hearts/Esther Waters.) This isn't hugely urgent so I entirely understand if you'd rather not spend any more time on it – either way I appreciate you looking into it and clarifying the documentation. – Arms & Hearts (talk) 10:21, 28 July 2023 (UTC)
@Arms & Hearts: The "[vandalism]", "[rollback (AGF)]" and "[rollback]" links are added separately by Twinkle. This script doesn't affect what Twinkle does in any way. This script affects native MediaWiki rollback links, such as the links on Special:Watchlist that look like "(rollback | thank)". You can change settings for rollback links added by Twinkle at Wikipedia:Twinkle/Preferences. It sounds like you want to check the "Require confirmation before reverting (all devices)" option. — Mr. Stradivarius ♪ talk ♪ 03:30, 29 July 2023 (UTC)
Yeah, that's something I definitely should have known. Apologies for taking up your time with my fuddledness. – Arms & Hearts (talk) 17:10, 29 July 2023 (UTC)
@Arms & Hearts: No worries at all. It's not very obvious how to manage rollback links when you get different links added by different tools. And our exchange resulted in improved documentation, which is always good. Best — Mr. Stradivarius ♪ talk ♪ 00:32, 2 August 2023 (UTC)

Always precious

Ten years ago, you were found precious. That's what you are, always. --Gerda Arendt (talk) 06:56, 3 August 2023 (UTC)

Thank you Gerda! :) — Mr. Stradivarius ♪ talk ♪ 13:01, 3 August 2023 (UTC)

unprotection request

Currently Phil Fish has a WP:SILVERLOCK, but as I posted to the talk page last month, "I get the sense that in 2023 Fish's profile has moved sufficiently away from the spotlight that the vandalism risk to this page is now low. Specifically, low enough that WP:WHITELOCK or even no protection at all is more appropriate than the current silverlock." What are you thoughts on the page's current protection level? As the protecting admin of the page (as of 20 August 2014), would you be happy to unprotect the page? Neuroxic (talk) 15:02, 4 September 2023 (UTC)

@Neuroxic: I don't see any recent signs of vandalism, so I have gone ahead and unprotected the page. Best — Mr. Stradivarius ♪ talk ♪ 02:54, 5 September 2023 (UTC)
Thanks! Neuroxic (talk) 04:03, 5 September 2023 (UTC)

Sankebetsu brown bear incident

Please, can you help me with these Japanese translations? Thank you very much. — Preceding unsigned comment added by 193.207.144.213 (talk) 22:11, 9 September 2023 (UTC)

A category or categories you have created have been nominated for possible deletion, merging, or renaming. A discussion is taking place to decide whether this proposal complies with the categorization guidelines. If you would like to participate in the discussion, you are invited to add your comments at Wikipedia:Categories for discussion/Log/2023 October 1 § Category:WikiProject X members on the categories for discussion page. Thank you. Qwerfjkltalk 09:33, 2 October 2023 (UTC)

Nomination for deletion of Module:RFX table

Module:RFX table has been nominated for deletion. You are invited to comment on the discussion at the entry on the Templates for discussion page. * Pppery * it has begun... 02:00, 19 November 2023 (UTC)

ArbCom 2023 Elections voter message

Hello! Voting in the 2023 Arbitration Committee elections is now open until 23:59 (UTC) on Monday, 11 December 2023. All eligible users are allowed to vote. Users with alternate accounts may only vote once.

The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to impose binding solutions to disputes between editors, primarily for serious conduct disputes the community has been unable to resolve. This includes the authority to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail.

If you wish to participate in the 2023 election, please review the candidates and submit your choices on the voting page. If you no longer wish to receive these messages, you may add {{NoACEMM}} to your user talk page. MediaWiki message delivery (talk) 00:27, 28 November 2023 (UTC)

Merge request for SignpostTagger

Here is my modification: Special:Permalink/1190096571 -- this lets it parse subheadlines and stores the data in the indices. I've tested it on articles with and without subheadings and it works good. jp×g🗯️ 22:56, 15 December 2023 (UTC)

It also improves author parsing so that it's able to parse non-linked author names, and give accurate names based on actual displayed text rather than link target (added bonus that it will no longer battle with Wegweiser on this issue). jp×g🗯️ 22:57, 15 December 2023 (UTC)
@JPxG: Done. Thank you for the update! — Mr. Stradivarius ♪ talk ♪ 13:52, 16 December 2023 (UTC)

Module:Pagetype - Help

Greetings!

I'm an admin from the Albanian Wikipedia and most of our technical infrastructure relies on EnWiki. Recently I was dealing with a small issue which I believe to be related to Module:Pagetype and given that you appear to be the most active contributor in its history I thought I could ask here.

My question is a two part one.

The actual problem I want to solve is simple: In this template ({{About}} in English) we get an English term about disambiguation pages. After a bit of investigation I was led to believe that the term is coming from w:sq:Module:Pagetype/config but I'm not really sure. I could be wrong. If it is coming from that page, what would I need to change to localize it?

Also, while checking Module:Pagetype/config carefully I was made aware that I'm not really sure what I need to change for the localization process beside what I've already changed. Line 128 was especially of interest to us given that in Albanian the plurals are basically never formed by a simple suffix but I'm not sure about the context in which those plurals are used so that I could know what to include in that section. Maybe some extra comments and examples in the module would help clarify such cases.

Thank you in advance for any guidance you can provide! - Klein Muçi (talk) 16:02, 17 December 2023 (UTC)

(talk page stalker) The text "(disambiguation)" comes from sq:Moduli:Hatnote#L-104 * Pppery * it has begun... 20:21, 17 December 2023 (UTC)
Pppery, thank you, that solved it. — Klein Muçi (talk) 01:37, 18 December 2023 (UTC)

TalkCleaner gadget

Hello, musical Maestro. I've installed User:Mr. Stradivarius/gadgets/UserTalkCleaner.js in the hope of being able to painlessly remove mass messages from my page, but it turns out I don't understand how to use it. There are no instructions. How is it supposed to make messages disappear, please? Bishonen | tålk 21:23, 23 January 2024 (UTC).

Hi Bishonen! Long time no chat. :) I made a documentation page for the gadget - let me know if that answers your question. Some documentation for this tool was definitely overdue. — Mr. Stradivarius ♪ talk ♪ 02:44, 24 January 2024 (UTC)
[Testing on an archive. Check!] It does answer my question. Thank you! Bishonen | tålk 09:29, 24 January 2024 (UTC).

Cleaner

Looks great and works for Bishonen, but although I can see it in the toolbar, it doesn't do anything. Ideas? Thanks. Doug Weller talk 14:50, 2 February 2024 (UTC)

@Doug Weller: What skin are you using? I tried it on your talk page and it seems to be working, so I guess it's probably a skin incompatibility issue or something. — Mr. Stradivarius ♪ talk ♪ 04:19, 3 February 2024 (UTC)
Actually, ignore that - I just tried it with all the different skins, and it works with all of them (except MinervaNeue, which doesn't show the Tools menu). Maybe it's a conflicting gadget - I will have a quick look to see if I can pinpoint the problem. — Mr. Stradivarius ♪ talk ♪ 04:42, 3 February 2024 (UTC)
Ok, I installed all the scripts from User:Doug Weller/common.js and tried the cleaner gadget on your talk page, and it still worked. When you click "Clean talk page", is an edit summary automatically inserted into the edit summary window? If so, it means that the gadget is working. If you go ahead and click "Save page", the sections recognised by the gadget should be removed. You can also click "Show changes" before you save the page to see what will be removed. (All the script does is alter the text inside the edit window.) — Mr. Stradivarius ♪ talk ♪ 04:54, 3 February 2024 (UTC)
I see the edit summary. But show changes shows no changes and saving leaves the page as it was. Weird. Thanks for the help. Doug Weller talk 08:58, 3 February 2024 (UTC)
@Doug Weller: Hmm. This sounds like a bug, but I can't quite put my finger on what's causing it. If it's not too much trouble, could you open your talk page in edit mode, open the developer console, and run the following code?
$('#wpTextbox1').text('');
This should blank the contents of the edit window when you run it. From your description and from the source code of the gadget, I think that this is the part that is going wrong, and I would like to check if my assumption is right or not. Let me know if the content of the edit window is blanked or not after you run the command. Best — Mr. Stradivarius ♪ talk ♪ 15:33, 4 February 2024 (UTC)
@Mr. Stradivarius how do I run the command? Thanks. Doug Weller talk 15:48, 4 February 2024 (UTC)
If this helps I see startup.js:1316 This page is using the deprecated ResourceLoader module "jquery.ui". in the developer console. Doug Weller talk 15:50, 4 February 2024 (UTC)
And startup.js:1316 This page is using the deprecated ResourceLoader module "mediawiki.ui.button". Doug Weller talk 15:51, 4 February 2024 (UTC)
@Doug Weller: In the developer tools, click the "Console" tab if you are not already there. (If you are seeing "This page is using the deprecated x" warnings, you are probably already there. These warnings are normal, and won't be the cause of the bug.) At the bottom of the console there should be a place where you can enter commands. On Firefox it is prefixed with ">>", and on Chrome it is prefixed with ">". Paste the command there and hit enter. This will run the command (JavaScript) in the context of the page you are viewing. — Mr. Stradivarius ♪ talk ♪ 02:49, 6 February 2024 (UTC)
I'm afraid not. THe message returns "jQuery.fn.init {0: textarea#wpTextbox1.mw-editfont-sans-serif.ext-WikiEditor-realtimepreview-textbox, length: 1}" but there are no shcanges. Doug Weller talk 07:45, 6 February 2024 (UTC)
@Doug Weller: Thanks - this helped me track down the issue. It turns out I was using a command that only worked when the edit window text was available as a direct child of the edit window element; this works most of the time, but not in certain configurations. I have fixed the gadget, so please try it again and see if it works for you now. — Mr. Stradivarius ♪ talk ♪ 14:24, 6 February 2024 (UTC)
It does! Thanks, a really useful tool. Doug Weller talk 14:33, 6 February 2024 (UTC)