Version bump main: 9.52.0 -> 9.53.0#3359
Merged
Merged
Conversation
* 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>
|
JiuqingSong
approved these changes
May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.