MediaWiki talk:Gadgets-definition/Archive 2

Archive 1Archive 2

Twinkle requiresES6?

I've been using Twinkle for some years now, I've even got a rollbacker permission in addition to it, and I've indeed actively fought vandals in my time.

But I'm using a rather old hardware due to my circumstances, and my browser is still Opera 12.18. Since this edit I'm no longer able to use Twinkle at all, and I don't know if I'll upgrade anytime soon. Is there really a good reason to put me overboard? Twinkle worked perfectly fine for me just before the abovementioned edit.

Ping to MusikAnimal. — Mike Novikoff 23:15, 15 November 2022 (UTC)

@AzaToth: any input? — xaosflux Talk 23:35, 15 November 2022 (UTC)
I agree that we can't cater supporting ancient browsers; Hindering development for the purpose of supporting an 13 year old browser I don't see as reasonable. AzaToth 20:44, 16 November 2022 (UTC)
Sorry, but Opera 12.18 is a 2016 release, which doesn't make 13 years. — Mike Novikoff 17:00, 23 November 2022 (UTC)
My input unbidden is that the web marches on. Using an ancient browser is not feasible or safe for Javascript features, and there are plenty of evergreen browsers that don't have restrictions on hardware version. Besides which, if you're using a machine and are locked to Opera 12, then your machine probably isn't safe to use on the Internet anyway. The original release of that software version, with some security updates up to 2016, was in 2011.
I'd recommend switching browsers if you want to continue using Javascript features. Firefox 52 supports XP and Vista and as recently as Firefox 100, Windows 7 is supported. 52 almost fully supports ES6, ES6 was basically supported by 54, and 100 has the same support for ES6 as 54 (just missing tail-call optimization, which wouldn't impact the set of features that are checked for ES6 support). I imagine the support story and timeline is similar for Apple hardware.
I assume, without knowing, that there is intent to incorporate ES6 into Twinkle, which would make it faster and likely more maintainable as well. Izno (talk) 00:47, 16 November 2022 (UTC)
I see. I see that I'm not going to be understood. But still, let me tell you that back in time I've dreamed about an ideal machine based on Tualatin (and here it is: 1400/133/512), knowing that P4 architecture is a shit, even a Northwood and Prescott, not no mention Willamette. If I only knew that dumb programmers would switch to enable SSE2 everywhere in their compilers...
Still. Are we building an encyclopedia here or forcing people to upgrade? — Mike Novikoff 01:41, 16 November 2022 (UTC)
I see that I'm not going to be understood. No, that is totally untrue. "My hardware old, support me forever please" is what you said, and the response is and will ultimately be "no". Besides that, I also said "here's an alternative that may suit whatever ancient hardware you're running".
Another alternative would be to choose another operating system which would give you access to one of the newer browser versions which would give you access to ES6. You are clearly smart enough about such things to be able to provide yourself access to such an operating system.
I am not the maintainer of Twinkle, but I ultimately support their efforts to make their software both more modern and faster, at the loss of support for browsers it is safe for nobody to use. Including you. ES6 puts them on the path to provide those things. Izno (talk) 02:07, 16 November 2022 (UTC)
Another alternative would be to choose another operating system – Of course I remember my favorite PLD, and maybe I'll even install it altogether at last. Quite a challenge: to install an OS without an installer, just by chroot. Perhaps I should. But then, you know, I'd be doing nothing but tuning it for at least a year, like I've been doing in 2000 and 2001, when I've covered my RH and MDK with PLD's updates. :-) Mike Novikoff 03:14, 16 November 2022 (UTC)
Hi, I'm one of the Twinkle devs. We made the switch because not being able to use ES6+ language features is burdensome to programmers, and we assume that most of Twinkle's 40,000 users use a browser that is ES6+ compatible. Unfortunately you may be a very rare exception. Pinging another active dev @SD0001. Unfortunately I'm not in favor of switching back unless there are many people affected. However I will certainly keep an eye on the issue and try to gauge if there are others affected by this. –Novem Linguae (talk) 03:26, 16 November 2022 (UTC)
I hear you. But, as the one who is not a stranger to programming since about 1989 (does anyone here know BK0010-01?), I'd advice you to remember an old maxim: "Ain't broke, don't fix it". — Mike Novikoff 17:00, 23 November 2022 (UTC)
As a grade C browser, MediaWiki's compatibility policy states you do not get [new] JavaScript features. Twinkle is not MediaWiki, but relies on MediaWiki's JavaScript API. It is only a matter of time before that becomes ES6-only too (phab:T178356) for the same reasons others have stated above (maintainability, chiefly). I strongly encourage you to explore others options, both to regain access to Twinkle, many other new features in MediaWiki you're likely missing out on, as well as the rest of the web. I'd like to echo what Izno said above as well; it's not really safe for you to be browsing the internet at all using a browser that old. That said I sympathize with your frustration, and hope you understand we aren't trying to shut users out, but to move toward the future and not linger in the past. MusikAnimal talk 05:43, 16 November 2022 (UTC)
as well as the rest of the web. – Unfortunately. Even though a "bit rot" is a jocular myth, I feel it all the time. Yesterday I could have used my bank online, today I have to go across the street. That's what they call "progress".
But why my beloved WP should increase my lossage? Is it a bank, too?
And as for "safety", I still don't know what they all are talking about for 20 years or so. My software is always perfectly tuned (unless you are a perfectionist yourself, you'll not understand it), and I've never had any security issues, not even under Windows (which I have castrated enough with XPlite). Yet I'm very used to the situation that somebody on the Internet doesn't like my software, starting with MSIE3 in 1998 and the Linux version of NN4 in 2000. (Have you ever spent six hours compiling a tarball of Mozilla 0.6?) ;-) — Mike Novikoff 17:00, 23 November 2022 (UTC)

