Description
Event Timeline
Sorry if WMCH apparently missed this beautiful work. I'm now assigned to this and I hope we can integrate this quickly.
The first thing I noticed is: unfortunately, this skin does not run successfully on MediaWiki 1.28.0. I see this as a feature actually. So we can:
- WMCH can boost T278033 - so - conclude Wikimini.org migration from 1.28 to 1.35+
- or, WMCH can boost a backport of your lovely forked skin down to 1.28 (probably faster to have a live demo online but it's a bit nonsense from a sustainability point of view)
So let's boost T278033
As I already said we can probably avoid to backport, but anyway, this was the main error with the fork running in MediaWiki 1.28:
PHP Fatal error: Uncaught Exception: /var/www/wikimini.org/www/w/skins/Wikimini/skin.json: unsupported manifest_version: 2 in /var/www/wikimini.org/www/w/includes/registration/ExtensionRegistry.php:196
Stack trace:
#0 /var/www/wikimini.org/www/w/includes/registration/ExtensionRegistry.php(138): ExtensionRegistry->readFromQueue(Array)
#1 /var/www/wikimini.org/www/w/includes/Setup.php(40): ExtensionRegistry->loadFromQueue()
#2 /var/www/wikimini.org/www/w/includes/WebStart.php(137): require_once('/var/www/wikimi...')
#3 /var/www/wikimini.org/www/w/index.php(40): require('/var/www/wikimi...')
#4 {main}\n thrown in /var/www/wikimini.org/www/w/includes/registration/ExtensionRegistry.php on line 196An update on this task related to T278033: I tested this skin on the current test upgrade of Wikimini 1.35, it does not work since it requires explicitely 1.39. I tried removing this explicit condition, but there are 1.39-specific method calls, and tried to go back in the Git history (b71f300 specifically, just before the explicit 1.39 condition), without success.
I also tested this skin on a MediaWiki 1.39, it works basically but a few things should be fixed (some images were missing).
I am testing sv.wikimini.org locally on 1.39 (no public demo for now) and the header "swiffy" badly interacts with MediaWiki’s ResourceLoader: in resouces/js/sv/swiffy-runtime-7.3.js there is somewhere Function.prototype.toString=function(){return"[type Function]"} and this pollutes the ResourceLoader: after the first execution of the swiffy header, the ResouceLoader stores the JS in the browser localStorage, and at the next load it tries to execute 'mw.loader.implement("jquery.cookie@emj1l",[type Function],null,null,null);' (and it is not valid JS so it fails) because of the Function.prototype.toString defined previously.
I see this comes from the proprietary tool Google Swiffy which converted Flash to HTML5, and it was closed in 2016, so there is no way to regenerate a (hopefully) better updated version.
I may patch this issue by remplacing Function.prototype.toString… in the minified JS (and it seems to work on this point), but I would recommend to abandon this header on the medium term, and replace it with a properly written modern JS+HTML (possibly with the same global design).