User Details
- User Since
- Nov 9 2018, 4:09 PM (379 w, 2 d)
- Availability
- Available
- LDAP User
- SD0001
- MediaWiki User
- SD0001 [ Global Accounts ]
Mon, Feb 9
Fri, Feb 6
Wikibase could use the wgContentLanguage for short descriptions.
Fri, Jan 30
Wed, Jan 28
Reported again on enwiki yesterday: https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)#Edits_to_watched_article_not_appearing_on_watchlist
Fri, Jan 23
Also fixed 5 wikis that were using #wpTextbox1[readonly] + .ui-resizable > .ace_editor.
Global search shows 51 site CSS pages using .mw-textarea-protected + .ui-resizable .ace_content selector to target the CodeEditor div on protected pages. This no longer works as there is no ui-resizable class.
Thu, Jan 22
Sun, Jan 18
Sat, Jan 17
Why? Where can I read the reasoning behind adding this whitespace?
Jan 15 2026
I suggest going with the first option for now and creating a separate task to explore the possibility of extensions extending the list of recognized globals.
Jan 13 2026
Jan 11 2026
The page is also non-editable. The error message seems self-contradicting:
Jan 9 2026
This is live now.
As communities have started referring to category-triggered gadgets as "template gadgets", it seems to make sense to actually make them template-triggered. A category may or may not be required. When the template is used in interface messages, it's actually harmful to use a category as that causes views that use the interface message (even special pages, forms, etc) to oddly have the #catlinks footer.
Jan 5 2026
The list of pages that need to pass can be obtained by going through every WikiModule in the module registry and calling getPages() on them. This isn't exposed client-side, but it can be done within the API implementation. Not sure how we want to expose it:
- Validate to ES2017 for pages needing to pass Peast, and ES2024 for other pages? (The API caller won't be able to tell what standard was used for validation.)
- Send error code syntax-error for issues on pages that need to be compliant, and syntax-warning for other pages?
Jan 3 2026
Jan 1 2026
They are from CodeEditor's linter, which is outdated. Unlike true validation errors from css-sanitizer, these errors wouldn't block the save. You won't see the errors if you opt in to "Improved syntax highlighting" beta feature.
Dec 25 2025
This is clearly a bug in the gadget. Should be reported on the gadget talk page.
Dec 24 2025
Dec 23 2025
Passing yes/no is very unusual in the Action API. It makes it look like a boolean param, so people might expect 1 to behave same way as yes. For an enum param, the names could have been more descriptive, eg. discussiontoolsautosubscribe = always / never / preferences.
Dec 21 2025
There is an .nvmrc file, which says 20.19.5.
Dec 19 2025
One thing that is not clear to me is how testing would take place when Lua modules are no longer developed on-wiki. While gadgets can be tested while they're sitting on your local filesystem using the localhost import method, I'm not aware of an equivalent way to test a module without saving it on-wiki. API:Scribunto-console can test output from an not-yet-saved module, but it's text-based and cannot display any html. Special:TemplateSandbox (and its API:Parse extensions) can display previews, but requires the modules to be saved on-wiki first.
Dec 17 2025
~~~~ and {{subst: work through PST. The rest is parsing.
Dec 16 2025
Some UI/UX suggestions, based on comparing with CodeEditor:
I think T373834 is a good middle ground, which ensures pages can be still be backlinked, categorized, and tagged for deletion.
Dec 15 2025
Categorization doesn't work because subjectpageheader is used as an *interface* message. For it to work, the message will have to be added into the parser output (like with scribunto-doc-page-show). There are other things that will change by doing that:
not actively working on this; it turned out be more complex than initially anticipated.
Dec 14 2025
Dec 13 2025
Dec 12 2025
Dec 9 2025
It has tests now, added in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SyntaxHighlight_GeSHi/+/926661.
Dec 8 2025
Dec 7 2025
This doesn't actually work in production:
I think Tgr is talking about what is possible with Parsoid, not what it currently does. It does seem possible for the DeduplicateStylesDOM implementation to hoist style tags out from tables.
Dec 6 2025
Dec 5 2025
Dec 4 2025
The order matches what shows up in the db (sorted by user id). It's stored after normalizing the names, adding @enwiki suffix, and removing duplicates. The last step in particular can make it difficult to preserve the original order. I don't think it's worth it.
TranslationRepo uses the same flawed pattern as the other pages which were fixed; this one wasn't fixed as there was no reproducible issue.
Nov 27 2025
I create a Vue component such as "Foo.vue" similar to this (may need some changes to work with MediaWiki):
<script setup>import Component from './Bar.vue';</script><template><Component/></template>
For CSS, work needs to be done to have css-sanitizer and/or TemplateStyles return the violations in a structured format.
Okay, I see it now.
This is related to T200206 but not the same.
Nov 26 2025
A new SVG sanitizer has been built (originally for T407783, hack attempts welcome!), which could be used for client-side rendering. This would avoid the security issues from users opening the image in a new tab, even without a CSP policy. Essentially, we could keep the transformation step but do SVG -> sanitized SVG instead of SVG -> PNG. While we're at it, multilingual SVGs can be handled with some postprocessing to avoid client-side language selection (process elements with systemLanguage attribute and check if it matches the lang= of the thumbnail - remove the attribute if it does, or remove the element if it doesn't).
Nov 25 2025
The speak property isn't supported in Firefox or Safari. Chromium supports it but it implements what might be the old spec (bug 40813740). None of the other properties from Speech Level 1 are covered on MDN or caniuse.com, so not implemented in any browser. Probably best to to keep this out of css-sanitizer for now.
Nov 24 2025
This can be announced together with T384992 which is similar. I'd suggest:
CSS variables defined by the skin, codex or using HTML style attributes in wikitext, can now by used in TemplateStyles within math and color functions such as calc() and rgb(). [[phab:T405519|1]] [[phab:T384992|2]]
I ran a little experiment: the lua module at https://en.wikipedia.org/w/index.php?title=Module:Sandbox/SD0001/ext&oldid=1323886587 has functions to show the existence status of 500 pages, with and without use of newBatch().
Nov 23 2025
I believe the username is mentioned in the "To:" header of all Echo emails.
Nov 22 2025
Is there a practical use case where it creates an issue? newBatch() is intended to help avoid hitting parser function limits, but if you are really going to abuse it for 7000+ page lookups, it'll inevitably hit some limit or another. That's not a performance issue, it's the system working as intended to prevent excessive load.
There's a user script that does this: https://en.wikipedia.org/wiki/User:SD0001/hide-reverted-edits
Nov 17 2025
"b" indicates a bot edit, not an edit by a bot. There is a difference. Accounts with markbotedits right (given to administrators) are able to make bot edits that they are hidden from RecentChanges under default settings.
Nov 16 2025
Will be fixed by https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1205720 and/or its parent.
Nov 14 2025
Nov 7 2025
Nov 6 2025
That was reverted unfortunately.
Curiously, English Wikipedia's Edittools appear to still be working.
Likely to be because of https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Gadgets/+/460422 / T161278.
Nov 5 2025
Would be good to make SVG/Svg and CSS/Css consistent as well. CamelCase seems better than all caps.
Nov 4 2025
Resolved through https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Gadgets/+/460422.
Nov 3 2025
Current support in Lua is for rendering SVGs in <img> tags, which does not support any interactivity like clickable links. It's only possible with T407783.
Nov 2 2025
Nov 1 2025
Sounds like a UBN. All drafts are expected to include external links (references).
Oct 30 2025
Seconding what matmarex said about using a significantly higher limit. I think a reasonable limit would be one that's based on consideration of how many a user can have before it starts creating problems on the infrastructure. Does the infra crib with just 20 or 30 userjs options? I don't think constraints should be based on current usage alone - the software should be able to handle future requirements as well. Most limits are set once and never raised. The pattern I've mostly seen is scripts/gadgets storing prefs as a JSON string in a single userjs field. It's reasonable to install more than 30 scripts. On User:Queen of Hearts/common.js, I count 125. We wouldn't want script developers to resort to hacks (such as multiple scripts somehow trying to share the same userjs field) to circumvent the limit.
Oct 29 2025
Oct 28 2025
Instead of adding a magic word, I think this should be done via Lua: T362937.
