Jump to content

Wikipedia talk:User scripts/Archive 7

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Qwerfjkl (talk | contribs) at 22:19, 21 October 2022 (Adding 1 thread from Wikipedia_talk:User_scripts). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Archive 1Archive 5Archive 6Archive 7

"Same as the above" style descriptions are not ideal

There are a number of descriptions written with some variation of "same as the above" / "see above" / "like the above" which presumes that the linear list organization of the current page is static (or at least consistently ordered) and that records will not be copied individually to other locations. The introduction of the toolinfo.json scraper for this data breaks that assumption. I would like to suggest that folks update their descriptions to be somehow less dependent on reading order. Each case will of course be slightly different, but one typical solution could be to replace the "above" mentions in descriptions with the names of the scripts being extended or adapted to new use cases. --BDavis (WMF) (talk) 17:36, 8 November 2021 (UTC)

@BDavis (WMF): Started to do this with Special:Diff/1059750942 ― Qwerfjkltalk 11:25, 11 December 2021 (UTC)

Should we recommend script-installer?

Right now all the installation instructions use the manual method. script-installer is pretty simple, though... maybe we should just point people towards that? Enterprisey (talk!) 06:42, 28 September 2021 (UTC)

Yes. – SD0001 (talk) 11:32, 28 September 2021 (UTC)
I've thought about removing the installation instructions from the list altogether. As much as I do prefer the new layout, the instructions stick out like a sore thumb (as did they in the old layout). While we're at it, I wish script-installer didn't rely on IDs (see User talk:Enterprisey/script-installer#id vs data-). Nardog (talk) 12:16, 28 September 2021 (UTC)
Yes those "How to install" links are atrocious. It's better to generalize the installation instructions, rather than include it for every script. – SD0001 (talk) 15:46, 28 September 2021 (UTC)
Absolutely. There's no reason for people to be mucking about editing js files by hand. The more standardized and automated you can make this, the better. -- RoySmith (talk) 16:04, 28 September 2021 (UTC)
@Enterprisey @Nardog @RoySmith @SD0001 I think script installer can been run from the documentation page with a link like https://en.wikipedia.org/wiki/Wikipedia_talk:User_scripts/Archive_7.js?withJS=MediaWiki:Gadget-script-installer.js[1], which doesn't require script installer to be installed. ― Qwerfjkltalk 18:33, 28 September 2021 (UTC)
Very true; I think recommending that people actually install script-installer would still be helpful, because of course it allows them to easily uninstall and otherwise manage the scripts. Enterprisey (talk!) 07:24, 29 September 2021 (UTC)
@Enterprisey: Using some styling Ed6767 made, I created {{Script install button}}. ― Qwerfjkltalk 11:30, 11 December 2021 (UTC)
@Qwerfjkl, cool. It's very red, though... I always thought of installing scripts as more of a blue or green action, y'know? Enterprisey (talk!) 07:20, 12 December 2021 (UTC)
@Enterprisey: I just moved the styling to Template:TemplateStyles sandbox/script-installer button.css. Feel free to edit either the styling or the template as much as you want, I don't mind. ― Qwerfjkltalk 13:04, 12 December 2021 (UTC)
Enterprisey, {{Script installer link}}. Also, if you can add a display:none class to script-installer a link like that could be added to {{Infobox Wikipedia user script}} and subsequently hidden if script-installer is enabled. — Alexis Jazz (talk or ping me) 13:11, 12 December 2021 (UTC)

 Done. Nardog (talk) 00:47, 29 September 2021 (UTC)

References

  1. ^ The actual link is https://en.wikipedia.org/wiki/{{FULLPAGENAMEE}}.js?withJS=MediaWiki:Gadget-script-installer.js

nocreate-missing

Hi, I keep on getting this error when trying to submit an edit (from this script). What does this error mean? ― Qwerfjkltalk 10:55, 11 December 2021 (UTC)

Got a screenshot, or steps to reproduce? –Novem Linguae (talk) 11:16, 11 December 2021 (UTC)
@Novem Linguae: To reproduce: install the script, go to Wikipedia:Database reports/Unused templates, click delete (note that this will tag the page for deletion, it's just the user notification edit that fails). I can disable the editing if you want to test this. ― Qwerfjkltalk 11:25, 11 December 2021 (UTC)
Thanks. Where's the delete link? –Novem Linguae (talk) 11:30, 11 December 2021 (UTC)
@Novem Linguae: Oops. I meant Wikipedia:Database reports/Empty categories. ― Qwerfjkltalk 11:32, 11 December 2021 (UTC)
Looks like window.unusedCategoriesPageCreator is undefined. So at line 179, when you try to do new mw.Api().edit('User_talk:'+window.unusedCategoriesPageCreator, function() {, it sends a page title that doesn't exist. So the API responds with 'nocreate-missing' => array('code' => 'missingtitle', 'info' => "The article you tried to edit doesn't exist"). –Novem Linguae (talk) 11:51, 11 December 2021 (UTC)
Thanks, I changed the variable to a local variable but forgot to change that. Fixed now. ― Qwerfjkltalk 12:31, 11 December 2021 (UTC)
@Novem Linguae: Do you know how to check if a page exists? ― Qwerfjkltalk 15:46, 27 December 2021 (UTC)
@Qwerfjkl, an API query for prop=revisions should do the trick. Something like (untested, let me know if you need me to debug it):
async function pageExists(title) {
	let api = new mw.Api();
	let response = await api.get( {
		"action": "query",
		"format": "json",
		"prop": "revisions",
		"titles": title
	} );
	return Object.entries(response.query.pages);
}
Novem Linguae (talk) 16:10, 27 December 2021 (UTC)
You don't need revisions, just response.query.pages[n] will have missing if missing (and also known if it's a file on Commons or a user page on Meta that exists). Nardog (talk) 16:28, 27 December 2021 (UTC)

User script working intermittently

Hello. One of my user scripts, User:Novem Linguae/Scripts/NotSoFast.js, is only working intermittently. What it is supposed to do is highlight times at Special:NewPagesFeed red or yellow if they were published within the last hour. I suspect a race condition. The algorithm I am using is 1) to fire it onready $(function() {, and then 2) fire it again when $('body').on('DOMNodeInserted', '.mwe-pt-list-item', function() {. Any ideas how to fix? Thanks. –Novem Linguae (talk) 05:16, 8 March 2022 (UTC)

Temperamental script loading

User:Qwerfjkl/scripts/CFDlister.js seems to load temperamentally, and I've had to undo and redo changes to get it (and XFDCloser) to work. I suspect this is due to how it adds links to section headers - is there a better way of doing this? — Qwerfjkltalk 19:38, 19 October 2022 (UTC)