TULIPS/June 27th, 2024

From Support Wiki
Jump to navigation Jump to search

Welcome to our first TULIPS (Thursday Updates & Logs Improving Platform Software)!

These posts will be made whenever we have enough dev updates to make a post, usually on Thursdays. As we're coming off the 1.41 platform upgrade, we currently have a lot of small changes. Some of these are bug fixes, some of these are new extensions, and some are new MediaWiki features backported from 1.42 to 1.41.

Live now

New features

  • Gadgets can now be controlled by the |categories= param. For example:
    * myGadget[ResourceLoader|categories=Characters]|myGadget.js
  • We have enabled the extension Extension:GlobalCssJs! This means you can edit Special:MyPage/global.css and Special:MyPage/global.js on our Support Wiki and what you put here will be applied to the entire platform!
  • We are now using a different approach for CAPTCHAs, called Turnstile. This is currently enabled for all wikis without VisualEditor enabled. VE has some issues which may affect editor experience, so we'll roll this out to wikis with VE at a later date after those issues are squashed.
  • Web notifications for watched pages have been enabled.

Performance updates

  • DPL should evaluate more efficiently now. This does not mean we encourage the use of even more DPL - only that the DPL we already have should impact server performance less.
  • As part of the MediaWiki 1.41 update we have scaled up our database servers. We hope this will reduce the number of database connection errors.

Fixes

  • Resolved incompatibility issues with the Catisect extension for the Warcraft Wiki.
  • Edits made to pages with Extension:Page Forms can now be previewed.

Cargo

Join order

Cargo pushed a "small" update that seriously affected the order in which joins can be specified. If some of your queries broke, please let us know. We are currently debating whether it's safer to revert this change or to accept that this is how it works now. Either way, this should only affect queries with 3+ tables being joined together, therefore only a small subset of wikis is affected.

$wgCargoStoreUseTemplateArgsFallback

For a few years now, Cargo has had a parameter called $wgCargoStoreUseTemplateArgsFallback. Here's an example of what happens if it's set to true:

  • MyTemplate stores data to MyTable with {{#cargo_store:_table=MyTable}}. Notice, there no parameters actually being stored inside of this cargo_store.
  • On page MyPage, MyTemplate is fed a parameter |appleColor=red.
  • MyTable coincidentally has a field called appleColor, declared as |appleColor=String.
  • Now, magically, MyPage is storing the data |appleColor=red to MyTable even though it wasn't explicitly told to.

Given this fairly cryptic behavior, we want to disable this parameter but it's a bit difficult to do this until some logging is in place. Therefore:

  • If you think you are using this functionality, either deliberately or accidentally, please edit your code so that you aren't anymore (by explicitly writing |appleColor={{{appleColor|}}} inside the {{#cargo_store)
  • UNDER NO CIRCUMSTANCES should you start using this functionality.
  • We are also rolling out a tracking category that will be added to pages any time Cargo makes a guess about what to store like this.
  • In the upcoming months, we will be going through all wikis that have any members of this tracking category and fixing any issues that remain.
  • After all affected wikis have been checked, we'll disable this behavior on the entire platform by default. It'll be, however, possible to request turning it back on on a per-wiki basis.

Upcoming changes

Known issues

  • Extension:RSS is not expanding HTML when it's safe to do so (e.g.  ).
  • The characters [ and ] are currently forbidden in tab names in tabbers, which is a regression from past behavior.
  • Extension:RemoveRedlinks will sometimes display redlinks for anonymous users when it shouldn't.
  • Extension:InputBox doesn't permit empty fields when editing a page with realtime previews.
  • We are noticing some slowness with the job queue, which we hope to address in the upcoming weeks.