diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index 926b62d3..adf48b45 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -770,9 +770,15 @@ export async function convert( } // Parse FFMPEG_ARGS environment variable into array - const ffmpegArgs = process.env.FFMPEG_ARGS ? process.env.FFMPEG_ARGS.split(/\s+/).filter(Boolean) : []; + const ffmpegArgs = process.env.FFMPEG_ARGS + ? process.env.FFMPEG_ARGS.split(/\s+/) + .filter(Boolean) + .map((arg) => arg.trim()) + : []; const ffmpegOutputArgs = process.env.FFMPEG_OUTPUT_ARGS - ? process.env.FFMPEG_OUTPUT_ARGS.split(/\s+/).filter(Boolean) + ? process.env.FFMPEG_OUTPUT_ARGS.split(/\s+/) + .filter(Boolean) + .map((arg) => arg.trim()) : []; return new Promise((resolve, reject) => { diff --git a/src/converters/main.ts b/src/converters/main.ts index 6abedfdc..2c8e6b8c 100644 --- a/src/converters/main.ts +++ b/src/converters/main.ts @@ -321,7 +321,7 @@ export const getPossibleTargets = (from: string): Record => { const fromClean = normalizeFiletype(from); return possibleTargets[fromClean] || {}; -} +}; const possibleInputs: string[] = []; for (const converterName in properties) { @@ -348,7 +348,10 @@ for (const converterName in properties) { for (const key in converterProperties.to) { if (allTargets[converterName]) { - allTargets[converterName] = [...allTargets[converterName], ...(converterProperties.to[key] || [])]; + allTargets[converterName] = [ + ...allTargets[converterName], + ...(converterProperties.to[key] || []), + ]; } else { allTargets[converterName] = [...(converterProperties.to[key] || [])]; } @@ -367,7 +370,10 @@ for (const converterName in properties) { for (const key in converterProperties.from) { if (allInputs[converterName]) { - allInputs[converterName] = [...allInputs[converterName], ...(converterProperties.from[key] || [])]; + allInputs[converterName] = [ + ...allInputs[converterName], + ...(converterProperties.from[key] || []), + ]; } else { allInputs[converterName] = converterProperties.from[key] || []; } @@ -382,4 +388,4 @@ export const getAllInputs = (converter: string) => { * @internal For testing only. Do not use in production. * Tests need direct access to cover all branches of converter discovery and chunking logic. */ -export { chunks, mainConverter }; \ No newline at end of file +export { chunks, mainConverter }; diff --git a/src/pages/convert.tsx b/src/pages/convert.tsx index c181e516..e28890cf 100644 --- a/src/pages/convert.tsx +++ b/src/pages/convert.tsx @@ -59,7 +59,7 @@ export const convert = new Elysia().use(userService).post( let fileNames: string[]; try { fileNames = JSON.parse(body.file_names) as string[]; - } catch (e) { + } catch { return redirect(`${WEBROOT}/`, 302); } diff --git a/src/pages/deleteFile.tsx b/src/pages/deleteFile.tsx index a43fd596..ed35550b 100644 --- a/src/pages/deleteFile.tsx +++ b/src/pages/deleteFile.tsx @@ -29,12 +29,11 @@ export const deleteFile = new Elysia().use(userService).post( try { await unlink(targetPath); - } catch (error) { - if (error.code === "ENOENT") { + } catch (e) { + if ((e as NodeJS.ErrnoException).code === "ENOENT") { return { message: "File not found." }; } - console.error(`Failed to unlink ${targetPath}:`, error); - throw error; + throw e; } return { diff --git a/src/pages/root.tsx b/src/pages/root.tsx index 4aacd258..99b1f5ae 100644 --- a/src/pages/root.tsx +++ b/src/pages/root.tsx @@ -40,7 +40,7 @@ export const root = new Elysia().use(userService).get( if (verifiedUser && verifiedUser.id) { user = verifiedUser; } - } catch (e) { + } catch { // Invalid cookie, fall through to anonymous creation } }