4

Issue

When filtering questions by combining tags invalid tags can be created. This seems to occur occasionally when the tags end with a '+'.

Steps To Reproduce

On StackOverflow:

  • Add 'com+' as an interesting tag
  • Click on the newly created tag to filter the questions
  • Click on a related tag (e.g. 'wcf')

When these steps are done, instead of seeing two tags 'com+' and 'wcf' the tags are concatenated together (separated with a + sign). Obviously no questions are shown since 'com++wcf' is not an actual tag.

The URL in the browser is: https://stackoverflow.com/questions/tagged/com%2b+wcf

Another example would be to select the tag 'mts' combined with the tag 'com+' this results in the tags 'mts' 'com' ' '. The URL in the browser is https://stackoverflow.com/questions/tagged/mts+com%2b

This does not happen for all tags with a '+' in them -- c++ seems to behave properly.

Comments

The issue seems to occur when the tag contains a + sign and the tags in browser URL are separated with a '+'. This doesn't seem to be a consistent behavior when combining tags since some tags are combined together by using a %20 in the browser URL (instead of a +).


UPDATE

If this is not an issue, can someone please explain the following HTML source.

For the tag com+, which does not work properly, the following is the HTML that is generated by StackOverflow to filter by another tag:

<a href="/questions/tagged/com%2b+.net" class="post-tag" title="show questions tagged 'com+ .net'" rel="tag">.net</a><span class="item-multiplier">&times;&nbsp;25</span><br>

However, for the tag c++, which does work properly, the following is the HTML that is generated by StackOverflow to filter by another tag:

<a href="/questions/tagged/c%2b%2b%20.net" class="post-tag" title="show questions tagged 'c++ .net'" rel="tag">.net</a><span class="item-multiplier">&times;&nbsp;255</span><br>


Notice that in the non-working version the tags are separated with a + but in the working case the tags are separated with %20. If the non-working tag simply had a %20 instead of a + then it would work fine.

It seems to me that the URL encoding/rewriting is not working properly when generating the links.

1
  • 1
    +1 for taking the time to submit a decent report
    – Greg
    Commented Oct 1, 2009 at 9:17

1 Answer 1

1

Click on the newly created tag to filter the questions

Refresh the page before doing this.

wont-fix as this is only a bug one time on the client, and never again on every subsequent page load for the rest of recorded time.

The issue of plus as a delimiter in a world where tags can contain plus has been discussed. Bottom line, use space to delimit if any of the tags contain a plus. Our code already does this with the one wont-fix exception above.

https://stackoverflow.com/questions/tagged/com%2b%20.net

edit: OK, now I see the problem. Tags with a single plus are triggering this. Should be fixed.

3
  • Jeff, it is not a one time issue and has nothing to do with adding the tag (that was just the repro steps). It is just not possible to use the application to view all questions that are tagged com+ and .net! I am not delimiting any tags -- I'm just clicking on the tags and the code is doing the delimiting. Sometimes it does it correctly (e.g. c++) and sometimes not (com+).
    – Randy Levy
    Commented Oct 1, 2009 at 13:53
  • The URL you provided works. See update asking why the StackOverflow code doesn't use this method.
    – Randy Levy
    Commented Oct 1, 2009 at 17:22
  • Jeff, looks good...now I can see the 25 questions tagged as com+ .net :)
    – Randy Levy
    Commented Oct 2, 2009 at 13:41

You must log in to answer this question.

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