{"type":"video","version":"1.0","html":"<iframe src=\"https://www.loom.com/embed/f941f20853444597931d85d6b56ef68c\" frameborder=\"0\" width=\"1662\" height=\"1246\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>","height":1246,"width":1662,"provider_name":"Loom","provider_url":"https://www.loom.com","thumbnail_height":1246,"thumbnail_width":1662,"thumbnail_url":"https://cdn.loom.com/sessions/thumbnails/f941f20853444597931d85d6b56ef68c-49f4009a5c8e8670.gif","duration":134.249,"title":"Mirroring Asset Links and Degradation Tests","description":"This Loom explains a substantial PR that updates how Markdown asset links are rewritten by tying together RewriteAssetLinks and MirrorAssetToRoamStorage within a new function in PortNodeAssets. It processes Markdown, finds asset links using existing utility functions, mirrors the assets, and returns rewritten Markdown. The PR also includes a small refactor to reuse a new get error message and fixes how it was used elsewhere. It adds extensive tests for the newly exposed functions, plus a separate commit with end to end Asset Degradation tests that verify failure cases are handled gracefully."}