diff --git a/CHANGELOG.md b/CHANGELOG.md index 55de4792..6b5ca629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - No longer resets shuffle history when the collection or search changes. - WebDAV improvements. - Directory playlists now work correctly with sources that specify a sub directory. +- Fixed issue with missing extensions when downloading playlists. - Removed Fission/Webnative user layer (discontinued). - Minor improvements/fixes to the artwork downloading process. - A lot of javascript code refactoring. diff --git a/src/Core/Brain/Tracks/State.elm b/src/Core/Brain/Tracks/State.elm index ff0cad38..fde0b89c 100644 --- a/src/Core/Brain/Tracks/State.elm +++ b/src/Core/Brain/Tracks/State.elm @@ -71,6 +71,9 @@ download json model = ) -- + , ( "path" + , Json.Encode.string track.path + ) , ( "url" , track |> Queue.makeTrackUrl diff --git a/src/Javascript/UI/tracks.ts b/src/Javascript/UI/tracks.ts index f0c8bc6e..644f630e 100644 --- a/src/Javascript/UI/tracks.ts +++ b/src/Javascript/UI/tracks.ts @@ -37,7 +37,7 @@ export async function download(group) { .then(fetch) .then((r: Response) => { const mimeType = r.headers.get("content-type") - const fileExt = (mimeType ? fileExtension(mimeType) : null) || "unknown" + const fileExt = (mimeType ? fileExtension(mimeType) : null) || track.path.match(/\.(\w+)$/)[1] || "unknown-ext" return r.blob().then((b: Blob) => folder.file(track.filename + "." + fileExt, b)) })