You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An operation can say why it couldn't decode an input: a subclass of HotCell::UnreadableInput that defines self.cause sends that cause with the unreadable failure. HotCell::Codes::PROTECTED names the first such cause, protected. See docs/codes.md.
HotCell::Client
Added
The exception that the client raises for a failed call carries the HotCell::Failure, so an application can read the failure's code and cause without parsing the message. Call hot_cell_failure on the exception, or rescue HotCell::Verdict, a module that the client extends onto every such exception, to catch it whatever classes the application registered. See Response codes. (#97)
ActiveStorage::HotCell::Client
Fixed
A JPEG uploaded as .jfif, .jif or .jfi is transformed instead of failing permanently as unreadable. Rails names a web image's variant format after the upload's extension. The ImageMagick transformer has no coder for these extensions, and the Vips transformer has no saver for .jif or .jfi. The transformers now send the cell the canonical extension of the format's content type, such as jpg, which is the extension Rails falls back to. (#84)
HotCell::Client::Legacy
Added
hotcell-client-legacy is a new gem that lets an application on a legacy Ruby version call a cell. It has no dependencies, and it speaks the same wire protocol as hotcell-client but leaves out Rails integration, Active Storage support and metrics. See docs/client-legacy.md. (#100)
ActiveStorage::HotCell::Server
Added
The mutool and Poppler PDF previewers answer unreadable with cause protected for a password-protected PDF. An application that shows a lock placeholder for these PDFs can read the cause instead of matching the tool's error message.