-
Notifications
You must be signed in to change notification settings - Fork 371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid URLs produced when version contains a ! character #3737
Comments
Oops, I'll see if we can fix this in conda in the meantime. |
Opened conda/conda#14481. |
This is a change of behavior of |
It is on its way with first: conda-forge/mamba-feedstock#285. |
Hmm I am honestly not sure if the URL should be stored as URL encoded even though it's a string in JSON. Not sure if that is best practice. The encoding should happen at the interface where the URL is used for a HTTP request. |
I would accept a fix for backward-compatibility. |
Ya, I'm concerned now that this issue could potentially go deeper. Look at my {
...
"size": 897548,
"subdir": "linux-64",
"timestamp": 1660323080555,
"track_features": "",
"url": "https://conda.anaconda.org/conda-forge/linux-64/x264-1%21164.3095-h166bdaf_2.tar.bz2",
"version": "1!164.3095"
} Even more ominous though is the presence of Unfortunately I'm out of time, so I can't do any further investigations at the moment. |
I received this issue report in conda-lock: conda/conda-lock#764
Tracking it down, it turns out that the x264 package has a
!
character in its version. (I didn't know this was possible!)There was a change introduced in v2 with the way URLs are escaped.
v1:
v2:
The problem with this is that conda balks if I create an explicit file with this URL:
One could argue that this is a bug in conda for not unescaping the URL before parsing the version, but it feels to me like it would be best to fix this here if possible to maintain consistency with previous behavior.
The text was updated successfully, but these errors were encountered: