mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-10-30 08:37:56 +09:00
## Summary Fix the dry-run/commit mismatch for folder index pages. Page mutations could plan an empty local path inside a folder, but persistence rejected the same page because the shared Pages schema treated every non-home empty path as invalid. ## Technical choices - Derive valid folder-index page IDs from non-root folder children in the shared SDK schema. - Continue rejecting empty paths for non-home pages at the root. - Keep the existing home-page and root-folder invariants unchanged. - Cover both an existing page update and the transaction shape used when duplicating a folder index page. The other reports from this batch were verified against current main and closed against their existing fixes: browser process failures are covered by #6135, and fragment conflict options are covered by #6122. ## Checklist - [x] Reproduce the persistence failure - [x] Add regressions that fail before the schema fix and pass after it - [x] Allow empty local paths only for pages parented by non-root folders - [x] Verify update and duplicate persistence paths - [x] Run the fixture sync/build pipeline and inspect generated output - [x] Review documentation impact — no documentation change is needed because this restores the existing folder-index behavior - [x] Review the final diff for duplicated logic, edge cases, and unrelated changes ## Verification - `pnpm --filter @webstudio-is/sdk test` — 513 tests passed - SDK typecheck passed - `pnpm --filter @webstudio-is/project test` — 85 tests passed - Project typecheck passed - `pnpm --filter @webstudio-is/project-build test` — 2,094 tests passed - Project-build typecheck passed - `pnpm --filter ./packages/cli test` — 980 tests passed - CLI typecheck passed - `pnpm lint` - `pnpm check:generated-api` - `pnpm fixtures` — completed with no tracked fixture changes - Real local Chrome and auto-browser screenshot reproductions passed, including parallel captures Agent evaluations were not run because they require separate explicit approval. Closes #6142
Webstudio Project
Project related functionalities. This was temporarily placed here to reuse between other packages, but we need to split this into separate packages and probably remove this package entirely or keep it only for "project" specific functionality.