mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 21:32:18 +00:00
chore(release): v1.28.15 — document thumbnails; admin-shared AI access
Document vault shows a per-file thumbnail: a server-rendered preview, downscaled and re-encoded so location and camera metadata are dropped, served only to the file's owner over an authenticated request. Files that cannot be previewed keep their type icon. Generation is bounded — a header sniff refuses an over-large source before decode, so a crafted image cannot exhaust the preview worker. Also folds in admin-managed central AI access — an administrator connects one access on the server and each user opts in or keeps their own provider, off until an admin turns it on — and trims the redundant documents-search caption and per-file searchable/read badges.
This commit is contained in:
commit
eb102ac50c
37 files changed
+1490
-163
No files matched your search
@@ -619,6 +619,19 @@ async function main() {
|
||||
results.push(result);
|
||||
}
|
||||
|
||||
// ───── Document preview thumbnails (Bytes column) ─────
|
||||
// The small JPEG preview, stored as the `encrypt()`-string-as-UTF-8 Bytes
|
||||
// shape (base64 of the JPEG) — the same codec as the content index — so the
|
||||
// shared Bytes walk re-encrypts it under the active key. NOT NULL, so every
|
||||
// thumbnail row rotates.
|
||||
results.push(
|
||||
await rotateBytesColumn(
|
||||
"DocumentThumbnail",
|
||||
"thumbnailEncrypted",
|
||||
prisma.documentThumbnail,
|
||||
),
|
||||
);
|
||||
|
||||
console.log("\n=== Rotation summary ===");
|
||||
let totalRotated = 0;
|
||||
let totalErrors = 0;
|
||||
|
||||
Reference in new issue
Block a user