Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/quiet-lions-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@projectstorm/react-workspaces-core': patch
---

Prevent workspace root models from being collapsed during normalization after a root-level drop split.
5 changes: 3 additions & 2 deletions demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@
"typeface-open-sans": "^1.1.13"
},
"devDependencies": {
"@storybook/addon-webpack5-compiler-swc": "^4.0.3",
"@storybook/react-webpack5": "^10.4.6",
"@types/lodash": "^4.17.24",
"@types/node": "^26.1.1",
"@types/react": "19.2.17",
"@types/react-dom": "^19.2.3",
"gh-pages": "^6.3.0",
"react-dom": "19.2.7",
"source-map-loader": "^5.0.0",
"storybook": "^10.4.6",
"@storybook/react-webpack5": "^10.4.6",
"@storybook/addon-webpack5-compiler-swc": "^4.0.3",
"webpack": "^5.108.4"
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"build": "tsc --build && pnpm run -r build",
"build:prod": "NODE_ENV=production pnpm build",
"release": "pnpm build:prod && pnpm changeset publish",
"release:storybook": "tsc --build && cd demo && pnpm storybook:build && ./node_modules/.bin/storybook-to-ghpages --existing-output-dir .out"
"release:storybook": "tsc --build && cd demo && pnpm storybook:build && pnpm exec gh-pages --dist .out"
},
"devDependencies": {
"babel-loader": "^10.1.1",
Expand Down
4 changes: 4 additions & 0 deletions packages/core/src/core/WorkspaceEngine.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ export class WorkspaceEngine extends BaseObserver<WorkspaceEngineListener> imple
this.rootModel
.flatten()
.filter((m) => m instanceof WorkspaceCollectionModel)
// The configured root may be re-parented while a drop creates a new
// outer layout. It remains the engine's stable workspace anchor and
// must never be removed or collapsed by collection normalization.
.filter((m) => m !== this.rootModel)
.forEach((m: WorkspaceCollectionModel) => m.normalize());
}

Expand Down
Loading
Loading