Files
webstudio/packages/project
Oleg Isonen 0d5c2f6ee8 fix: Allow folder index page paths (#6147)
## 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
2026-08-14 23:31:27 +02:00
..

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.