mirror of
https://github.com/penpot/penpot.git
synced 2026-09-24 04:46:14 +00:00
* 🐛 Trim linked-library data in view-only bundle for share links The anonymous get-view-only-bundle RPC merged each linked library whole, exposing library pages the share link never granted. For share-link permissions, each library is now reduced to the narrow data keys with its own pages dropped and only the components referenced by the allowed pages kept (nested references followed); membership bundles are unchanged. Closes #11617 AI-assisted-by: muse-spark-1.3-contributor * 🐛 Resolve nested library components via main instance in bundle trim Stored components carry no objects, so the transitive walk missed nested components. Follow references through the main-instance subtree instead, share the narrow data keys between the primary and library scopes, and cover component filtering with a real-instance RPC test. Review follow-ups F1-F3 for #11617 AI-assisted-by: muse-spark-1.3-contributor * 🐛 Address review findings on view-only library trim Hoist invariant refs out of the fixpoint, make the cross-library main-instance fallback deterministic, pin the trimmed envelope, and add RPC tests for disallowed-page isolation and cross-library nesting. Follow-ups to #11617 AI-assisted-by: muse-spark-1.3-contributor * ♻️ Index libraries by id with d/index-by Replace the manual into/juxt index with the shared helper. No behavior change. AI-assisted-by: muse-spark-1.3-contributor