From 3e4b1652fc5baa1e1015c74977b8241ea9e75a2a Mon Sep 17 00:00:00 2001
From: advplyr <advplyr@protonmail.com>
Date: Fri, 6 Jan 2023 17:39:15 -0600
Subject: [PATCH] Fix disc/track metadata mapping

---
 client/pages/item/_id/index.vue          | 4 ++--
 server/objects/metadata/MusicMetadata.js | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/client/pages/item/_id/index.vue b/client/pages/item/_id/index.vue
index 94e6f0e1..5d813fad 100644
--- a/client/pages/item/_id/index.vue
+++ b/client/pages/item/_id/index.vue
@@ -80,7 +80,7 @@
               </div>
               <div v-if="musicTrackPretty" class="flex py-0.5">
                 <div class="w-32">
-                  <span class="text-white text-opacity-60 uppercase text-sm">Track #</span>
+                  <span class="text-white text-opacity-60 uppercase text-sm">Track</span>
                 </div>
                 <div>
                   {{ musicTrackPretty }}
@@ -88,7 +88,7 @@
               </div>
               <div v-if="musicDiscPretty" class="flex py-0.5">
                 <div class="w-32">
-                  <span class="text-white text-opacity-60 uppercase text-sm">Disc #</span>
+                  <span class="text-white text-opacity-60 uppercase text-sm">Disc</span>
                 </div>
                 <div>
                   {{ musicDiscPretty }}
diff --git a/server/objects/metadata/MusicMetadata.js b/server/objects/metadata/MusicMetadata.js
index b0202c6b..7da47314 100644
--- a/server/objects/metadata/MusicMetadata.js
+++ b/server/objects/metadata/MusicMetadata.js
@@ -290,14 +290,15 @@ class MusicMetadata {
     // Metadata is only mapped to the music track if it is empty
     MetadataMapArray.forEach((mapping) => {
       let value = audioFileMetaTags[mapping.tag]
+
       // let tagToUse = mapping.tag
       if (!value && mapping.altTag) {
         value = audioFileMetaTags[mapping.altTag]
         // tagToUse = mapping.altTag
       }
 
-      if (value && typeof value === 'string') {
-        value = value.trim() // Trim whitespace
+      if (value && (typeof value === 'string' || typeof value === 'number')) {
+        value = value.toString().trim() // Trim whitespace
 
         if (mapping.key === 'artists' && (!this.artists.length || overrideExistingDetails)) {
           updatePayload.artists = this.parseArtistsTag(value)