fix: URL-encode filename in release asset DirectAssetPath
What does this MR do and why?
When uploading release assets, filenames containing special URL characters (such as +) were passed unencoded to the direct_asset_path field of the release links API, resulting in a 400 {message: [Filepath is in an invalid format]} error.
This fix applies url.PathEscape to the filename when constructing DirectAssetPath in both upload paths (uploadAsGenericPackage and uploadAsProjectMarkdownFile), consistent with how FormatPackageURL already handles encoding in the generic packages API.
MR acceptance checklist
- This MR does not have a feature flag
- Docs have been updated (no changes required)
- Tests added/updated
Closes #7880 (closed)