Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚠️ Upload Saga Typed and Parallel Stems v2 #7723

Merged
merged 86 commits into from
Mar 21, 2024
Merged

Conversation

rickyrombo
Copy link
Contributor

@rickyrombo rickyrombo commented Feb 27, 2024

Description

  • Rewrites the upload saga, this time in typescript
  • Fixes a bunch of type issues in the upload form
  • Consolidates duplicate types
  • Adds copious amounts of notes for future explorers
  • Parallel stems are now associated with their parent throughout the whole process
  • Progress for stems is nested with their parent track
  • Simplified a lot of code

Did my best to not touch too much functionality and stick to types where possible but I couldn't help myself in some places.

TODO:

  • Add tests
    • Tests for progress selectors
    • Test for handleUpload for tracks
    • Test for handleUpload for collection
    • Test for handleUpload for stems
    • Test for handleUpload for tracks with stems
    • Fix cypress integration tests
  • Explore adding back old saga and using feature flag to switch which one is running to mitigate risk

Uploaded a79a74b to my subdomain, see if you can break it.

Testing

Things touched

  • Single track uploads
  • Multi track uploads
  • Album uploads
  • Playlist uploads
  • Track edit (especially stems)
  • All the above uploads with and without stems
  • Error handling

Subtle things to test potentially:

  • USDC Gated prices and purchasing of uploaded tracks works
  • Rights/Attribution works
  • Remixes work
  • Navigating away during upload
  • Upload timeouts (I got rid of confirmer, so things won't time out anymore at least from confirmer - requests should still time out as normal though?)
  • Analytics parity (I changed it so that analytics fire immediately rather than waiting til the end) (especially check the stem upload in edit track modal matches analytics)
  • No duplicate cover art uploads for tracks within collections
  • Do tracks uploaded in playlists need a metadata field for it? is_playlist_upload: isCollection is this still used?
  • Make sure even if track upload succeeds, all tracks show like expected!
  • Adding stems to existing tracks
  • Editing tracks
  • Editing collections

Copy link

gitguardian bot commented Feb 27, 2024

⚠️ GitGuardian has uncovered 9 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
8818104 Triggered Generic High Entropy Secret 12af1ea packages/embed/.env.stage View secret
8818104 Triggered Generic High Entropy Secret 12af1ea packages/embed/.env.prod View secret
8818104 Triggered Generic High Entropy Secret 12af1ea packages/embed/.env.dev View secret
9368958 Triggered Generic Password 12af1ea dev-tools/compose/docker-compose.ddex.yml View secret
9349019 Triggered Generic High Entropy Secret 12af1ea dev-tools/config.json View secret
9349019 Triggered Generic High Entropy Secret 652b88e dev-tools/config.json View secret
688750 Triggered Generic High Entropy Secret ae0d655 packages/web/src/services/env/env.stage.ts View secret
9349019 Triggered Generic High Entropy Secret 8e41bb1 packages/ddex/.env.dev View secret
9349019 Triggered Generic High Entropy Secret 625efea dev-tools/config.json 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.

Our GitHub checks need improvements? Share your feedbacks!

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@rickyrombo rickyrombo marked this pull request as ready for review February 27, 2024 17:39
@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@audius-infra
Copy link
Collaborator

Preview this change https://demo.audius.co/mjp-upload-progress

@rickyrombo rickyrombo merged commit f27c8e1 into main Mar 21, 2024
36 of 43 checks passed
@rickyrombo rickyrombo deleted the mjp-upload-progress branch March 21, 2024 02:29
audius-infra pushed a commit that referenced this pull request Mar 25, 2024
[d09c970] Change internal sdk deps back to wildcard version (#7928) Sebastian Klingler
[7271dbc] [C-4026, C-4059] Update profile page to render basic info and pictures on the server side (#7915) Kyle Shanks
[bfde29f] Log error when retry on new node fails (#7924) Marcus Pasell
[a5a0d96] [C-3961] Fix sign up modal toast triggers (#7916) JD Francis
[0183bf8] [PROTO-1693] Fix tag search triggering autocomplete (#7913) Isaac Solo
[eeb6e19] [C-4028] Harmony QA (#7919) Dylan Jeffers
[fc94c44] [PROTO-1718] Parse DDEX subgenre and handle multiple genre elements (#7921) Theo Ilie
[bf34d35] Bump version to 0.6.66 audius-infra
[8c98f63] [C-4063] Add Sign on routes and aliases to static routes (#7918) Kyle Shanks
[92ced07] [PROTO-1700] Make DDEX publisher support batched and local S3 (#7902) Theo Ilie
[1f61df3] ⚠️ [C-4064] Fix empty feed/trending pages (#7920) Reed
[6ea4bd7] boost relay retries and address in logging (#7914) alecsavvy
[0c8911a] Misc accessibility improvements + mobile drawer fix (#7912) JD Francis
[d62d210] [C-3962] Fix sign up referrals (#7880) JD Francis
[61adb86] Bump version to 0.6.65 audius-infra
[9d270a5] Fix remix uploads and AI attributed uploads (#7911) Marcus Pasell
[4bc9f03] [C-4055] Improve modal and popover performance (#7909) Dylan Jeffers
[befe0a5] [C-4027] Harmony migration fixes (#7907) Dylan Jeffers
[5b3e9fa] Fix search autocomplete race condition (#7908) Isaac Solo
[8f9d022] Fix ddex indexing (#7904) Michelle Brier
[f1472a7] Re-add download to track api response for old clients (#7906) Reed
[e2c7024] Improve search quality: genre, mood, tag, fuzziness, exact matches (#7883) Isaac Solo
[efcb74e] [C-4024] Update SSR to dynamically import Root based on HYDRATE_CLIENT (#7892) Kyle Shanks
[daf7c1e] Log retryTxId in TransactionHandler (#7895) Reed
[38442bd] Bump version to 0.6.64 audius-infra
[e0a0606] Pin docker to older version to fix regression (#7905) Danny
[5f8aecc] [PAY-2577] Fix nft issues (#7884) Saliou Diallo
[f27c8e1] ⚠️  Upload Saga Typed and Parallel Stems v2 (#7723) Marcus Pasell
[4b4fd9b] fix nullable new fields in collection schema (#7903) Michelle Brier
[d71ec07] [PAY-2568] Add access field to playlists (#7894) Andrew Mendelsohn
[63ca5d4] Fix EM parsing of ddex fields (#7900) Michelle Brier
[921a19e] Add undefined check to sentry navigator and remove profile page route (#7898) Kyle Shanks
[73994e0] Add markdown-to-jsx to web (#7899) Dylan Jeffers
[474a902] Remove is_downloadable from trending query (#7896) Reed
[3fb1624] Fix collection search ranking in common (#7855) Isaac Solo
[2a0a663] [C-3561] Remove playback delay on native (#7893) Dylan Jeffers
[28f1150] Fix DDEX e2e tests (#7871) Michelle Brier
[78add43] [Mediorum] [Discovery] Change `/services` protodash routes to `/nodes` (#7864) nicoback2
[8fb1fd9] [SDK] Enable User to User Grants [PAY-2544] (#7889) nicoback2
[184c576] [Discovery] Enable user to user grants ("delegated writes") aka manager mode [PAY-2544] (#7890) nicoback2
[a9b4c5e] Add missing containers for DDEX Docker build (#7891) Theo Ilie
[e7b08ab] [C-4040, C-4032] Fix play cls, Fix pause on track screen (#7888) Dylan Jeffers
[c876ae7] [C-4031, C-4039] Fix add to collection, Add fuzzy search (#7887) Dylan Jeffers
[05a0bb3] Bump version to 0.6.63 audius-infra
[93fed47] Fix discovery ddex fields (#7885) Michelle Brier
[2f5f717] [C-4009] Remove stems styles and package (#7876) Dylan Jeffers
[38e3a87] [C-4034] Fix feed tip tile (#7886) Dylan Jeffers
[e4982a3] Bump mobile version for full-app-release (#7879) Dylan Jeffers
[050a1b3] [C-4014] Fix red chat icons (#7882) Dylan Jeffers
[f1edefd] [INF-672] Improve create-audius-app speed (#7866) Sebastian Klingler
[c4ca5ca] [C-4025] Update profile page for ssr (#7881) Kyle Shanks
[fdbcafc] fix solana relay build (#7872) alecsavvy
[f84715f] Ignore sentry errors for probers (#7870) Marcus Pasell
[2f17f53] Change loglevel to error in TransactionHandler _locallyConfirmTransaction (#7878) Reed
[aeed7a3] [PROTO-1700] Update DDEX UI for batches and improved schema (#7877) Theo Ilie
[062814a] [C-3958] Add StaticImage component and update track artwork rendering on web and mobile-web track pages for ssr (#7847) Kyle Shanks
[a7e4c14] [C-4003] Fix sign up overflow issues on small devices (#7868) JD Francis
[cb27af1] Misc Sign Up QA fixes (#7869) JD Francis
[c259739] Bump version to 0.6.62 audius-infra
[1d4f278] [C-4006] Remove all stems components (#7861) Dylan Jeffers
[efb2b44] Fix audius-cmd test (#7874) Saliou Diallo
[e32d515] Revert "Persist unused DDEX fields in discovery (#7862)" (#7873) Marcus Pasell
[bd822ac] Add fixed-decimal to web deps and update version in libs (#7867) Reed
[02b67d9] Document local audius-compose DDEX steps (#7865) Theo Ilie
[f6bc750] Persist unused DDEX fields in discovery (#7862) Michelle Brier
[e892314] [Protocol Dashboard] Requested changes to new Protocol Dashboard [C-4013] (#7863) nicoback2
[ed08d93] Related artists in sql (#7857) Steve Perkins
[6cad61d] [C-3953] Perma-dismiss purple select artists banner on mobile (#7790) JD Francis
[4cafd23] Bump version to 0.6.61 audius-infra
[075f483] [PAY-2348][PAY-2317] Remove download json field from track metadata (#7784) Saliou Diallo
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.

5 participants