Repository navigation
Update CellDL Editor to its latest version and thus stop sharing it between our different file tabs - #599
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Approval is blocked by unresolved critical lifecycle and DOM-proxy issues that can prevent editor activation and leak per-tab editor instances, plus inconsistent loaded-state handling after asynchronous errors.
3 open issues
What changed in this PR
Updates CellDL Editor to 0.20261105.0, replacing the shared editor with independent instances so each CellDL file tab preserves its own editor state.
Changes:
- Embed one CellDL Editor instance per file view.
- Add keyboard-client coordination and a persistent idle editor.
- Remove the obsolete shared editor host and state management.
- Update CSS scoping, dependencies, versions, changelog, and lockfiles.
| File | Description |
|---|---|
src/renderer/src/components/views/CellDLEditorView.vue |
Hosts and manages an independent CellDL Editor instance per file view. |
src/renderer/src/components/IdleCellDLEditorComponent.vue |
Provides the idle editor used for keyboard handoff. |
src/renderer/src/components/CellDLEditorHostComponent.vue |
Removes the obsolete shared editor host component. |
src/renderer/src/common/celldlEditorKeyboard.ts |
Coordinates keyboard handling across CellDL Editor instances. |
src/renderer/src/common/celldlEditorHost.ts |
Removes obsolete shared-editor state and command-queue logic. |
src/renderer/scripts/celldl.plugin.ts |
Updates CellDL Editor CSS scoping for the new component structure. |
src/renderer/package.json |
Updates the renderer version and CellDL Editor dependency. |
src/renderer/changelog.json |
Documents preserved editor state when switching files. |
src/renderer/bun.lock |
Locks the updated renderer dependencies. |
package.json |
Updates the root version and CellDL Editor dependency. |
bun.lock |
Locks the updated root dependencies. |
Review effort: Lite
There was a problem hiding this comment.
🟡 Changes recommended
Two active correctness issues remain: a released client can be reassigned by a queued open operation, and editor-state failures leave the client marked loaded with enabled exports and continued edit events.
2 open issues
3 resolved since last review
Review effort: Lite
There was a problem hiding this comment.
🔵 Needs a closer look
The pooled editor’s asynchronous lifecycle, Teleport reuse, and cross-instance keyboard coordination require manual multi-tab and failure-path runtime validation beyond static review.
No open issues 🎉
2 resolved since last review
Review effort: Lite


Fixes #598.