Repository navigation
feat(storage): attribute multipart, gRPC, and Go SDK uploads to a user - #575
Merged
rickyrombo merged 1 commit intoSep 16, 2026
Merged
Conversation
rickyrombo
added this pull request to stack #576
September 9, 2026 07:07
Only the tus path carried the userId that mediorum attests cids to. Audio sent through POST /uploads, the UploadFiles RPC, or either Go SDK helper produced uploads nobody could claim, so a track naming their cids is rejected on any network that enforces content authorization. The multipart and gRPC handlers now read an optional user id and attest exactly as tus does when it is present. It stays optional there because those paths serve programmable distribution, whose DDEX releases name no user and create tracks through Release transactions content auth never gates; a malformed id is still rejected. UploadFilesRequest gains user_id, both Go SDK upload helpers forward it, and the upload example sets it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
rickyrombo
force-pushed
the
mjp-upload-user-id-all-paths
branch
from
September 15, 2026 21:33
43b84f9 to
e62c233
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #574 (base is its branch); the review diff is this change alone.
Why
Only the tus path read the
userIdthat mediorum attests cids to (#476). Audio sent throughPOST /uploads, theUploadFilesRPC, or either Go SDK helper produced uploads no user could claim, so a track naming their cids is rejected on any network that enforces content authorization. The JS SDK was fine; the Go SDK and every multipart client were not.What
POST /uploadsandUploadFilesread an optionaluserId(form field / newuser_idproto field) throughresolveOptionalUploadUserIDand set it on the upload row, so transcode completion attests exactly as it does for tus. A malformed id is rejected with 400, as on tus.UploadFilesRequest.user_idadded;UploadFilesTusforwards it as tus metadata;UploadOptions.UserIDwrites the multipart field;examples/uploadsets it for the user it creates the track as.Verification
GoSDKMultipartUploadIsClaimableandGoSDKTusUploadIsClaimable, each uploading through the SDK path with a user id and then creating a track naming the resulting cids on a different node.🤖 Generated with Claude Code