User:Chieftain Alex/MediaWiki

From Guild Wars 2 Wiki
Jump to navigationJump to search

Various observations on how the wiki behaves and possibly some bugs too.

Upgrade roadmap[edit]

  • November 2023: MW 1.39 (delayed to April 2024)
  • March 2025: MW 1.43
    • Looks like very few changes.
  • March 2027: MW 1.47
    • This will probably be when the linear Parsoid/JS gets replaced with the non-linear Parsoid/PHP version. This will break the Variables extension. This will mandate removal of any inline SMW declarations using the :: notation (#set + #subobject will still be ok).
    • Cargo has also been suggested as an alternative due to SMW being a nuisance for every significant upgrade, this has the side effect of everyone having to use SQL.

Mediawiki 1.39[edit]

Overview

Notes from interrogation of Special:Version page diff:

 "MediaWiki": "1.38.7",				"MediaWiki": "1.39.6", 1Yes
 "Elasticsearch": "6.8.0"			"Elasticsearch": "7.10.2"
 "Semantic Drilldown": "2.1", 1Yes
 "Semantic MediaWiki": "4.1.1",			"Semantic MediaWiki": "4.1.3", 1Yes
 "Semantic Result Formats": "4.0.2",		"Semantic Result Formats": "4.2.0", 1Yes
 "Page Forms": "5.6.1",			 	"Page Forms": "5.6.3", 1Yes
 "DynamicPageList3": "3.4.6",			"DynamicPageList3": "3.5.2", 1Yes
 "ParserFunctions": "1.6.0",			"ParserFunctions": "1.6.1",
 "Google Analytics Integration": "3.0.1",
 "ParserHooks": "1.6.1",
 "elasticsearch/elasticsearch": "6.7.2",	"elasticsearch/elasticsearch": "7.11.0",
Release notes review

Checked release notes for:

  • MW - ok (link)
    • $wgIncludeLegacyJavaScript has been removed. Note that no functionality was removed in this release. Most former "wikibits" functions were removed after deprecation in previous releases. The remaining functions, such as importScript, are available unconditionally.
    • Administrators now have the option to delete/undelete the associated "Talk" page when they are (un)deleting a given page. `deletetalk` and `undeletetalk` options were added to the 'delete' and 'undelete' action APIs in MW 1.38.
    • Basic non-JavaScript (Grade C) support has been dropped for Internet Explorer 9-10, Firefox 27-38, and Android 4.3-4.4.
    • Changes to skins: The feature `legacy` used inside ResourceLoaderSkinModule, deprecated in 1.37, will no longer ship any styles.
  • SMW - ok (4.1.2 and 4.1.3)
  • SMW result formats - ok (link)
  • DPL - ok (link)
  • Page forms - ok (link)
Skin checks
  • Vector skin diff
  • A couple of changes will be required for vector 2022 to ensure it displats OK:
  1. Nasty extra background on the personal icon - needs setting to transparent.
  2. Page is crushed left-right unnecessarily, and unlike on native wikipedia there's no option to expand it to full width?
  3. Font colours have additional rules to override (top menu).
  4. Watchlist icon needs fixing
  5. Collapsed top-right menu needs font size enhancing.
  6. Tabs have been integrated into the page (previously stuck out the top - probably some margin and rounded border rules to remove/modify.
#p-search .mw-ui-icon-wikimedia-search, #p-personal-more, #p-personal {
  background-color: rgba(0,0,0,0.5);
}
.mw-page-container - has width rules and some small margins
.mw-page-container-inner - has grid rules - probably OK to leave these
.mw-content-container - has some left/right margin rules, and importantly a max-width 60em rule.
.vector-menu-tabs .mw-list-item a - colors to fix
Prompts from Greener to look at abusefilter
  • Some Abusefilter rule keywords have been deprecated/removed:
    • article_articleid >> page_id
    • article_namespace >> page_namespace
    • article_text >> page_title
    • article_prefixedtext >> page_prefixedtitle
    • article_restrictions_edit >> page_restrictions_edit
    • article_restrictions_move >> page_restrictions_move
    • article_restrictions_upload >> page_restrictions_upload
    • article_restrictions_create >> page_restrictions_create
    • article_recent_contributors >> page_recent_contributors
    • article_first_contributor >> page_first_contributor
    • minor_edit
    • moved_to_articleid >> moved_to_id
    • moved_to_text >> moved_to_title
    • moved_to_prefixedtext >> moved_to_prefixedtitle
    • moved_from_text >> moved_from_title
    • moved_from_prefixedtext >> moved_from_prefixedtitle
    • moved_from_articleid >> moved_from_id
  • There's a note on mw:Extension:AbuseFilter/Rules format that edit_delta only works if you check action == edit.

Mediawiki 1.38[edit]

Vector skin diff

  • Can't see anything significant in the release notes.
  • Not mentioned in the release notes, may have been changes to the associated skin instead of the actual MW package: Lots of CSS rules in monobook had a body:not(.skin--responsive) prefix added to them. Vector amended yet again.
  • The script which adds the "Leave article feedback" button will need amending to insert a span element inside the a element with the link in it.
Bugs
  • Low impact: Not sure if intentional, but a purge button appears on all special pages.
CSS
  • mw:Reading/Web/Desktop Improvements/Features/Visual Refinements
  • Ideally would adjust how the clock is printed, within a span instead of just within an "a" element.
  • Vector 2010 skin with "use legacy vector" UNTICKED and responsive mode UNTICKED; change in the way the elements are laid out in the skin means need to rethink how the ArenaNet triple link upperbar is located - suggest adding directly beneath the body element to make use of absolute positioning (relative to body).
SMW

Mediawiki 1.37[edit]

Mediawiki 1.36[edit]

  • Vector amended yet again. CSS classes renamed (vectorTabs, vectorMenu, the drop down menu). Elements reordered.

Mediawiki 1.35[edit]

Broken stuff (desktop)
  • None
Broken stuff (mobile)
  • Mobile view JS doesn't immediately seem to be firing. All the embellishments we added to the mobile menu are gone. Ah it's a javascript error "menuData is null". Yes they seem to have removed the useful menu property. I'll see if i can find the fix. mw:Extension:MobileFrontend/MobileMenu.
  • Will need to remember to edit the spanish wiki's mobile menu too when this breaks.
  • Slight CSS tweaks required to remove opacity on the site name and change the CSS class for the "burger" menu.
MW
  • Seems ok, no more errors than previously reported on GW2W:BUG. 1 fixed (smw property processing error). 3 outstanding.
  • New little indicator in the top-right when loading pages, pushes the LWS3/4/5 notification marker out of the way whilst loading but ok when finished.
  • (Why have we still got modern/cologne blue skins available... grr)
    • FWIW, I ran a query and there are around two thousand accounts set to use those two skins. Justin Lloyd (talk) 19:30, 18 March 2021 (UTC)
      • They are nowhere close to being customised for this wiki. I would even lean myself out the window and say that there would be community agreement to remove them. —Kvothe (talk) 20:16, 18 March 2021 (UTC)
  • Not much noise in the browser console, only one entry.
    • Resource not found: "[...]src/mediawiki.skinning/images/magnify-clip-ltr.svg" - Looks like some kind of common icon normally found in the equivalent to this folder - maybe check what's in the 1.35 version you've used? Repeat this issue by visiting the page The Mists.
      • Alex, this seems to only be a problem when not logged in, logging in eliminates the error. For some reason, the request when logged out starts with /wiki/Resources/..., but it is /resources/... when logged in. FWIW these images are distinct from the uploaded stuff, this is part of the MediaWiki distribution and stored under the top-level "resources" directory. I'm not sure what's causing this difference right now and so far it only seems to be for this one SVG ltr (left to right) resource image. Justin Lloyd (talk) 19:30, 18 March 2021 (UTC)
        • Odd, i was logged in when i experienced that resource bug :S -Chieftain AlexUser Chieftain Alex sig.png 19:49, 18 March 2021 (UTC)
          • I also had the impression it was skin-related, possibly between the new and legacy Vector skins, but I couldn't seem to confirm this. Justin Lloyd (talk) 19:59, 18 March 2021 (UTC)
Extension- Semantic MediaWiki 3.1.6 → 3.2.2
  • Might fix the outdated data problem on Property:Has location type - looks like it works now.
  • I see a few namedargs fixes, maybe tree is fixed?
  • Special:Browse has a few more section dividers but nothing significant.
  • Nothing interesting in the changelogs.
Extension- Page Forms 4.9.5 → 5.1
  • Fixes for the jQuery UI log messages we've been receiving for over a year
  • Good.
Extension- MobileFrontend 2.1.0 → 2.3.0
  • No tangible history because it uses hideous gerrit.

Mediawiki 1.32 + Mediawiki 1.34[edit]

Back-end
  • Sysops cannot edit the user interface pages (JS/CSS). 1Yes Fix identified: The four user rights identified on Guild Wars 2 Wiki:Interface administrators need adding to the sysop group OR provide sysops with the Interface administrator rights.
    • Additionally it may be required (e.g. if a message along the lines of "the current content model does not allow this page to be edited" appears) to use Special:ChangeContentModel twice before editing the CSS.
  • Default parameter for smw #show: and #ask: functionality has changed (see below). 1Yes Purge all associated pages. Need to identify a working fix. (github thread with an insufficient fix)
Missing stuff
  • 0No "MediaWiki no longer has a 'JavaScript-powered' wikitext toolbar built in. The old "bulletin board style toolbar", known as "the 2006 wikitext editor", has been removed, and instead sysadmins will be required to choose one (or more) of the several extensions available for this purpose if they need the functionality."
    • No bold/italic buttons - suspect this is to steer people towards visual editor. Could be recreated with a common.js script.
Broken stuff
Other notes
  • Special:Preferences has an option to ignore all interface updates using OOjs -- may be have been removed later, can't see it anymore.
  • SMW template and list formats have been deprecated (ref)
    • format=template needs replacing with format=plainlist
    • format=list needs replacing with format=plainlist
  • Removed final list separator (", and") -- this may break something (didn't affect recipe lookups).
  • Invalid image syntax (e.g. specify two different pixel sizes like so is highlighted when smw's "Has appearance::" annotation is used.

Mediawiki 1.30[edit]

Broken stuff
  • Event timer stuff
    • jQuery.fn.bind() is deprecated
    • jQuery.fn.delegate() is deprecated
    • deprecated ResourceLoader module "jquery.ui.widget" + "jquery.ui.core" ... both of these come from the jquery.ui module for ".sortable". They recommend using "mediawiki.ui.button" or "oojs-ui" instead, but neither of these modules provides the same functionality.
  • SMW gallery format with overlay images (opening the overlay image traps you preventing it from closing)
  • SMW gallery formats have the image size in pixels forced onto the end of the annotation.
Other notes
  • External scripts loaded using mw.loader.load must not use the array notation.
  • DPL3 with randomcount and randomseed (the latter has been removed) - example previously on GWW main page.
  • MediaWiki:Searchsuggest-search
  • Could remove Extension:Maps

Resource loading sequence[edit]

Background
Thinking about whether the gamelink widget could be written through the site-wide JS instead of using inline scripts, which seems to result in the chatlinks sometimes not being encoded/partial success (especially true of long pages).
Method
Firefox > Dev Console > Network tab. Load any page. Observe the resources that are called (particularly JS).
# Description Specifics
1a HTML for basic page structure startup
1b Widgets are included in the above. Scripts are loaded inline. inline js
2 Core MW CSS and JS (ugly monobook) built-in CSS and JS, config, jquery, access keys, tooltips
3 Site-wide common and skin-specific CSS and JS (pretty monobook) site CSS and JS, jquery extensions, MW toolbox, MW API
4 User common and skin-specific CSS and JS user CSS and JS
5 Group common and skin-specific CSS and JS group CSS and JS
Other observations
Common/Monobook/User CSS is also loaded in addition to JS. This means the CSS skins are downloaded twice (waste of time). Fixed in a later version of MW? old post

CSS and JS[edit]

  • The mobile layout (e.g. use of branding box word logo instead of the square logo) is applied if the Special:Preferences skin is set to Minerva or mobileaction=mobile_view_toggle is used.
  • On a desktop platform, irregardless of whether the mobileaction=desktop_view_toggle or mobileaction=mobile_view_toggle setting is used, common.js is loaded.
  • On a mobile platform, irregardless of whether the mobileaction=desktop_view_toggle or mobileaction=mobile_view_toggle setting is used, mobile.js is loaded.
  • Minerva.css fails to load in all instances except on Desktop where Special:Preferences skin is set to Minerva.
  • Monobook/Vector.css (or Vector if logged in and set in preferences) fails to load on a mobile platform where the mobileaction=desktop_view_toggle has been used.
  • Vector-2022 also loads Vector.js and Vector.css.

The following tables illustrate what happens (using MW 1.38.2 and Extension:MobileFrontend 2.4.0)

What originally loads
Scenario Platform mobileaction mode Skin preference Dominant skin (from mobileaction mode or skin) Scripts loaded due to dominant skin Style loaded due to dominant skin Core scripts due to platform Core styles due to platform
1 DESKTOP Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Monobook/Vector.css Common.js Common.css
2 DESKTOP Desktop Minerva Minerva Minerva.js Minerva.css Common.js Common.css
3 DESKTOP Mobile Monobook/Vector Minerva Minerva.js Common.js
4 DESKTOP Mobile Minerva Minerva Minerva.js Common.js
5 MOBILE Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Mobile.js Mobile.css
6 MOBILE Desktop Minerva Minerva Minerva.js Mobile.js Mobile.css
7 MOBILE Mobile Monobook/Vector Minerva Minerva.js Mobile.js Mobile.css
8 MOBILE Mobile Minerva Minerva Minerva.js Mobile.js Mobile.css
What should have been programmed to load
Scenario Platform mobileaction mode Skin preference Dominant skin (from mobileaction mode or skin) Scripts loaded due to dominant skin Style loaded due to dominant skin Core scripts due to platform Core styles due to platform
1 DESKTOP Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Monobook/Vector.css Common.js Common.css
2 DESKTOP Desktop Minerva Minerva Minerva.js Minerva.css
3 DESKTOP Mobile Monobook/Vector Minerva Minerva.js Minerva.css
4 DESKTOP Mobile Minerva Minerva Minerva.js Minerva.css
5 MOBILE Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Monobook/Vector.css Common.js Common.css
6 MOBILE Desktop Minerva Minerva Minerva.js Minerva.css
7 MOBILE Mobile Monobook/Vector Minerva Minerva.js Minerva.css
8 MOBILE Mobile Minerva Minerva Minerva.js Minerva.css
What I've set via JS to load (workaround)
Scenario Platform mobileaction mode Skin preference Dominant skin (from mobileaction mode or skin) Scripts loaded due to dominant skin Style loaded due to dominant skin Core scripts due to platform Core styles due to platform
1 DESKTOP Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Monobook/Vector.css Common.js Common.css
2 DESKTOP Desktop Minerva Minerva Minerva.js Minerva.css (reloaded) Common.js (skipped) Common.css (unloaded)
3 DESKTOP Mobile Monobook/Vector Minerva Minerva.js Minerva.css (added) Common.js (skipped)
4 DESKTOP Mobile Minerva Minerva Minerva.js Minerva.css (added) Common.js (skipped)
5 MOBILE Desktop Monobook/Vector Monobook/Vector Monobook/Vector.js Monobook/Vector.css (added) Mobile.js (sent to Common.js - rest is blank), Common.js (added) Mobile.css (blank), Common.css (added)
6 MOBILE Desktop Minerva Minerva Minerva.js Minerva.css (added) Mobile.js (blank) Mobile.css (blank)
7 MOBILE Mobile Monobook/Vector Minerva Minerva.js Minerva.css (added) Mobile.js (blank) Mobile.css (blank)
8 MOBILE Mobile Minerva Minerva Minerva.js Minerva.css (added) Mobile.js (blank) Mobile.css (blank)

Test cases[edit]

HTTPS redirects[edit]

Session hijacking login test
  • Login, and remember this login, under HTTPS. Now try to visit the HTTP login page. Success if cannot get to HTTP version.
HTTP to HTTPS (article)
HTTP to HTTPS (article talk, with apostrophe)
HTTP to HTTPS (user space)
HTTP to HTTPS (user space, with apostrophe)
HTTP to HTTPS (user space, with apostrophe, with trailing slash)

URL character encoding[edit]

Edit an article with an ampersand in the title
  • Visit PR&T Esoterics. Press history at the top. Confirm history is shown. Now press edit at the top, and try submitting a change.
Edit a talk page article with an ampersand in the title
Test a chatlink is decoded in Special:Search (I kinda need to know which arguments the game sends when you type /wiki .. but I can't access GW2 here)

5 second response time when pressing submit[edit]

  • Navigate to a new page title. Make some edits in the edit box. Press preview - it should load almost instantly. Press save - takes 5 seconds. User:Chieftain Alex/new page. Passes test if quicker. Delete afterwards.

Weird SMW pages[edit]

  • Property:Change propagation — when you make a change to any property, this one shows up with the count of pages left in the processing queue.