6c915d03c3
When the server returns a 4xx/5xx, downloadMedia was silently returning the error response body as a blob. decryptAttachment would then fail with a misleading 'Mismatched SHA-256 digest' instead of surfacing the real HTTP error. Now throws immediately so callers (useAsyncCallback) can show the correct error state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>