Skip to content

Mac: old Qm wearables re-converted to v49 fail to load (empty thumbnail + naked equip) — client lowercases case-preserved CDN names #9604

Description

@eordano

Summary

On Mac only, wearables published under old Qm entity hashes that were re-converted by the v49 asset-bundle converter (re-conversion wave dated 2026-07-08) fail to load: empty thumbnail in the backpack grid and a naked slot when equipped. The metadata card works. Windows is unaffected. This is a class-wide regression — any old Qm wearable swept into a v49 re-conversion is affected, not a single item.

Repro item: Camo Joggers — urn:decentraland:matic:collections-v2:0x3081a64774426eb4de8fa8d70c3cd742a885327a:5 (10/10 repro on Mac per #bug-reporting, 2026-08-03).

Root cause

The client lowercases Qm hashes before requesting asset bundles on Mac — AssetBundleManifestVersion.InjectContent (lowerCase = IPlatform.DEFAULT.Is(IPlatform.Kind.Mac)) and AssetBundleManifestHelper.SanitizeEntityHash. That matched the old converter, which stored files lowercased. The v49 converter preserves the published casing, so lowercased requests 404.

Evidence (curl, entity QmVsCQbAGPjabMCJAkGMGrGnqv37uvxkidXYoJy9VdzXfc):

  • https://ab-cdn.decentraland.org/v49/QmVsCQ…/QmeHqrQh3D…_mac200 (611 KB)
  • https://ab-cdn.decentraland.org/v49/QmVsCQ…/qmehqrqh3d…_mac404 (what the Mac client requests)
  • Same 200/404 split for the thumbnail bundle → both symptoms, one cause.

Registry (/entities/versions) reports mac+windows at v49/complete; the bundles themselves are healthy.

Fix

Branch bugsweep/camo-joggers-thumbnail-naked-mac (commit 393e0c8) version-gates the lowercasing at v49 (PreservesOriginalCasing(), same idiom as SupportsDepsDigests whose constant is already 49). Pre-v49 conversions keep the old behavior. Includes a version-gate regression test; the Mac branch itself has no unit seam (IPlatform.DEFAULT is static) — the curl pair above is the repro/verification harness.

QA recipe for finding more affected items

Any wearable whose entity id starts with Qm and whose registry version is v49 on mac is suspect: spot-check via the two curl forms above (mixed-case 200 + lowercase 404 = affected on Mac).

Related history: #4188 ('Republiqe Finale' renders incorrectly on Mac, closed) is consistent with this family.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-highHigh severity issuesMac OnlyIssue only happens on Mac buildsasset bundlesAsset bundle related issues, that potentially require changes to the AB workflowbugSomething isn't workingduplicateIssue has been automatically marked as a duplicate

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions