--- a/util/datamanager.lua Wed Jul 12 11:45:12 2023 +0200
+++ b/util/datamanager.lua Wed Jun 07 00:39:30 2023 +0200
@@ -32,6 +32,7 @@
local prosody = prosody;
+local blocksize = 0x1000;
local raw_mkdir = lfs.mkdir;
local atomic_append;
local remove_blocks;
@@ -244,6 +245,12 @@
end
local pos = f:seek("end");
+ if (blocksize-(pos%blocksize)) < (#data%blocksize) then
+ -- pad to blocksize with newlines so that the next item is both on a new
+ -- block and a new line
+ atomic_append(f, ("\n"):rep(blocksize-(pos%blocksize)));
+ pos = f:seek("end");
+ end
local ok, msg = atomic_append(f, data);