KamoCRM

An Img keeps the extension its content is stored under — on dedup and on rename

Fixkamo-shared-library
Shipped
October 14, 2026 at 7:48 PM UTC
Author
Kamo
Commit
abaec95

fileExt is part of the storage key (<imgDatId>.<ext>) every reader builds, but dedup matches on the BYTES. Content already held arriving under another name (a .png re-sent as .jpg, BUG-1200096283021632186) reused the dat, stored nothing, and keyed an object that was never written — a 410 for everyone. A rename did the same with no upload at all: report.pdf renamed report.docx pointed at <dat>.docx. **************** fileName) answers the key's extension: the dat's FIRST Img's (the upload that wrote the object), else the name's own for new content. The byte and streaming uploads, registerExistingDocument and the privileged tag use it; updateFileName changes the name only. ADD-only: **************** and idx_img_dat on imgs(dat_id) (applied by hand).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing