Discussion in 'Resolved Bug Reports' started by Amaury, Mar 26, 2014.
I've changed the title because I just did a test here: http://xenforo.com/community/threads/tags-test.71241/
Isn't it also a question of whether the username is actually in use? Example:
There is no member with the user name Mike*.
My point exactly.
Yes, but in this case, the punctuation isn't part of the username, it's just following it. For example, (@Amaury). My username isn't Amaury), but I'm just referencing myself within parentheses.
Solving this problem depends on what is allowed for usernames to contain. Can you register an account with asterisks in the name? If not, it should filter out the * when looking for a matching username.
Well, parentheses can be used in usernames, and they work correctly with user tagging.
Have to tested this with a user with a * at the end of the name that exists and the tagging doesn't work for them? Have to tested for other 'real' users with various symbols at the end of the name to see if they work or not?
You can't really raise this as a bug when the only testing you appear to have done is on this forum with your username followed by symbol when these users don't exist, so naturally they wouldn't be tagged.
Here are some tests with symbols:
Also, what I'm saying is that (@Mike) should be no different than *@Mike*, but it is. Mike) could also be someone's username, for example.
Looking at those examples:
Image 1: This works as expected - the tag is surrounded by parentheses and so this is a valid situation
Image 2: Both examples are as expected - you'd never use a * immediately preceding an @ tag in the first, hence not tagging. In the second, the username contains * twice and it's being tagged as expected.
Image 3: The same as the first example in image 2
(@Mike) should behave differently to *@Mike* as it is perfectly acceptable to enclose names and other text in parentheses in various languages. Surrounding tags with * isn't something that is expected, just as I wouldn't expect 1@Mike1 or %@Mike% or enclosing a tag with any other letters, numbers or symbols to work.
It seems to me as though you are trying to find issues here which don't exist.
Well, maybe not with the asterisk, specifically, but if you look at my test thread, you'll see that brackets also don't work, and they work similar to parentheses.
So, we've narrowed this down from "symbols" to just one case with square brackets.
As someone who strives for high standards in grammar for the Xenforo software, I'm sure you'll be pleased that Mike and Kier seem to have got it right on this occasion.
So as you can see, the only context for using square brackets correctly would be when adding to someone's original text. This of course should be done within a quote of someone's post and I think it would be highly unlikely that anyone would do this and add square brackets with just a user tag in them (which would be incorrect anyway, they should just state their name as it is explanatory text to readers, rather than trying to get the attention of a user with a tag). In any other circumstances where a user directly uses square brackets in a post, they should receive a swift rap on the knuckles from the grammar police!
Conceptually, this requires determining what is (likely) the end of a username given an entirely arbitrary set of input. @Mike111 shouldn't tag Mike, just like an firstname.lastname@example.org shouldn't tag a user named "example" or "example.com".
Some of the examples in the linked thread could go either way, though some should definitely be part of the username (underscore in particular). You'll see that most of the ones that work as expected are completely normal grammatical constructs. Square brackets are also a special case because of BB code.
As such, overall, I would say this is as designed, though it's possible there could be a couple tweaks in a few specific cases.
A workaround could be to make an extra @Username@ syntax for more exotic names. We could then have an editor button to insert references. It would automatically add the last @ if the username was deemed exotic.
Separate names with a comma.