diff --git a/.bun-version b/.bun-version index 3c80e4f0..e1df5de7 100644 --- a/.bun-version +++ b/.bun-version @@ -1 +1 @@ -1.4.3 \ No newline at end of file +1.4.4 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e4792c3a..acb74f93 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.4.3-slim AS base +FROM oven/bun:1.4.4-slim AS base WORKDIR /app COPY package.json bun.lock /app/ RUN bun install --frozen-lockfile diff --git a/mise.toml b/mise.toml index cfb78577..40a490fb 100644 --- a/mise.toml +++ b/mise.toml @@ -1,5 +1,5 @@ [tools] -bun = "1.4.3" +bun = "1.4.4" [env] JWT_SECRET = "aLongAndSecretStringUsedToSignTheJSONWebToken1234" diff --git a/package.json b/package.json index c75bdcae..fddcd89e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "convertx-frontend", - "version": "0.19.0", + "version": "0.20.0", "scripts": { "dev": "bun run --watch src/index.tsx", "hot": "bun run --hot src/index.tsx", diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index 6182cdf5..8d5709a6 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -721,7 +721,7 @@ export async function convert( let extraArgs: string[] = []; let message = "Done"; - const audioFormatsWithCover = ["m4a", "mp3", "flac", "ogg"]; + const audioFormatsWithCover = ["m4a", "m4b", "mp3", "flac", "ogg"]; const audioFormatsNoCover = ["wav", "aac"]; if (audioFormatsWithCover.includes(convertTo)) { diff --git a/tests/converters/ffmpeg.test.ts b/tests/converters/ffmpeg.test.ts index 8fff82eb..955e2a0a 100644 --- a/tests/converters/ffmpeg.test.ts +++ b/tests/converters/ffmpeg.test.ts @@ -89,23 +89,26 @@ test.each([ expect(calls[0]).toEqual(["-i", "in.mkv", "-c:v", codec, "out.video"]); }); -test.each(["m4a", "mp3", "flac", "ogg"])("keeps embedded cover art for %s output", async (ext) => { - await convert("in.wav", "wav", ext, `out.${ext}`, undefined, mockExecFile); +test.each(["m4a", "m4b", "mp3", "flac", "ogg"])( + "keeps embedded cover art for %s output", + async (ext) => { + await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile); - expect(calls[0]).toEqual([ - "-i", - "in.wav", - "-map", - "0:a", - "-map", - "0:v:disp:attached_pic?", - "-c:v", - "copy", - "-disposition:v", - "attached_pic", - `out.${ext}`, - ]); -}); + expect(calls[0]).toEqual([ + "-i", + "in.mp3", + "-map", + "0:a", + "-map", + "0:v:disp:attached_pic?", + "-c:v", + "copy", + "-disposition:v", + "attached_pic", + `out.${ext}`, + ]); + }, +); test.each(["wav", "aac"])("drops video streams for %s output", async (ext) => { await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile);