fix: decompress legacy zlib objects in fetch/objects wire response
Objects pushed via the old wire path were stored zlib-compressed in the backend under the SHA-256 of their plain content. The fetch/objects endpoint was returning raw (compressed) bytes, causing muse clone/pull to store compressed bytes that fail muse verify (SHA-256 mismatch).
Fix: apply decompress_if_needed() in _pack_objects_response after backend.get() so all wire responses contain plain bytes regardless of how the object was stored.
Also removes stale docstring claiming LocalBackend/S3Backend fall back to old per-repo paths — that fallback was never implemented in S3Backend.
5 new tests covering: legacy compressed → decompressed on fetch, no double-decompression of plain objects, hash verification, mixed batch, missing object_id handled gracefully.
0 comments
muse hub commit comment sha256:971b718869de4a5389b83fd238d5d5bacaa0124bc224bdb79a49368035a4ae4b --body "your comment"
No comments yet. Be the first to start the discussion.