Skip to content

Version bump main: 9.52.0 -> 9.53.0#3359

Merged
vinguyen12 merged 21 commits into
releasefrom
u/nguyenvi/bump-9.53.0
May 29, 2026
Merged

Version bump main: 9.52.0 -> 9.53.0#3359
vinguyen12 merged 21 commits into
releasefrom
u/nguyenvi/bump-9.53.0

Conversation

@vinguyen12
Copy link
Copy Markdown
Contributor

No description provided.

BryanValverdeU and others added 21 commits May 8, 2026 11:10
* Fix tests that were not being run due to missing browser context and incorrect test structure

Some tests were silently skipped because the karma config did not pass the browser
name to the client context, causing `itChromeOnly`/`itFirefoxOnly` guards to never
match. Additional test files were restructured so their specs are actually registered
and executed by the test runner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix test

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…3336)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jiuqing Song <jisong@microsoft.com>
* Revert "Revert "Fix tests that were not being run due to missing browser cont…"

This reverts commit 9aa472c.

* Try fix coverage

* revert coverage action
…with new ones doesnt show up in sent items and at the recipient end intermittently (#3337)

* Fix 428673: Filter selection marker format to known segment format keys

When pasting an image, the new image inherits any existing segment format from
the selection marker. An extra inherited format (originalsrc) caused saved HTML
to read image content id from the wrong source, producing a broken image.

Filter the format passed to createSelectionMarker so that only properties that
are part of ContentModelSegmentFormat (as enumerated by EmptySegmentFormat) are
retained. This prevents stray properties from propagating through the selection
marker into newly inserted images.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Update tests to use real ContentModelSegmentFormat keys

These tests previously seeded selection-marker pending/segment formats with
placeholder keys (a, b, c, d, e). With the new filter in createSelectionMarker
those keys are stripped from the marker format, so the assertions no longer
match. Replace them with real format keys (fontFamily, fontSize, fontWeight,
letterSpacing, lineHeight) so the tests still exercise the same precedence and
override behavior.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…o text nodes (#3342)

When DomIndexerImpl.reconcileSelection handles a non-collapsed range whose
start and end are in different text nodes, it calls reconcileNodeSelection
twice. The second call's adjacent-marker cleanup loop could absorb the
SelectionMarker freshly inserted by the first call (e.g. when startOffset
equals the start text node's length, so marker1 lands directly next to the
end text node's segment). The dangling marker reference then caused
setSelection to orphan both markers, leaving the selected segment without
isSelected.

Pass the first call's marker into the second call as preserveMarker; the
cleanup loops now skip that specific reference while still absorbing any
other adjacent stale markers.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Fix #3100 Hoist whitespace outside markdown emphasis markers

The markdown emitter wrapped segment text with **/*/~~ verbatim, so a
text segment ending or starting with whitespace produced invalid
markdown (e.g. "**world **how" instead of "**world** how"). Move
leading/trailing whitespace outside the emphasis markers before
wrapping, and skip wrapping for whitespace-only segments.

An existing test in createMarkdownBlockgroupTest was asserting the
buggy "*text *[link](...)" output; updated to the correct
"*text* [link](...)".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix build

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Skip justify-self: flex-end on RTL table inside RTL container

An RTL <table> currently always renders with `justify-self: flex-end` to
push it to the right edge of an LTR parent. When the parent context is
already RTL (e.g. an RTL table cell, an RTL <div>/<blockquote>, or an
RTL list item) the table is already aligned correctly by RTL flow, so
the extra `justify-self` causes visual misalignment.

Propagate the current block's direction into context.implicitFormat from
handleTable (cell children), handleFormatContainer, and handleListItem.
The direction format handler now skips `justify-self: flex-end` when
context.implicitFormat.direction is `rtl`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix build

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Add per-PR preview deployment workflow

Deploys the demo for each pull request to gh-pages/pr-preview/pr-N/
via rossjrw/pr-preview-action. The action comments the preview URL
on the PR, redeploys on push, and removes the directory on close.

Adds CLEAN_EXCLUDE to the existing master deploy so that master
deploys do not wipe out per-PR preview directories on gh-pages.

Fork PRs are skipped because GITHUB_TOKEN is read-only in that
context and cannot push to gh-pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Pin rossjrw/pr-preview-action to commit SHA

Address Copilot review feedback: the action runs with contents: write
and pull-requests: write, so pin to the v1.8.1 commit SHA instead of
the moving v1 tag to prevent upstream tag re-pointing from silently
altering what executes with that access.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.4 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](raszi/node-tmp@v0.2.4...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Filter out invisible unicode characters

* Gate invisible unicode stripping behind FilterInvisibleUnicode experimental feature

Move the invisible unicode character stripping logic from createText (always-on)
to addTextSegment, gated by the new 'FilterInvisibleUnicode' experimental feature.
This ensures the behavior only activates when explicitly enabled via EditorOptions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add dedicated unit tests for stripInvisibleUnicode

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Mark stripInvisibleUnicode as @internal to fix build

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix borderFormatHandler to strip 'initial' color value

When the border color is 'initial', browsers ignore the change when
setting it on the inline style of an element. Check the last part of
the border value and remove it if it is 'initial' before storing the
format. Uses the last element to handle cases where the border value
may not have all three parts (width, style, color).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* remove comment

* Fix border format test expectations to match actual rgb output

Update tests to expect rgb values without spaces after commas in
border properties, matching the output of extractBorderValues which
strips spaces for splitting. Also fix border style 'none' test regex
to allow flexible whitespace.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix import path in borderFormatHandler after normalize

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test

* fix

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Shadow dom support

* try polifill

* test

* ask

* testing

* testing

* test

* test

* asd

* revert

* change to experimental feature

* Fix test

* Comments

* Remove typecast

* declareGlobal

* Remove typecast
Pass `unsanitized: ['text/html']` to `navigator.clipboard.read()` in the
demo Paste button and PastePane so the read HTML is not sanitized by the
browser. A local `ClipboardWithUnsanitized` interface is added since the
option is not yet in the standard TypeScript Clipboard typings.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…#3356)

* Make copy text content respect modified clonedRoot from beforeCutCopy

Build the plain text clipboard payload from the (possibly modified)
clonedRoot DOM tree returned by the beforeCutCopy event instead of the
original pre-event content model, so handler changes are reflected in
both the HTML and text content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Update CopyPastePlugin tests for image selection text content

Now that copy text content is derived from the modified clonedRoot, an
image-only selection renders to a single space (matching the onImage
callback / real non-mocked behavior) instead of an empty string.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 29, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-05-29 22:38 UTC

@vinguyen12 vinguyen12 merged commit 6d49698 into release May 29, 2026
8 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.

4 participants