Tracks that have not finished processing, or whose processing failed, are still playable and appear in search results (and potentially in other public listings).
Steps to reproduce
Upload a track.
While it is still processing (or after processing fails), search for it or open a listing where it appears.
The track shows up and can be played.
Expected behavior
Only tracks in a Ready state are shown in search, Discover, profiles, playlists and any other public listing.
Tracks that are processing or failed cannot be played or added to playlists/queue by other users.
The uploader can still see them in their uploads section with their current status (see #6), but they are not playable until ready.
Actual behavior
Unprocessed and failed tracks are listed in search and can be played, which leads to broken or incomplete playback.
Suggested fix
Filter by processing status on the backend in every query that returns tracks (search, listings, playlists, recommendations), not only in the frontend.
Reject stream requests for tracks that are not ready.
Consider a single reusable query scope/filter (e.g. onlyReady) to avoid missing any endpoint.
## Description
Tracks that have not finished processing, or whose processing failed, are still playable and appear in search results (and potentially in other public listings).
## Steps to reproduce
1. Upload a track.
2. While it is still processing (or after processing fails), search for it or open a listing where it appears.
3. The track shows up and can be played.
## Expected behavior
- Only tracks in a `Ready` state are shown in search, Discover, profiles, playlists and any other public listing.
- Tracks that are processing or failed cannot be played or added to playlists/queue by other users.
- The uploader can still see them in their uploads section with their current status (see #6), but they are not playable until ready.
## Actual behavior
Unprocessed and failed tracks are listed in search and can be played, which leads to broken or incomplete playback.
## Suggested fix
- Filter by processing status on the backend in every query that returns tracks (search, listings, playlists, recommendations), not only in the frontend.
- Reject stream requests for tracks that are not ready.
- Consider a single reusable query scope/filter (e.g. `onlyReady`) to avoid missing any endpoint.
## Related
- #6: processing status for uploaded tracks.
- #17: adaptive bitrate transcoding (adds more processing steps).
- #27: upload flow refactor.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
Tracks that have not finished processing, or whose processing failed, are still playable and appear in search results (and potentially in other public listings).
Steps to reproduce
Expected behavior
Readystate are shown in search, Discover, profiles, playlists and any other public listing.Actual behavior
Unprocessed and failed tracks are listed in search and can be played, which leads to broken or incomplete playback.
Suggested fix
onlyReady) to avoid missing any endpoint.Related