Cross-page canvas copy/paste fixed (clipboard now stores a deep-cloned subtree snapshot instead of a bare node id that died on page switch; paste regenerates ids into the current page). Page productivity: duplicatePage (saves outgoing canvas, copies craftState+seo, unique slug, inserts after, switches to copy), movePage up/down, setLandingPage — all preserving the exactly-one-index-0-landing invariant. PagesPanel per-row reorder/duplicate/set-home controls. 887 tests; cross-page paste red-proved.
Cross-page canvas copy/paste fixed (clipboard now stores a deep-cloned subtree snapshot instead of a bare node id that died on page switch; paste regenerates ids into the current page). Page productivity: duplicatePage (saves outgoing canvas, copies craftState+seo, unique slug, inserts after, switches to copy), movePage up/down, setLandingPage — all preserving the exactly-one-index-0-landing invariant. PagesPanel per-row reorder/duplicate/set-home controls. 887 tests; cross-page paste red-proved.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Cross-page canvas copy/paste fixed (clipboard now stores a deep-cloned subtree snapshot instead of a bare node id that died on page switch; paste regenerates ids into the current page). Page productivity: duplicatePage (saves outgoing canvas, copies craftState+seo, unique slug, inserts after, switches to copy), movePage up/down, setLandingPage — all preserving the exactly-one-index-0-landing invariant. PagesPanel per-row reorder/duplicate/set-home controls. 887 tests; cross-page paste red-proved.
🤖 Generated with Claude Code