Upload a file for review containing the following line:
`* [{{mercurial-book Mercurial: The definite guide (hgbook)}}](http://hgbook.red-bean.com)`
Add a comment draft to this line.
Press M to publish the comments.
Result:
The publish page errors out with "Invalid IPv6 URL [ValueError]".
Analysis:
This is a bug in Django's urlizetrunc template filter (or more precisely django.utils.html.urlize function) which is used in Rietveld's publish.html. It attempts to highlight hgbook)}}](http://hgbook.red-bean.com as a URL and calls urlparse.unsplit() on "http://hgbook)}}](http://hgbook.red-bean.com". This results in the exception above.
Steps to reproduce:
Result:
The publish page errors out with "Invalid IPv6 URL [ValueError]".
Analysis:
This is a bug in Django's
urlizetrunc
template filter (or more preciselydjango.utils.html.urlize
function) which is used in Rietveld'spublish.html
. It attempts to highlighthgbook)}}](http://hgbook.red-bean.com
as a URL and callsurlparse.unsplit()
on"http://hgbook)}}](http://hgbook.red-bean.com"
. This results in the exception above.The issue was resolved in Django 1.6 by catching the error.