mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 22:10:34 +00:00
* 🐛 Remap library refs inside deleted components on absorb Deleted components keep their shapes in :objects, to be restored and to resolve their remaining copies. When a library was absorbed into a file (export with libraries merged, unsharing or deleting the library), absorb-assets only looked for usages in pages and in live components. The shapes inside deleted components kept pointing to the library, so they no longer matched their copies in the pages: the file failed validation with :component-id-mismatch and could not be saved. Also look for usages in deleted components, so their library components, colors and typographies are remapped to the local file. Relates to #10806 AI-assisted-by: claude-opus-5-5 * 🐛 Persist pointer-map fragments when absorbing a library absorb-library-by-file saved the file without its :features. Without "fdata/pointer-map" there, encode-file does not persist the changed fragments, so in files with pointer maps the pages and components that absorb-assets remapped were never written. After unpublishing or deleting a library, its consumers failed to load with "fragment not found". Pass :features to update-file!. Exporting with shared libraries does not go through this path, so it was not affected. AI-assisted-by: claude-opus-5-5