Last modified: 2011-10-02 16:51:11 UTC
Links to [[irc:Whatever|#whatever]] seem to have extra blank space (like a \qquad or something - but can't be highlighted) before the link. Doesn't affect other interwiki links. Seems not to affect normal external links to irc://... This may be a browser thing (though I've not switched or upgraded recently & certainly wasn't the case previously) - I'm using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729)
Created attachment 5968 [details] extra space before the link
Created attachment 5969 [details] more extra space before the link
Created attachment 5970 [details] No extra space here... these are external links: [irc://whatever... #channel]
Created attachment 5971 [details] proposed patch Another follow up on bug 1061. This patch would help.
Taking a peek.... patch doesn't look quite sufficient. In addition to IRC there may be other protocols which may match with the same styling issues. There's also an entry which looks like it's attempting to entirely turn off the styling icons for interwikis: /* disable interwiki styling */ #bodyContent a.extiw, #bodyContent a.extiw:active { color: #36b; background: none; padding: 0; } It looks like the CSS override order rules are leaving at least the IRC link matching anyway on normal view (perhaps because of the explicit #bodyContent a.extiw[href ^="irc://"] rule), while when it's being clicked the #bodyContent a.extiw:active selector takes over and the padding and icon can be seen to disappear. Perhaps removing that #bodyContent a.extiw[href ^="irc://"] selector would do the job better? Why's it even there?
Adding a sample URL to the bug entry.
Created attachment 6076 [details] patch per comment#5 patch per comment#5
The strange spacing is regression from r47615 where both side padding has been added instead of single-side, but has not been overriden back to single-side for .extiw class. Fixed in r50102.
(In reply to comment #8) > The strange spacing is regression from r47615 where both side padding has been > added instead of single-side, but has not been overriden back to single-side > for .extiw class. > > Fixed in r50102. > This looks like my first obsolete patch which brion reviewed in c#5. As he indicated, when you click on the irc link, the icon will disappear.
Removing /* disable interwiki styling */ section should solve the problem. (Why actually would we want interwikis to not be styled (= have icons nearby)?) I'll look deeper a bit later on. For the time being I'd suggest to pull back r47615 which causes that.
Raising the specificity on the extiw rules (except the last) also seems to work, eg: #bodyContent a[href ^="irc://"], body #bodyContent a.extiw[href ^="irc://"], .link-irc { background: url(discussionitem_icon.gif) center right no-repeat; padding: 0 18px; } .rtl #bodyContent a.external, body.rtl #bodyContent a.extiw { background-position: left; padding-right: 0; } .ltr #bodyContent a.external, body.ltr #bodyContent a.extiw { padding-left: 0; } Someone might pursue this line of inquiry, but I don't have the resources to test it
(In reply to comment #10) > I'll look deeper a bit later on. For the time being I'd suggest to pull back > r47615 which causes that. > r47615 only causes the spacing before the links, but the disappearance of the icon wouldn't change.
r50102 is indeed the bad patch. Makes more sense to remove the selector which adds the icon and padding we apparently don't want in the first place...? Or if it was added deliberately, then it needs to be fixed to work consistently.
Created attachment 6079 [details] proposed patch A more suitable patch against against r50121.
It seems to me that the bug could easily be fixed by disallowing interwiki prefixes which link to non-HTTP protocols. We've had trouble with this before, with js:, etc. Some protocols have security implications. There's a perfectly good way to link to the IRC protocol, there's no need to add interwiki prefixes.
Proposed fix in r51457.
Looks fixed to me.
Applied this to the other skins in r98690