fix: refresh sqlite media overwrite age

This commit is contained in:
Peter Steinberger
2026-05-16 01:31:02 +01:00
parent 9a17934e46
commit 00181fdd08
2 changed files with 30 additions and 0 deletions

View File

@@ -600,6 +600,35 @@ describe("media store", () => {
await expectCleanupBehaviorCase({ setup, run });
});
it("keeps stable-id media when a stale blob is refreshed", async () => {
await withTempStore(async (store) => {
const now = Date.now();
try {
vi.useFakeTimers({ now: now - 60_000 });
await store.saveMediaBufferWithId({
subdir: "stable-refresh",
id: "stable.txt",
buffer: Buffer.from("old"),
contentType: "text/plain",
});
vi.setSystemTime(now);
await store.saveMediaBufferWithId({
subdir: "stable-refresh",
id: "stable.txt",
buffer: Buffer.from("fresh"),
contentType: "text/plain",
});
await store.cleanOldMedia(30_000, { recursive: true, pruneEmptyDirs: true });
const result = await store.readMediaBuffer("stable.txt", "stable-refresh");
expect(result.buffer).toEqual(Buffer.from("fresh"));
} finally {
vi.useRealTimers();
}
});
});
it.each([
{
name: "sets correct mime for xlsx by extension",

View File

@@ -253,6 +253,7 @@ function upsertMediaBlob(params: {
content_type: (eb) => eb.ref("excluded.content_type"),
size_bytes: (eb) => eb.ref("excluded.size_bytes"),
blob: (eb) => eb.ref("excluded.blob"),
created_at: (eb) => eb.ref("excluded.created_at"),
updated_at: (eb) => eb.ref("excluded.updated_at"),
}),
),