diff --git a/packages/discovery-provider/src/tasks/entity_manager/entities/playlist.py b/packages/discovery-provider/src/tasks/entity_manager/entities/playlist.py
index 6a9ae67d2d9..34e8b934c32 100644
--- a/packages/discovery-provider/src/tasks/entity_manager/entities/playlist.py
+++ b/packages/discovery-provider/src/tasks/entity_manager/entities/playlist.py
@@ -677,7 +677,10 @@ def populate_playlist_record_metadata(
# Update the playlist_record when the corresponding field exists
# in playlist_metadata
if key == "playlist_contents":
- if not playlist_metadata.get(key):
+ # Use `is None` rather than a truthiness check so that an explicit
+ # empty list (the user removing the last track) is applied instead
+ # of being silently treated as "field omitted".
+ if playlist_metadata.get(key) is None:
continue
playlist_record.playlist_contents = process_playlist_contents(
playlist_record,
diff --git a/packages/web/src/components/edit-collection/EditCollectionForm.tsx b/packages/web/src/components/edit-collection/EditCollectionForm.tsx
index e1d9f4a0461..932eb3dbb3c 100644
--- a/packages/web/src/components/edit-collection/EditCollectionForm.tsx
+++ b/packages/web/src/components/edit-collection/EditCollectionForm.tsx
@@ -195,7 +195,7 @@ export const EditCollectionForm = (props: EditCollectionFormProps) => {
) : null}
-
+
{isUpload ? : }
{playlist_id ? (
<>
diff --git a/packages/web/src/components/edit/fields/CollectionTrackFieldArray.tsx b/packages/web/src/components/edit/fields/CollectionTrackFieldArray.tsx
index dc187dbee54..248bfcc1673 100644
--- a/packages/web/src/components/edit/fields/CollectionTrackFieldArray.tsx
+++ b/packages/web/src/components/edit/fields/CollectionTrackFieldArray.tsx
@@ -66,7 +66,13 @@ const makeTrackKey = (track: TrackForUpload | TrackForEdit, index: number) => {
return `${track.metadata.track_id}${suffix}`
}
-export const CollectionTrackFieldArray = () => {
+type CollectionTrackFieldArrayProps = {
+ isUpload?: boolean
+}
+
+export const CollectionTrackFieldArray = ({
+ isUpload = false
+}: CollectionTrackFieldArrayProps = {}) => {
const [{ value: tracks }] =
useField<(TrackForUpload | TrackForEdit)[]>('tracks')
@@ -104,7 +110,7 @@ export const CollectionTrackFieldArray = () => {
)}