description
_validate_remote_url in src/specify_cli/bundler/services/adapters.py reads parsed.hostname on the user-supplied catalog url. urlparse/hostname raise ValueError on a malformed authority (e.g. an unclosed ipv6 bracket https://[::1), so instead of the clean BundlerError every other reject path in that function produces, a raw ValueError: Invalid IPv6 URL escapes and crashes the catalog fetch.
this is the bundler sibling of #3369, which fixed the cli extension/preset/workflow add entry points but not this validator (nor the bundle catalog add path that reaches it via #3367).
repro:
from specify_cli.bundler.services import adapters
adapters._validate_remote_url("team", "https://[::1") # ValueError: Invalid IPv6 URL
expected: a BundlerError like the host-less and non-https cases already raise.
note: i used an ai assistant to help investigate and write this up.
description
_validate_remote_urlinsrc/specify_cli/bundler/services/adapters.pyreadsparsed.hostnameon the user-supplied catalog url. urlparse/hostname raiseValueErroron a malformed authority (e.g. an unclosed ipv6 brackethttps://[::1), so instead of the cleanBundlerErrorevery other reject path in that function produces, a rawValueError: Invalid IPv6 URLescapes and crashes the catalog fetch.this is the bundler sibling of #3369, which fixed the cli
extension/preset/workflow addentry points but not this validator (nor thebundle catalog addpath that reaches it via #3367).repro:
expected: a
BundlerErrorlike the host-less and non-https cases already raise.note: i used an ai assistant to help investigate and write this up.