Skip to content

Upload achievement images through Transloadit - #73

Merged
franzwarning merged 5 commits into
mainfrom
fix/transloadit-achievement-uploads
Oct 13, 2026
Merged

franzwarning merged 5 commits into
mainfrom
fix/transloadit-achievement-uploads

Conversation

@franzwarning

@franzwarning franzwarning commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

CLI 0.1.100: achievement image uploads now receive signed Transloadit grants from Wavedash. Replace the CLI's Transformer upload with a multipart upload that forwards those parameters unchanged and waits for processing and R2 export to complete before saving the achievement image key.

Reject empty/oversize files, processing failures, and unexpected polling hosts. Upload signing and image-processing rules remain in Convex; no Transloadit secret ships in the CLI.

Requires the backend in https://github.com/wvdsh/wavedash/pull/1202. Older CLI versions need to update after that release; iOS/Android retain their separate legacy avatar endpoint.

Validation: all 81 Rust tests pass; cargo clippy --all-targets -- -D warnings and rustfmt --check src/achievements.rs pass. No dependencies added. A maintained Rust SDK was not found in Transloadit's official SDK list or crates.io, so this uses the existing reqwest dependency.

Live integration: ran the actual wavedash-dev fish function (Doppler cli/dev_personal) against the development backend. Created a secret test achievement with a PNG, verified the CDN exported a 640×480 WebP, replaced its image and verified the new 800×600 WebP, then deleted the test achievement and both test R2 objects.

Size-limit regression verified through wavedash-dev: a 20 GB sparse PNG and an empty PNG both returned the expected size error; a normal PNG still uploaded and was readable from the CDN after the bounded-read fix.

Also verified a PNG streamed through a named pipe uploads successfully through wavedash-dev; test records and images were removed.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@franzwarning
franzwarning merged commit c99ab1b into main Oct 13, 2026
8 checks passed
@franzwarning
franzwarning deleted the fix/transloadit-achievement-uploads branch October 13, 2026 05:31
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