Skip to content

Conversation

@david-tsai-skydio
Copy link

@david-tsai-skydio david-tsai-skydio commented Nov 17, 2025

Continues experimental work from @mathuo for persistent unused panels (always keep-alive). Adds reuseExistingPanels option to fromJSON() method to preserve existing panel instances.

Rebased from commit 97e8a95 (Nov 30, 2024) onto current master (v4.11.0) to resolve conflicts and integrate with latest codebase changes.

@mathuo - I had to replace runWithSuppressedEvents in favor of movingLock usage based on what I saw, it looks like that got renamed.

Related: #778

cc: @crubier

Original experimental work for persistent unused panels (always keep-alive)
Adds reuseExistingPanels option to fromJSON() method to preserve existing panel instances

Rebased from commit 97e8a95 (Nov 30, 2024) onto current master (v4.11.0)
to resolve conflicts and integrate with latest codebase changes.

Key changes during rebase:
- Combined MoveGroupOrPanelOptions to include both skipSetActive and keepEmptyGroups options
- Updated to use movingLock() method matching current upstream conventions
- Removed readonly modifiers from constraint properties to support updateFromStateModel
- Preserved isDestinationGroupEmpty check logic from master
- Integrated new test cases for reuseExistingPanels functionality

Co-authored-by: David Tsai <david.tsai@skydio.com>
Original-Author: mathuo <6710312+mathuo@users.noreply.github.com>
Related-Branch: upstream/718-persistent-unused-panels-always-keep-alive
@david-tsai-skydio david-tsai-skydio marked this pull request as ready for review November 17, 2025 20:52
@david-tsai-skydio david-tsai-skydio force-pushed the feat/reuse-existing-panels branch from 7161278 to e3cda20 Compare November 17, 2025 20:56
@david-tsai-skydio
Copy link
Author

@mathuo - noticing the build is hanging at the moment; let me know if there's anything else I can help with in the interim

Explicitly call contentContainer.openPanel() in doSetActivePanel to ensure panels are correctly attached to the DOM when they become active, fixing issues where panels moved from popout windows would not render.
@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 45ae882:

Sandbox Source
dockview-app Configuration
editor-gridview Configuration
externaldnd-dockview Configuration
fullwidthtab-dockview Configuration
iframe-dockview Configuration
keyboard-dockview Configuration
nativeapp-dockview Configuration
rendering-dockview Configuration

@david-tsai-skydio
Copy link
Author

@mathuo - Thanks for taking a look at this, I saw that you got the ci/codesandbox to run at least, but spotted that there was a build error with a failing test, updated my PR here to fix it; tests passed locally

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants