Skip to content

v54 (beta) - #5036

Draft
zbeyens wants to merge 274 commits into
mainfrom
next
Draft

zbeyens wants to merge 274 commits into
mainfrom
next

Conversation

@zbeyens

@zbeyens zbeyens commented Jun 17, 2026 •

Copy link
Copy Markdown
Member
  • Auto release

@codesandbox

codesandbox Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web Editor • VS Code • Insiders

Open Preview

@changeset-bot

changeset-bot Bot commented Jun 17, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 5fc246c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@zbeyens zbeyens changed the title Plate 54 (beta) v54 (beta) Jun 17, 2026
@vercel

vercel Bot commented Jun 20, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
plate Ready Ready Preview Oct 11, 2026 9:43am UTC

Request Review

sin6626 and others added 30 commits October 10, 2026 15:11
Word export wrote each equation as its TeX source, drew task items as a
button beside their text, and baked its own colors and fonts into
callouts and code blocks, so the app's stylesheet never reached the file.
exportDocx now builds Word math from KaTeX's MathML and keeps the TeX
inside a Word equation where Word math cannot express it. importDocx
reads Word math back as equation and inlineEquation nodes. Task items
export as one paragraph with a checked or unchecked box marker. The Word
components draw structure only, and the copied docx-export stylesheet
holds the look. List numbering lives on each document, so concurrent
exports keep their own, and passing stylesheet or fontFamily rebuilds an
unchanged imported file.

Plan: docs/plans/2026-10-10-html-word-owns-word.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The live IndentKit and ListKit let a user indent an image or put it in a
list, but the static kits did not target images, and the static editor's
closed schema refused any document that held one. The server HTML block,
the AI command route and the AI preview then threw on that document.
Both static kits now target images, so the static editor loads the
document and draws the image as a list item at its indent.

Plan: docs/plans/2026-10-10-html-static-kit-drift.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
materializeEquations replaced any paragraph whose only content was a
display equation with a block equation node. A Word list item or an
indented paragraph built that way lost its listType and indent, the
items after it renumbered, and strict import reported no loss. Such a
paragraph now stays, and its equation imports inline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…props

The props type forbids editor and document with optional never fields,
which still admit an explicit undefined, but the guard threw on any own
key. renderStaticHtml now throws only when either holds a value.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The redo plan's Close records the two-round panel on the branch diff,
the check steps that also fail on next, and the owner's call to open
the pull request. The static kit plan names its review inputs, as the
review ledger requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The docx guide and the changeset said an equation exports its TeX when
Word math cannot express the notation. The fallback covers notation this
converter does not handle, such as a matrix, which Word math can express.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…flect

The html subject file now describes the branch's export: the static kit
as presentation, the detached compile, the export error toast and the
static kits' image targets, with the plans' remaining open work. The
Word plan's Close gains the decision-trail review its first close
skipped, with its narrowed claims, and the redo plan records the session
reflect and its backlog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The review ledger needs every review_inputs path in a tree or commit. The
Word plan listed nine probe logs from its author's ignored run directory,
so review-ledger passed on that machine and failed in CI. The plan now names
the six tracked specs that hold its tests, and its Close names them too.
The Close also lists the revision-diagnostic deviation its first close
missed.
exportDocx drew the body and each comment body through two near-copies
that built the same static HTML options and returned diagnostics in two
shapes. One renderDocxHtml now renders either document, exportDocx applies
the review projection to the body, and missingDrawings reads the render
results. Output is unchanged.
The marker codec's parse regex matches only comment and revision markers,
but Marker['kind'] also listed three equation kinds, so its cast admitted
kinds parse never returns. The codec now builds the three equation tokens
once as codec.equation, which instrumentWordMath and materializeEquations
read.
U+2061 and the combining accents in the Word math converters and their
shared vocabulary read as empty strings in review. Each is now written as
a Unicode escape with the same value.
The PR's code-quality review found that lists inside callouts and columns
likely restart their numbering, that Word math import hardcodes plugin
types and list keys, and that text-only Word math reports Mammoth's
diagnostic code. Each is listed in the documents subject's Open work with
its owner and stop.
The babysit plan records the CI triage against next's own runs, the
repair of the branch's one own CI failure, the code-quality review's
findings and how each was settled, and the merge frontier. Its decision
log holds each call with its proof.
A Codex reviewer checked the babysit's decision log against its
transcript. The Close now says the red checks are next's by CI evidence
only, that the full www check passes locally with its production build,
and how each review warning was settled. A numbered list after a plain
paragraph joins the Word list numbering item in the documents subject's
Open work.
The owner moved the review-ledger checker fix into the session that started the babysit, so the plan's default names that session instead of a proposed task.
Details pruned open keys after every document change by resolving them
through one editor, so a key from an authored view looked deleted and its
Details collapsed on Enter. Open keys now stay until the block is closed,
which also lets undo restore a deleted Details open. A read-only view that
closes a Details moves the owning editor's selection to the Summary end,
because the plugin store shares open state across views of the document.
Another authored view keeps its caret in the hidden body, as on next.
Enter at the end of a Summary with no body inserts an empty body paragraph.
…ions

