Skip to content

fix(download): use direct_url so filename keeps its extension#130

Merged
SuperKali merged 1 commit intomainfrom
fix/download-direct-url
Apr 18, 2026
Merged

fix(download): use direct_url so filename keeps its extension#130
SuperKali merged 1 commit intomainfrom
fix/download-direct-url

Conversation

@SuperKali
Copy link
Copy Markdown
Member

The REST API migration mapped ApiImage.download.file_url to ImageInfo.file_url, but that field is the pretty mirror-selector URL (successor of the legacy redi_url) and has no file extension. Pre-migration the download pipeline consumed the legacy file_url, which on the new API is exposed as direct_url.

The side effect is that downloaded images get saved with names like Noble_vendor_gnome: needs_decompression can't recognise the format, XZ data is written raw to the SD card, and the QDL extractor chokes on a TAR header that's actually 7zXZ magic bytes. Passing direct_url at the one call site restores the pre-migration behaviour — the backend extracts a filename with the correct extension and the decompression / QDL pipelines work again. file_url stays where it belongs: UI keys and per-image storage identifiers.

The REST migration mapped ApiImage.download.file_url -> ImageInfo.file_url,
but that field is the pretty mirror-selector URL (successor of the legacy
redi_url) without a file extension. Pre-migration the download pipeline
consumed the legacy file_url, which is now exposed as direct_url.

Passing direct_url restores the original behavior: the backend extracts a
filename with a proper extension, and decompression plus QDL extraction
work again.
@SuperKali SuperKali merged commit a9436d4 into main Apr 18, 2026
3 of 4 checks passed
@SuperKali SuperKali deleted the fix/download-direct-url branch April 18, 2026 16:33
@github-actions
Copy link
Copy Markdown

❌ Test Builds

Version: 0.0.0-pr.130 | PR: #130 | Status: failed

Platform Download
Linux x64 ⏭️ Skipped
Windows x64 ⏭️ Skipped
macOS ARM64 ⏭️ Skipped
ℹ️ About these builds
  • 🔓 Public downloads via nightly.link (no GitHub login required)
  • ⚠️ Unsigned builds for testing purposes only
  • Expires in 7 days
  • 🔄 Updated on every push to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant