This is a long-standing bug, but not one that has impacted us very much.
Bear in mind that this is a C++ port of the interpretation given in the original url-py, which historically relied on urlparse. This is especially true when considering the parsing of URLs. This particular part of the original parsing uses the rule: if we find a :, and there's either nothing after it or at least one non-digit, the scheme is the part before the :.
To be as minimally disruptive as possible, this just adds support for a category of known schemes that override that determination. For instance, links like tel:12345 were obviously failing that test.
This is a long-standing bug, but not one that has impacted us very much.
Bear in mind that this is a C++ port of the interpretation given in the original
url-py
, which historically relied onurlparse
. This is especially true when considering the parsing of URLs. This particular part of the original parsing uses the rule: if we find a:
, and there's either nothing after it or at least one non-digit, the scheme is the part before the:
.To be as minimally disruptive as possible, this just adds support for a category of known schemes that override that determination. For instance, links like
tel:12345
were obviously failing that test.@lindseyreno @b4hand @tammybailey