The Sentry error title was `"Failed to fetch image from URL: "` with an empty suffix because the original error's `.message` was an empty string. This made it impossible to determine the actual failure type (ECONNRESET, ETIMEDOUT, TLS error, etc.).
**Change in `image.ts`**: When re-throwing the error in `getImageBufferFromUrl`, the code now falls back to the error's `.code` property (present on AxiosError and Node.js system errors like `ECONNRESET`, `ETIMEDOUT`, `ERR_NETWORK`) when `.message` is empty. This ensures Sentry and log messages always contain actionable diagnostic information instead of empty strings.
Before: `Failed to fetch image from <url>: ` (empty — un-debuggable)
After: `Failed to fetch image from <url>: ECONNRESET` (actionable)