From 27312cc1181aeb15cb1c661518a62509a08078f3 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 19 Jan 2026 08:13:02 +0100 Subject: [PATCH] Implement cleanup of old compressed CSV files after successful write in CMS This commit adds logic to remove outdated `.gz` and `.br` files after a successful CSV write operation in the CMS. This ensures that users do not encounter inconsistent content due to leftover pre-compressed assets, enhancing data integrity and reliability in the application. --- server/api/cms/save-csv.post.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/api/cms/save-csv.post.js b/server/api/cms/save-csv.post.js index 15907e7..a896b0b 100644 --- a/server/api/cms/save-csv.post.js +++ b/server/api/cms/save-csv.post.js @@ -82,6 +82,14 @@ export default defineEventHandler(async (event) => { if (st.size !== expectedSize) { throw new Error(`Size mismatch after write. expected=${expectedSize} actual=${st.size}`) } + + // Wenn beim Build pre-komprimierte Assets erzeugt wurden, können für CSVs + // noch alte `.gz`/`.br` Dateien liegen bleiben. Nach einem Update würden dann + // ggf. inkonsistente Inhalte ausgeliefert (Browser meldet Partial Transfer). + // Daher: nach erfolgreichem Schreiben alte Varianten entfernen. + for (const ext of ['.gz', '.br']) { + try { await fs.unlink(`${targetPath}${ext}`) } catch (_e3) {} + } } catch (e) { // best-effort cleanup try { await fs.unlink(tmpPath) } catch (_e2) {}