OK, I've disabled Twinkle in my prefs, I see "More" very close to "Search Wikipedia" again. Good night, sweet prince. Progress bloody progress. — Mike Novikoff 05:10, 7 December 2022 (UTC)

Edit request 8 September 2023

Description of suggested change: can skins=vector,vector-2022,monobook,timeless,modern,cologneblue be added to dropdown-menus (aka MoreMenu)? It just throws this error when loaded: "[MoreMenu] 'minerva' is not a supported skin. See https://w.wiki/9Se for documentation."Alexis Jazz (talk or ping me) 01:08, 8 September 2023 (UTC)

  Done Izno (talk) 02:09, 8 September 2023 (UTC)

Protected edit request on 21 October 2023

Please make the subtle update marker work in all namespaces, not just in special pages. NW1223<Howl at meMy hunts> 15:22, 21 October 2023 (UTC)

  Done See also WP:VPT#updated since your last visit Izno (talk) 16:32, 21 October 2023 (UTC)

Adding validations

Add {{#invoke:Validate gadgets|validate}} somewhere near the top.

Did you know that gadget names cannot start with a digit, or that requiresES6 flag cannot be used on a default gadget, or that a gadget name can't be more than 244 bytes, or that peer gadgets must be styles-only gadgets?

These are just a few of the checks done by Module:Validate gadgets to help avoid malformed gadget configurations. It also works on previews. (If there are no warnings, the "no issues found" message is shown only during preview.)

A demo is at testwiki:MediaWiki:Gadgets-definition (where the issues are so many that it had to be put in a collapsed box). – SD0001 (talk) 14:54, 4 January 2024 (UTC)

Added. Writ Keeper  16:21, 4 January 2024 (UTC)
Very cool module. Galobtter (talk) 01:12, 5 January 2024 (UTC)
SD0001 and Writ Keeper, I admit I'm late with this concern, but I'm not too happy to see that an unprotected module had been transcluded to the central gadget definition page. Pppery template-editor-protected it four days later; I've now upgraded this to full protection. If SD0001 is interested in further editing the central gadget definition page, I think they should apply for adminship and then request interface adminship. ~ ToBeFree (talk) 18:24, 1 February 2024 (UTC)
ToBeFree: Fair enough, and I'll certainly accept a mea culpa for that, though my understanding is that its placement within the <noinclude>...</noinclude> would prevent malicious edits to the module from causing any particularly serious issues. Writ Keeper  18:29, 1 February 2024 (UTC)
Thanks for the quick reply and sorry, I hadn't noticed the <noinclude>...</noinclude> – I incorrectly assumed the module only had no effect because it had no output. I just tried to build a noinclude-escaping template and a noinclude-escaping module, but neither worked; the <noinclude>...</noinclude> is probably strong enough and I'll restore the previous protection level of the module. I also take back my objection to the module being invoked on the Gadgets page as long as that remains inside noinclude tags. ~ ToBeFree (talk) 18:54, 1 February 2024 (UTC)
My understanding is that the <noinclude>...</noinclude> doesn't really do anything. Gadgets extension looks for lines starting with a * or lines that are headers and ignores everything else. However I also believe it doesn't generally consider templates, so this is probably still safe. Bawolff (talk) 19:12, 1 February 2024 (UTC)
I'm not following what the concern was? Were you worried that it was possible for a non-admin to define a new gadget by having the module emit text that looks like a gadget definition? That is not the case. MediaWiki parses the gadgets definition page as plain text and extracts the definitions. There is also no need for the <noinclude>...</noinclude> to be there. It doesn't do anything. – SD0001 (talk) 19:13, 1 February 2024 (UTC)
Yeah, that was my concern. I just did more research about "noinclude" on this type of MediaWiki pages and ended up asking in #wikimedia-tech; Bawolff had a closer look at the Gadgets extension's code and then provided the analysis above. This resolves my concern and the module is already back to template protection. Thanks all! ~ ToBeFree (talk) 19:17, 1 February 2024 (UTC)

Suggesting a gadget TOC

At MediaWiki talk:Gadgets-definition/Archive 1#Add table of contents? I suggested to add a TOC to Special:Preferences#mw-prefsection-gadgets. It didn't appear practical at the time but MediaWiki makes id's at the sections now. I suggest to add this TOC to MediaWiki:Gadgets-prefstext which is displayed at top of the gadgets tab:

With a TOC like this we may be less concerned about "cluttering" the page with useful gadgets.

A version with Special:Preferences added to the links so it works here for testing:

It works for me even though it also has to switch tab. The links need updating if we change sections at MediaWiki:Gadgets-definition but that's rare. I chose a single-line TOC but it could also be multi-line. Similar code is used in MediaWiki:Pageinfo-header which adds a TOC to page information like https://en.wikipedia.org/w/index.php?title=Example&uselang=en&action=info. PrimeHunter (talk) 17:02, 25 December 2023 (UTC)

@PrimeHunter I must be confused, this is about displaying a table of contents on the page MediaWiki:Gadgets-definition correct? That page already has a TOC. — xaosflux Talk 17:17, 25 December 2023 (UTC)
@Xaosflux: No, this is about displaying a TOC at Special:Preferences#mw-prefsection-gadgets. Special pages don't have talk pages so I made the suggestion here. PrimeHunter (talk) 17:23, 25 December 2023 (UTC)
I have filed phab:T217606 already for this. Izno (talk) 17:27, 25 December 2023 (UTC)
Yes, in 2019 with no signs it's happening. The other tabs are much shorter and most wikis probably also have a short gadgets tab. I doubt MediaWiki will ever add it. If it does, we can just remove our own version. PrimeHunter (talk) 17:38, 25 December 2023 (UTC)
Shrug. I don't think it's worth doing. The list of gadgets is not so long as to be totally unwieldy. Izno (talk) 18:14, 25 December 2023 (UTC)
One related thing to note, the pref searcher works with the gadget desciptors now. — xaosflux Talk 18:34, 25 December 2023 (UTC)
I don't think that we need a phab ticket to amend MediaWiki:Gadgets-prefstext. --Redrose64 🦌 (talk) 18:37, 25 December 2023 (UTC)
We do not, which is the mechanism PrimeHunter is proposing to insert the table of contents. Izno (talk) 19:26, 25 December 2023 (UTC)
Adding to MediaWiki:Gadgets-prefstext seems fine enough to just try, put it under the big warning please. — xaosflux Talk 20:10, 25 December 2023 (UTC)
I have added the above TOC except with centering since it's displayed below a centered box.[1] PrimeHunter (talk) 17:55, 4 April 2024 (UTC)