What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 133 Stack Exchange communities.

When I go to the tagged questions page for Symfony, I notice that SO will not highlight questions that only match my favorited tag:

Questions tagged with Symfony; note that question that only matches my favorited symfony tag is not highlighted (the other questions match at least one other favorited tag).

So far so good. But look what happens when I updated my favorite and/or ignored tags:

Same page as above, but now everything is highlighted.

Now everything is highlighted (unless it matches an ignored tag).

share|improve this question
    
I wonder if this is related to the supposedly fixed Favorite tagged questions highlighted when they shouldn't (after new activity rolldown). –  Rob Kennedy Aug 22 '12 at 2:02

1 Answer 1

up vote 2 down vote accepted

I just ran into this myself, and was glad I wasn't the only one who had stumbled upon this great injustice.

Updating applyPrefs() in StackExchange.tagPreferences to remember what's passed to it the first time should fix that, I suppose, since the page invokes it with the list of tags that should be excluded from matching in the first place:

var tagged;
// ...
function applyPrefs(c, ignore) {
    if (tagged === undefined) {
        tagged = ignore || false;
    } else if (tagged) {
        // Probably can reduce this to just an assignment if !ignore,
        // since ignore will likely only be provided on the first call
        ignore = ignore ? Array.prototype.push.apply(ignore, tagged) : tagged;
    }
    // ...
}

The minimized function c could also be updated to parse tags out of the search URL, but because the site apparently also avoids highlighting searched-for favourite tags on normal searches now, this option would be a bit of a pain. For just the /questions/tagged/ case though, that'd look something like this:

// ...
g || e(d, $(c).text());

var tagged = null;

if (/^\/questions\/tagged\//.test(location.pathname)) {
    tagged = decodeURIComponent(location.pathname.substring(
        '/questions/tagged/'.length
    ).replace('+', ' ')).split(' ');
}

applyPrefs(false, tagged);

However, I think there are too many nuances about the unaccounted for /search?q= case to make this the more attractive solution.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .