Full stack developer and a tech lead in a daily job. I mainly deal with web stuff, and in wikimedia I mainly write gadgets (CSS/JS). UI/UX enthusiast.
On wikipedia since 2005.
User Details
- User Since
- Oct 13 2014, 5:14 PM (504 w, 1 d)
- Availability
- Available
- LDAP User
- Unknown
- MediaWiki User
- Nux [ Global Accounts ]
Tue, Jun 4
Mon, Jun 3
Thanks Func. Yes, I removed infobox styles both from mobile CSS (Mobile.css) and desktop CSS (Common.css). The problem was last reported 4 days after adding the default gadget when the styles were removed from Mobile.css and Common.css.
for templates used even in 30% of page views, it's better to keep them as template styles instead
Yeah, I already heard in T362747 that it's probably 7 days, but might be up to 14 days (maybe).
@Nux was what deployed ? What gadget? Specifics would be helpful here :-)
Was this deployed? After 4 days of moving desktop and mobile CSS to a default gadget we still get reports that some pages don't get CSS from the new gadget.
https://pl.m.wikipedia.org/wiki/Wikipedia:Kawiarenka/Kwestie_techniczne?markasread=28372271&markasreadwiki=plwiki
Fri, May 31
Thanks! And thanks for the warning too :-)
An example article (notice how borders are not collapsing)
Tue, May 28
Thu, May 23
Apr 21 2024
I don’t imagine these advanced things being used much. While the third option would be by far the most powerful, I don’t it would be by far the most useful.
Apr 18 2024
Now that 1) ES6 is the Grade A JavaScript requirement for MediaWiki and 2) the validator now supports ES6 (T75714), this means we no longer need the "requiresES6" flag for the gadgets extension, correct?
Apr 8 2024
Confirmed to work on patchdemo :-)
https://patchdemo.wmflabs.org/wikis/745f82bb2b/w/index.php?title=1886_in_Chile&oldid=154&diff=cur
Apr 6 2024
Not ideal but there is a gadget that at least adds whitespace:
// [[MediaWiki:Gadgets-definition]] formatter (links and stuff) if (mw.config.get("wgCanonicalNamespace") == "MediaWiki" && mw.config.get("wgTitle") === "Gadgets-definition" && document.querySelector(".mw-parser-output") ) { mw.loader.load("https://meta.wikimedia.org/w/index.php?title=User:Nux/gadgets-definition-ux.js&action=raw&ctype=text/javascript"); }
You can add this in:
https://meta.wikimedia.org/wiki/Special:MyPage/global.js
and it will fix scrolling on:
https://commons.wikimedia.org/wiki/MediaWiki:Gadgets-definition
Apr 1 2024
I'm with Izno on that (especially with point 1). That particular template feels like even/odd modules in npm [:
Mar 20 2024
I should mention that what I would actually love to have is <section> or any kind of parent/wrapper of the elements in the section. That would make many such things as nominations easier (del requests, good article, dyk article etc).
Hi. I specifically moved buttons away from section headers recently and into a template we can control locally (on wiki). This has drawbacks -- I needed to add section names to the template... but also again something we can control locally, not something that might change with a skin or MW update.
Mar 14 2024
Mar 9 2024
Mar 1 2024
Feb 29 2024
Feb 25 2024
Fixed by moving style out of text element, so there seem to be some problem with the render possibly related to style cascade.
Feb 13 2024
As someone who spent years maintaining user scripts and gadget on en.wp and providing support for users on WP:VP/T..... There is some truth to that, but I'd argue that a significant amount of the userscripts and gadgets are continuously broken. They cause issues for people where their javascript sometimes doesn't load. They cause errors to show up in the WMF logging.
Feb 10 2024
[…] I've tested building my DYK tool with Babel. The build is significantly slower. […]
This is an excellent argument against such build step! We generally don't use one for MediaWiki. Do you still need it? For many devs, they mainly did this in ~2013 as a way to get "Package files" and ES6 syntax. These are supported natively now. Build tools now mostly a left-over trend from the 2010s era of frontend development, involving needless complexity for largely unproven and misunderstood benefits.
I just want to add a few things to those already quoted by @SD0001 (thanks).
Feb 9 2024
@Nux Standardisation is not in question. Unlike new Web APIs (such as fetch), which can be polyfilled, or used via a conditional "if" statement, new syntax, if allowed even once, immediately breaks all code in many browsers that we still support. You can complain to upstream TC39 for having introducing features in ES2017 in a way that is backwards-incompatible. When MediaWiki raises its minimum requirement to ES8/ES2017, we will on the same day, raise the ESLint and site script validator to also allow this syntax.
Hi. I was forwarded here from another task :). I did a colour change for myself as I had problems remembering on mobile which colour is which. Changing to red-green helped with that.
Feb 8 2024
Sorry, I forgot I have a much smaller request. Could you flip the legend in HTML? I think "removed" belongs on the left side, and this is where inline diff puts "removed".
I was hoping I wasn't too late to make all of them red-green (so changing mobile/wikitext, not VE)... I think I agree with Sam here:
There are no plans currently to raise browser requirements to ES8/ES2017 or ES2020 etc. Not likely until browser engines, browser vendors/apps, audience usage thereof catch up.
Feb 2 2024
Jan 30 2024
Just BTW, but it is weird that visual is red-green and wikitext (inline) diff is yellow-blue. Shouldn't they both be red-green?
Jan 29 2024
In T334940#9480339, @TheDJ wrote:
Separate domain to serve iframes from, so that we can have interactive and cacheable content (pretty complex)
Jan 20 2024
Jan 14 2024
(ES2018) for await - Firefox 58+, Safari 11.1+, Chrome 63+, Opera 50+, Edge 18+
Note that async allows you to do much, much more readable code. E.g. by using await in HTML dialogs:
https://github.com/Eccenux/wiki-DYKCzyWiesz/blob/59d3b9ed4d93b6c42a59a9e7ce85b327d4bd9d64/src/DoneHandling.js#L80
I did not mean to argue that using requiresES6 for ES8+ should be supported, only that if that parameter is dropped or people are directed to remove it, Tech News should make it clear that that isn't a no-op change. I don't think it's that unlikely that someone did use for ES8+ code, either because they did not realize the code is ES8+, or because they didn't know requiresES6 means "ES6 and ES7 but not ES8". If a gadget breaking is the gadget developer's fault, it is still helpful to point them to the cause of the breakage.
Jan 8 2024
Jan 4 2024
You need to change comments moving them out of list items. https://ar.wikipedia.org/w/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadgets-definition&action=edit
Dec 27 2023
Oh, so all of that leads to an article. I assumed it was for a script :)... So that is not blocking removal of the Gadget namespace from enwiki too.
Dec 26 2023
Dec 11 2023
Nov 28 2023
Nov 25 2023
So if I understand it correctly, when sandbox'ing is applied, it always gets a transient origin, which means that upon each request the origin effectively changes and thus there is no caching right ? And the only way around it is using a separate domain without sandboxing ?
I think the message should be modified. This is not a very friendly message. Especially with that "localhost" which might freak out a dev 😉 (my initial thought: why is Wikipedia trying to connect to my localhost). Jokes aside, the message does suggest there is problem on my side but – as I understand – this is mostly a backend problem. So maybe log some details to JS console or a tooltip or something...
Nov 20 2023
I also found this in whatwg spec:
<iframe sandbox src="https://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>
[Warning!] It is important to use a separate domain so that if the attacker convinces the user to visit that page directly, the page doesn't run in the context of the site's origin, which would make the user vulnerable to any attack found in the page.
Use a separate but unsandboxed domain (en.wikipedia.wikimedia-usercontent.org or something like that) that internally resolves to the same wiki (with similar effects to the "sandbox mode" mentioned above, except it wouldn't do sandboxing, just relying on the origin / registrable domain being different). This would of course vastly increase the effort required (buying the domain, setting up DNS rules, certificates, a bunch of changes to site configuration...).
Nov 10 2023
Clam and others supported by 95.8% of browsers globally:
The quick fix for this particular case is to update the URL in Toolhub to the un-encoded value of https://commons.wikimedia.org/wiki/File:Logo_Dzień_Nowego_Artykułu_Orem_version.svg. I have done this at https://toolhub.wikimedia.org/tools/dna/history/revision/46196/diff/48064 and the desired icon is now rendering.
Nov 3 2023
Oct 31 2023
Thanks for the fix. That seems like a less invasive way then I wanted to do it.
Oct 30 2023
Oct 29 2023
Ci/cd configuration can be separated. For example I have a Jenkins installation of which configuration is not accessible to anyone. Jenkins pools GitHub and runs Wikiploy. That Wikiploy script can be in a separate repo if I need to. There is no problem in that.
Oct 26 2023
So I kind of actually implemented this myself 🙂
Oct 19 2023
Oct 11 2023
Does that mean you cannot reach non-mobile https://pl.wikipedia.org/wiki/Specjalna:Różnica_mobilna/71469982 anymore? Because I can.
Oct 8 2023
Sep 26 2023
I assume modules and templates using the classes are also affected, right?
https://pl.wikipedia.org/w/index.php?search=insource%3A%2Fmw-ui%2F&title=Specjalna:Szukaj&profile=advanced&fulltext=1&ns8=1&ns10=1&ns828=1
Petscan also depends on this. Or to be more exact it assumes calback parameter is available to avoid CORS issues.
Sep 23 2023
Hi. @Aklapper this shows that Wikipedia:Portal wikipedystów also triggers the switch of skin from monobook (prefered by Cuku New) to default (V'22).
If supporting negation perhaps it should be thought about more broadly and apply to all options (see also T342532)
Hm... I guess the parser part can be more universal. But I think having gadgets not in main namespace would help with budgets etc more. I assume most people, most of the time, probably visit only the main namespace.
Sep 22 2023
For the performance sake could you support namespace!=0 syntax?
Sep 20 2023
@Jdlrobson done. Didn't help, but I guess maybe cache? (purge didn't help though)
Sep 18 2023
For Polish Wikipedia all disambiguation pages have {{Ujednoznacznienie}} on top and the page preview fails for them.
Sep 16 2023
Sep 14 2023
Seems like tags with explicit display:none are removed. So the problem was not the span with class (like I assumed). I've modified our template and it should work now.
I think .noexcerpt should be added explicitly to templates (rather then implicit, default class for Phonos).
Sep 13 2023
Did you ever thought of using NodeJS?
Sep 12 2023
@AlexisJazz Seems I found a way, if that helps. They have some rules for addresses/page title as seems.
wgPageContentModel:"sanitized-css" wgRelevantPageName:"Template:Legend/Style.css"
@Izno Actually NavFrame is used on all year pages for collapsing navigation in a nice and more accessible way (both for sighted users and for users using screen readers and for mobile UX). But if you think you can do it with the default then we can discuss that. We can discuss that on WP:BAR:TE or on the template's page. In general default collapsing is visibly slower to load though.
A table with all this data would be great too. I mean something like:
{| |- ! gadget !! size [KiB] !! zipped [KiB] |- ... |}
login.toolforge.org is not working too (even after flushing local dns). So no way to ssh into TS.
Sep 11 2023
Sep 9 2023
Sep 2 2023
This code is used on wikisource:
var mwskin = mw.config.get('skin'); var parentId = mwskin === "vector-2022" ? 'p-associated-pages' : 'p-namespaces'; var item = mw.util.addPortletLink( parentId, '#', "Lorem ipsum"); if (item && mwskin === "vector-2022") { item.classList.add('vector-tab-noicon'); // v22 }
I think you're looking for https://toolhub.wikimedia.org/tools/patchdemo ?
Isn't this what the Beta-Cluster is for?
Sep 1 2023
Aug 28 2023
The example book looks terrible on my monitor in Vector '22:
https://fr.wikisource.org/wiki/Criton_(trad._Cousin)?match=en