From 104f0fcd16e36c18e373ba652e4f73b0c1bb1f6d Mon Sep 17 00:00:00 2001 From: Philip Loibl Date: Sat, 29 Nov 2025 06:04:46 +0100 Subject: [PATCH] fix file write truncation bug --- src/fileSystem/internalFs.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/fileSystem/internalFs.js b/src/fileSystem/internalFs.js index 870da7c41..a28eb0a21 100644 --- a/src/fileSystem/internalFs.js +++ b/src/fileSystem/internalFs.js @@ -48,10 +48,16 @@ const internalFs = { name, { create, exclusive }, (fileEntry) => { - fileEntry.createWriter((file) => { - file.onwriteend = (res) => resolve(filename); - file.onerror = (err) => reject(err.target.error); - file.write(data); + fileEntry.createWriter((writer) => { + writer.onerror = (err) => reject(err.target.error); + // Truncate file to 0 to clear any old content + // This prevents trailing garbage when new data is smaller than old data + writer.truncate(0); + writer.onwriteend = () => { + // After truncate completes, write new data + writer.onwriteend = (res) => resolve(filename); + writer.write(data); + }; }); }, reject,