Skip to content

v2#4

Merged
zbeyens merged 106 commits into
mainfrom
v2
Jun 17, 2026
Merged

v2#4
zbeyens merged 106 commits into
mainfrom
v2

Conversation

@zbeyens

@zbeyens zbeyens commented May 4, 2026

Copy link
Copy Markdown
Member

Description
A clear and concise description of what this pull request solves. (Please do not just link to a long issue thread. Instead include a clear description here or your pull request will likely not be reviewed as quickly.)

Issue
Fixes: (link to issue)

Example
A GIF or video showing the old and new behaviors after this pull request is merged. Or a code sample showing the usage of a new API. (If you don't include this, your pull request will not be reviewed as quickly, because it's much too hard to figure out exactly what is going wrong, and it makes maintenance much harder.)

Context
If your change is non-trivial, please include a description of how the new logic works, and why you decided to solve it the way you did. (This is incredibly helpful so that reviewers don't have to guess your intentions based on the code, and without it your pull request will likely not be reviewed as quickly.)

Checks

  • The new code matches the existing patterns and styles.
  • The tests pass with yarn test.
  • The linter passes with yarn lint. (Fix errors with yarn fix.)
  • The relevant examples still work. (Run examples with yarn start.)
  • You've added a changeset if changing functionality. (Add one with yarn changeset add.)

@changeset-bot

changeset-bot Bot commented May 4, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f33726b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
slate-dom Major
slate-react Major
slate-browser Minor
slate-history Major
slate-hyperscript Major
slate-layout Major
slate Major
@slate/yjs Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce2bd6c68c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +143 to +144
if (op.type === 'set_selection' && !isInTransaction(editor)) {
setCurrentMarks(editor, null)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Clear cursor marks when applying set_selection

The set_selection mark reset is now guarded by !isInTransaction(editor), but this code path executes only after apply has entered a transaction (either directly or via the runEditorTransaction wrapper), so the condition is never true. In editors with listeners (the common slate-react path), selection changes no longer clear pending marks, so subsequent typing can incorrectly inherit stale formatting after cursor moves. This regresses the prior behavior noted by the inline comment and can surface as unexpected bold/italic carryover.

Useful? React with 👍 / 👎.

@zbeyens zbeyens changed the title Merge remote-tracking branch 'origin/main' into v2 v2 May 12, 2026
zbeyens and others added 29 commits June 5, 2026 17:46
Harden the @slate/yjs controller and operations so concurrent wrap, move,
merge, unwrap, and reconnect edits resolve to consistent Yjs paths, and
fix offline split undo/redo convergence. Adds contract and structural
soak tests covering split/merge, operation exhaustiveness, provider, and
React bindings.
Record the yjs-pr21 research run (brief, plan, synthesis, quality gaps,
sources, tasks, and soak/split-merge bug notes) and route gaps to the
slate-ar pipeline.
Record remote import trace metadata, split Yjs collaboration benchmark phases, and keep restored soak runners manual-only by removing package script entry points and stale release-proof soak claims.
feat(yjs): add Slate Yjs collaboration package
@zbeyens zbeyens merged commit 1e5c0f7 into main Jun 17, 2026
0 of 2 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.

2 participants