Skip to content

Conversation

@rickyrombo
Copy link
Contributor

@rickyrombo rickyrombo commented Jan 13, 2026

WIP: Will use this branch as the "feature branch".

See commit messages and watch for PRs with this as the base.

If something isn't obviously related to the upload feature, it's probably some changes I needed to get local stack up.

New upload approach:

  • After first page, immediately begin uploading track files via TUS in the background
  • After second page, upload images (and soon stems too) via TUS in the background
  • If on the FinishPage and all uploads succeeded, update the metadatas and publish everything

Note: We could get even more "wins" here by having images start uploading immediately after being selected, but I decided against that for now to keep things sane.

Potential future work that I decided against in the end:

  • Upload order is not retained - blast publishing as fast as we can instead
  • Have an opportunity here to show the detected key and bpm and make them editable, but didn't do that here
  • Allow larger file sizes now that we can do patches of uploads at a time

Unorganized summary of seemingly unrelated changes:

  • Updated tanstack query to get access to mutationOptions for better mutation types
  • Added a forced resolution to tslib to resolve some conflict with a dep (I think coinflow)
  • Added actual OAP stack to local dev, with TLS certs as well, and use that instead of audiusd. (Note: I think there's still issues getting OAP nodes to talk to each other with these certs? But got it working enough for my use case. More work and cleanup needed here for sure.)
  • Fixes local stack discovery not coming up by having it not run function migrations (as the return type of some functions - user_scores mainly - conflicted with API one) and by having API run migrations on start (as some migrations only exist in API now)
  • Updates core indexer to use openaudio-1 instead of audiusd-1 by default in local dev
  • Fix a routing error due to invalid signup/signing route config (needs *)
  • Adds more defensiveness to the OTP check to prevent an error within error handling

@changeset-bot
Copy link

changeset-bot bot commented Jan 13, 2026

⚠️ No Changeset found

Latest commit: 93496a6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@gitguardian
Copy link

gitguardian bot commented Jan 13, 2026

⚠️ GitGuardian has uncovered 5 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
11648676 Triggered Generic High Entropy Secret fe50394 dev-tools/environment/openaudio-1.env View secret
11648678 Triggered Generic High Entropy Secret fe50394 dev-tools/environment/openaudio-3.env View secret
11648679 Triggered Generic High Entropy Secret fe50394 dev-tools/environment/openaudio-4.env View secret
11648680 Triggered Generic High Entropy Secret fe50394 dev-tools/environment/openaudio-2.env View secret
24672057 Triggered Generic Private Key fe50394 dev-tools/tls/key.pem View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@socket-security
Copy link

socket-security bot commented Jan 13, 2026

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

)
}

async uploadFileV2({
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can just be specific and call it uploadFileTus or something

- Adds support for stems to the new TUS-based upload flow.
- Adds new `publishTrack` SDK API that only maps existing upload
responses to metadata and writes to chain
- Removes superfluous logic in UploadPage that does the above
- Refactors UploadPage to do the upload via a promise ref so that the
control flow is simpler to follow
…ew TUS uploads (#13582)

- Moves more logic into the mutation query hooks to simplify calls
- Parallelize the track/stem uploading
- Add amplitude events to mirror existing sagas
- Add sentry error logging
- Add support for ReactNative files
<img width="1192" height="470" alt="image"
src="https://github.com/user-attachments/assets/edc084bf-d8cd-419d-b9d5-d08d1b9d3277"
/>


- Adds status of stems to the finish page
- Fixes reporting status of images
- Fixes reporting individual stem errors
- Fixes uploading images (use CID!)
- Publish parent tracks and stems at the same time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants