getsatisfaction incorrectly shortens a URL with brackets (parentheses)
Same problem as with this ticket i posted for ping.fm:
http://getsatisfaction.com/pingfm/top...
http://bassdrivearchive.com/archives/...(2008-07-04).mp3
is shortened wrong, as you can see.
Note: many implementations of e.g. BBCode (such as the implementation in vBulletin) have the same problem. But the URL I pasted is straight from Firefox "right click, copy location", and I should not have to manually substitute %28 and %29 for the brackets.
According to RFC1738 (http://www.w3.org/Addressing/rfc1738.txt , section 2.2) the following characters are allowed unescaped in a URL:
$-_.+!*'(),
Of course if you automatically include ) in a URL without you will probably have complaints from people who enclose their entire URLs in brackets (http://www.example.com/). I would suggest only excluding a final ) or , (and possibly !) if the following character is a disallowed character (e.g. a space) and always including all the others. Also definitely include a ) if the URL ends with it if the URL previously contained a matching number of (s.
See, look, i've done all your work for you. ;)
http://getsatisfaction.com/pingfm/top...
http://bassdrivearchive.com/archives/...(2008-07-04).mp3
is shortened wrong, as you can see.
Note: many implementations of e.g. BBCode (such as the implementation in vBulletin) have the same problem. But the URL I pasted is straight from Firefox "right click, copy location", and I should not have to manually substitute %28 and %29 for the brackets.
According to RFC1738 (http://www.w3.org/Addressing/rfc1738.txt , section 2.2) the following characters are allowed unescaped in a URL:
$-_.+!*'(),
Of course if you automatically include ) in a URL without you will probably have complaints from people who enclose their entire URLs in brackets (http://www.example.com/). I would suggest only excluding a final ) or , (and possibly !) if the following character is a disallowed character (e.g. a space) and always including all the others. Also definitely include a ) if the URL ends with it if the URL previously contained a matching number of (s.
See, look, i've done all your work for you. ;)
1 person has this problem
I have this problem, too!
Tell me when someone solves it.
The more people who report this problem, the more it gets noticed.
The more people who report this problem, the more it gets noticed.
The company is aware of this problem.
-
Inappropriate?Hi Ben,
Thanks for the report! As a stop-gap, you can always from the anchor tag manually with the proper url; we won't mess with your URLs then.
I'll add this into our bug database and try to get to it next week: Changing the auto-linking functionality built into rails is not easy, and I've got a lot of things on my plate before the holiday weekend. I'll post back here when the issue is no longer exhibited.
BTW, I'll most likely solve this by only allowing internal parentheses. I don't have to worry about things on the left side because I have the scheme and domain to protect me, and excluding the 3 urls out there that end in a parenthesis seems an acceptable usability to correctness compromise.
-Scott -
Inappropriate?Sounds good to me. If it's a problem with Rails auto-linking, I guess I should take my bug report upstream (or perhaps you could take your fix upstream..!)
Presumably this is exactly the same bug as Twitter and Ping.fm exhibit as they're rails-based too.
I’m enlightened
Loading Profile...



EMPLOYEE
