This repository was archived by the owner on Oct 4, 2023. It is now read-only.
[C-1968] Fix dequeue track#2758
Merged
Merged
Conversation
nicoback2
reviewed
Feb 1, 2023
| a: TrackDownloadWorkerPayload, | ||
| b: TrackDownloadWorkerPayload | ||
| ) => { | ||
| const { favoriteCreatedAt: ignoredAFavoriteCreatedAt, ...aPayload } = a |
Contributor
There was a problem hiding this comment.
dang, this seems like a tricky debug
Contributor
Author
There was a problem hiding this comment.
yeah i had a fun OMG moment
nicoback2
approved these changes
Feb 1, 2023
| export const cancelQueuedDownloads = async ( | ||
| payloadsToCancel: TrackDownloadWorkerPayload[] | ||
| ) => { | ||
| console.log('cancelling yeah?') |
| ) | ||
| queue.stop() | ||
| const jobs = await queue.getJobs() | ||
| console.log('are there jobs?', jobs, payloadsToCancelById, payloadsToCancel) |
Comment on lines
+209
to
+216
| console.log('payload to cancel', payloadToCancel) | ||
| console.log('parsed paylead', parsedPayload) | ||
|
|
||
| console.log( | ||
| 'equal?', | ||
|
|
||
| isEqualTrackPayload(payloadToCancel, parsedPayload) | ||
| ) |
| return false | ||
| } | ||
| }) | ||
| console.log('got jobs to cancel?', jobsToCancel) |
| const trackJson = await getTrackJson(trackIdStr) | ||
| if (!trackJson) return | ||
|
|
||
| // Track is already downloaded, so rewrite the json |
Contributor
There was a problem hiding this comment.
super nit - move this comment back above ?
Contributor
Author
There was a problem hiding this comment.
so i didn't because technically trackJson is nullable, in which case it's not undefined. what you think?
| ? !reason.is_from_favorites | ||
| : !isEqual(reason, downloadReason) | ||
| ) | ||
| if (remainingReasons.length === 0) { |
nicoback2
reviewed
Feb 1, 2023
| purgeDownloadedTrack(trackId) | ||
| } | ||
| return Promise.reject(e) | ||
| return null |
Contributor
There was a problem hiding this comment.
Nice. Related to the "before" code - there are so many unhandled promise rejections in the download/loading flows...
Contributor
Author
There was a problem hiding this comment.
yeah agreed, after delete is batched, im keen to ensure our logs are clean except for true errors
audius-infra
pushed a commit
that referenced
this pull request
Feb 4, 2023
[45f122f] [C-2015] Debounce the callbacks for the download toggles for favorites and collections (#2766) Kyle Shanks [e0cafef] [C-2034] Cancel all download jobs on log out (#2775) Andrew Mendelsohn [ab581b1] C-2022 C-1970 Fix for: When offline and not fully downloaded, queued jobs keep running and fail (#2773) nicoback2 [1c674a9] C-1958 Show # of downloaded tracks in collection card instead of actual # of tracks in collection when offline (#2757) nicoback2 [014afaa] [C-2036] Fix modals not closing on click outside (#2776) Marcus Pasell [07b7961] [DMs] Redo create chat modal (#2706) Marcus Pasell [8b89acf] [C-1994] Add download indicator to the track screen (#2774) Kyle Shanks [70619cd] Improve download toggle, download progress and fetch (#2772) Raymond Jacobson [860291d] [C-1941] Refresh queue when download toggle is flipped (#2770) Raymond Jacobson [3e8e33b] Fix CI (#2771) Michael Piazza [f94bcc9] [C-2012] [C-1999] [C-1734] Fix collection image loading (#2769) Sebastian Klingler [80da94c] Consume .env.git to properly tag Sentry release (#2767) Michael Piazza [b2f96f6] [C-1974] Add batch remove downloads (#2764) Dylan Jeffers [5ff30b4] [C-1921] Make sure to download local saves (#2763) Raymond Jacobson [de5d5fd] [C-2006] Fix download toggle when offline (#2762) Raymond Jacobson [66449a1] [PAY-868] Handle follow and tip send states across (#2756) Saliou Diallo [171e46e] [PAY-866] Add new remix settings - Part 1 (#2708) Saliou Diallo [90579c5] Refactor lineup hooks (#2760) Sebastian Klingler [5bfa0dc] C-2002 Un-download deleted playlists on sync (#2759) nicoback2 [1dd8b68] [C-2001] Remove queued downloads if deleted/unlisted/etc (#2761) Raymond Jacobson [265e666] [C-1968] Fix dequeue track (#2758) Dylan Jeffers [fbaf5c0] [C-1992] Fix unfavorite downloaded track (#2755) Dylan Jeffers [73563f8] [C-1957] [C-1929] Improve TrackList and offline mode performance (#2753) Sebastian Klingler [b771776] [C-1987][C-1936][C-2009] Queue for collection downloads (#2751) Andrew Mendelsohn [016342d] [C-1985] Remove collection tracks when removing favorites (#2749) Dylan Jeffers [5b675c8] [PAY-881] Mobile messages (chats) list screen (#2742) Reed [d2b1c4c] C-1989 Fix "Download is not re-starting even though there are still many tracks that need to be downloaded" (#2746) nicoback2 [fec0134] [PAY-872][PAY-873][PAY-874] More premium content QA fixes (#2741) Saliou Diallo [9530cae] Hide buttons on profiles when offline and remove timeout (#2750) Raymond Jacobson [d658e3e] [C-1952] Show download successful when offline in status indicator (#2733) Raymond Jacobson [bbb58e8] [C-1950] Smooth offline<>online playback (#2748) Raymond Jacobson [059f79e] Hide share/repost when offline C-1942 (#2747) nicoback2 [6458512] [C-2000] Fix collections not downloading on favorites download (#2745) Dylan Jeffers [4ba882c] Do not write subscribe to discovery on auto-subscribe after follow (#2562) Michelle Brier [e21edc7] Fix download counter in error state (#2744) Raymond Jacobson [3ad7a55] [PAY-777] Add premium content track upload on mobile - Part 3 (#2721) Saliou Diallo [ad3b6d2] Update undownload favorites to hide progress earlier (#2743) Kyle Shanks [16a45f5] [C-1938] Remove tracks within collections when toggling off favorites (#2737) Raymond Jacobson [5e008a3] [C-1977] Hide more by this artist when offline (#2734) Raymond Jacobson [b1d261f] Improve useFetchAllFavoritedTracks fetch (#2740) Dylan Jeffers [a39f874] [C-1993 C-1995] Refactor download switch, improve collection header (#2739) Dylan Jeffers [36687e5] [C-1937, C-1964] Add pagination to the mobile favorites screen and fix the title width for deleted track list items (#2738) Kyle Shanks [adc74fa] [C-1976] Hide/disable overflow menus when offline (#2735) Raymond Jacobson [18e63ff] [C-1938] Disable downloading from toggle when offline (#2736) Raymond Jacobson [a0d3097] [C-1991] Fix downloading rive animation location (#2732) Raymond Jacobson [1e8d9d5] [C-1960] Do not show favorite/repost on own (#2723) Raymond Jacobson [563842e] [C-1930] Prevent self favorite/repost/follow (#2724) Raymond Jacobson [4975945] [C-1916 C-1982 QA-328] Fix smart-collection artwork (#2731) Dylan Jeffers [bbc2477] [C-1963] Add download progress bar (#2730) Raymond Jacobson [5ef3d06] [C-1782] Use proxy for sentry dsn (#2684) Raymond Jacobson [2c2cd82] [C-1962] Update offline icons/animations (#2725) Raymond Jacobson [8607f9c] Fix crash on favorites screen if you start the app offline C-1943 C-1951 (#2726) nicoback2 [74c9324] [C-1986] Use RNFetchBlob for offline mode (#2728) Sebastian Klingler [3084ea9] Refactor ArtistChip (#2715) Marcus Pasell [7a9cec6] [C-1973] Improve offline image downloading (#2720) Sebastian Klingler [075aa5b] Fix some web premium content bugs (#2709) Saliou Diallo
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Description
Ensures queued tracks that should be deleted are properly removed from queue and it's status is updated in redux
Fixes two interesting bugs with track delete:
const diskTrack = await getTrackJson(trackIdStr)would throw an error because the track hasn't been picked up by worker, causing the dequeue + delete flow to short circuit, meaning the track job would stay in the queue.isEqualcheck for parsed job data and requested dequeued data was different, sincefavoriteCreatedAtis included in the job, but not always for the requested data. This was fixed by updating the equality check to ignorefavoriteCreatedAt