Page MenuHomePhabricator

wikilove fails on classic skin
Closed, ResolvedPublic

Description

https://secure.wikimedia.org/wikipedia/en/wiki/Wikipedia:Village_pump_(technical)#Wikilove_link_not_working_in_Classic_skin

"whilst it looks ok in the default Vector skin, all I get in Classic is a badly formatted text link, which doesn't do anything when I click it (see [3] for preview)"

https://secure.wikimedia.org/wikipedia/en/w/index.php?title=User:Optimist+on+the+run&useskin=standard


Version: unspecified
Severity: major

Details

Reference
bz29668

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:26 PM
bzimport added a project: WikiLove.
bzimport set Reference to bz29668.

The JS bindings check explicitly for a link inside a tab with id ca-wikilove; this works on Vector and Monobook, but on Classic skin (in 1.17 and current SVN trunk) it ends up with a bare <a href="#">, not inside a surrounding tab. So the link is there, but isn't found by the bindings in $.wikiLove.init():

		var $wikiLoveLink = $( '#ca-wikilove' ).find( 'a' );
		$wikiLoveLink.unbind( 'click' );
		$wikiLoveLink.click( function( e ) {
			e.preventDefault();
			$.wikiLove.openDialog();
		});

Since there's no actual destination URL specified, the link is also completely useless if JavaScript is disabled, for any skin.

If a non-JavaScript behavior is not possible, the tab should either not be added in the original HTML, or it should at least be hidden by default CSS that's undone when JS is available.

r91320 is incomplete hardcodes a check for the old 'standard' skin and fails to apply the fixup to other legacy skins such as cologneblue.