Oleg Isonen 3e310ddae3 fix: prevent canvas page switch reconciliation errors (#6494)
## Summary
- Keep the Canvas iframe mounted on page switches to avoid the blank,
slow document reload.
- Key the page's React boundary and place authored content under a
removable `display: contents` host node inside Canvas `<body>`. This
gives page teardown a generic DOM boundary.
- Use the merged sdk-components-animation fix from PR #36. The prior
animation implementation removed React-owned text nodes and triggered
`removeChild` when Canvas switched to an animated page.
- Add an end-to-end regression using the actual animation components and
retaining iframe identity. Keep the DOM-removal and preview navigation
regressions.

## Validation
- The animation regression reproduced the exact `removeChild` error
before the animation fix and passed with the fix.
- All checks passed on `f921c3011d`, including the submodule-ordering
check, all six Builder E2E shards, Builder builds, app/package checks,
typecheck, lint, and visual regression.
- Live switching speed on the affected project still needs a manual
check after deployment.
2026-10-03 00:05:41 +02:00
2026-07-12 11:27:58 +02:00
2026-09-02 22:25:11 +02:00
2026-02-05 10:25:17 +01:00
2026-03-20 21:09:47 +01:00
2026-09-02 22:25:11 +02:00
2023-09-06 21:43:29 +03:00

builder-screenshot

Webstudio is an Open Source Visual Development Platform for developers, designers, and cross-functional teams. You own the data, components, and infrastructure. You can use the hosted version or roll out your own.


Learning Resources

Social Media

License

  • Webstudio core (all functionality in this repository) is free/open-source under AGPL-3.0-or-later.
  • sdk-components-animation package (optional) is proprietary. You must accept the Webstudio, Inc. EULA located in sdk-components-animation/LICENSE before using it.
Languages
TypeScript 98.9%
PLpgSQL 0.5%
CSS 0.3%
Shell 0.2%
JavaScript 0.1%