NodeSelectionDrag took ArrowUp, ArrowDown and Shift for every node
selection before checking whether it could move, so Shift+Arrow no longer
extended table cell selections and ArrowDown on a selected image no longer
entered its caption. The handler now acts only when the selected blocks
share a parent and are block-content candidates; table cells and a single
object without Shift reach their own owners. It steps from the focused
block to the next candidate, stops before a sibling that a content boundary
leaves unmounted, and scrolls the new block into view. The proposed
EDIT-SEL-BLOCK rules describe this behavior, and its tests carry their tags.
Review found that the text-selection scrolling changes skipped the table
select clamp in markup views, stopped scrolling an Editable that scrolls
itself at document boundaries, could leave stale selection paint when an
endpoint has no DOM host, and repeated scrolling on every selection repair
retry. Plite's selection and scrolling code matches next again, and the
work moves to its own follow-up with those findings.
The Details, block menu, drag handle and equation components and the Details docs changed, so the generated registry and docs payloads follow them.
The PR plan now states the final Details open-state behavior and notes that keyboard text-selection scrolling moved out of this PR.
# Conflicts:
#	apps/www/src/__registry__/generation.json
#	apps/www/src/__registry__/index.tsx
#	apps/www/src/__registry__/overlays/manifest.json
#	apps/www/src/__registry__/registry-metadata.json
#	apps/www/src/registry/changelog/components.json
#	apps/www/src/registry/changelog/index.json
#	packages/platejs/turbo.json
fix(editor): preserve Details editing and selection navigation (#5156)
# Conflicts:
#	apps/www/public/r/block-list-static.json
#	apps/www/public/r/docx-docs.json
#	apps/www/public/r/registry-docs.json
#	apps/www/public/r/registry.json
#	apps/www/src/__registry__/generation.json
#	apps/www/src/__registry__/index.tsx
#	apps/www/src/__registry__/overlays/manifest.json
#	apps/www/src/__registry__/registry-metadata.json
#	apps/www/src/registry/changelog/components.json
#	apps/www/src/registry/changelog/index.json
#	apps/www/src/registry/components/editor/block-list-static.tsx
#	docs/plans/topics/documents.md
#	packages/platejs/src/docx/export/lib/exportDocx.tsx
#	packages/platejs/src/docx/export/lib/internal/docx-document.ts
#	packages/platejs/src/docx/export/lib/internal/render-document-file.ts
#	packages/platejs/src/docx/export/lib/internal/xml-builder.ts
#	packages/platejs/src/docx/import/lib/importDocx.ts
fix(export): draw exports with the static kit and write Word math

This branch was successfully deployed

1 active deployment
Preview — 5fc246c2 Deployed Oct 11, 2026 by vercel[bot]
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.

4 participants