Active
Project:
Community Tags
Version:
5.x-1.x-dev
Component:
User interface
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
14 Nov 2007 at 00:11 UTC
Updated:
14 Nov 2007 at 00:29 UTC
Steps to reproduce without bug:
- View a node with inline tagging form displayed.
- Tag with a comma-separated list of tags.
- Visit another page or reload.
Result: As expected, tag list gets parsed, each tag gets added separately.
Steps to reproduce the bug:
- View a node with inline tagging form displayed
- Tag with a comma-separated list of tags and click Add.
- Enter another tag into the text-field and click Add again, without reloading first.
Result: Apart from the single tags that were already created, a "junk tag" is now created that has the entire comma-separated list, as if the list were entered in quotes.
Comments
Comment #1
cburschkaRepeated testing leads me to suspect this is an AJAX race condition. After you add a new comma separated list of tags, the tags appear, for 1-2 seconds, as a single tag (with a single remove link) under the My Tags heading. After this time, they are replaced by a normal list of tags (the commas disappear, and each turns into its own remove link).
It is possible (though I speak as an AJAX newbie) that if you add a new tag during this crucial time before the list is split up (presumably this happens after a server request), the list will be interpreted as one single tag among several, and not be split up.
If this is the case, the possibilities are:
1.) Fix server-side checking to make sure tag lists get parsed even if several tag lists are sent to the server during the same request
2.) Disable the text field for a few seconds until the tags are properly parsed.
I am clueless about AJAX, however, so I have no chance of working on this.
Comment #2
cburschkaFurther testing shows that the synchronization doesn't always happen after a few seconds, and in fact sometimes does not come at all. In this case, server-side validation is probably crucial, as it would be quite inconvenient to have the form disabled until the next reload, defeating the point of ajax.