Skip to content

Multi-window - #13

Merged
rcarver merged 10 commits into
fix-events-streamfrom
multi-window
Aug 4, 2026
Merged

Multi-window #13
rcarver merged 10 commits into
fix-events-streamfrom
multi-window

Conversation

@rcarver

@rcarver rcarver commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

This is a major redesign of the system to properly support multi-window applications.

You can now install a separate undo stack via dependencies:

withDependencies {
  $0.installDefaultUndoStack(undoManager)
} operation: {
  // ...
}

Then, the registered UndoManager and stack are fully independent of others.

Registering the UndoManager can also be done later, via defaultUndoStack.set(..) as in the TCA integration.

The implementation simplified significantly by doing this; we used to do complex tracking of undo sequence numbers which has all been collapsed to a barrierID for each undoable set of operations.

The example app has been updated with this pattern and now each window maintains an independent undo history.

@rcarver
rcarver merged commit 2541f5c into main Aug 4, 2026
2 of 3 checks passed
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.

1 participant