KamoCRM

Legal uploads use the Antivirus hold path instead of 'try again'

FeatureDocsService
Shipped
November 8, 2026 at 3:26 AM UTC
Author
Kamo
Commit
044836e

A requested-document upload that Antivirus holds (engines busy) no longer answers 503. A native PDF is its own rendition, so it is recorded at once, pinned by its content-address triple, and answers 202 with scan.status PENDING; every read answers 423 ANTIVIRUS_CHECKING until ConversionService's hold completer stores it. An Office document or photo needs a PDF rendition made from CHECKED bytes: the request waits **************** 45 s) for the hold to complete and ConversionService's post-hold conversion, pins that rendition, and only then falls back to 503. Unchecked bytes are never converted here. Refusals keep the platform shape {reason, family, message} plus fileName (they were flattened to {error} / a 500 by memberGuarded before).

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