Conversation
…format - Fixed issue where Image URL and Alternative Text displayed "undefined" when editing an image wrapped by a link (`<a>` tag) - Fixed `insertBefore` error when editing inline images with links - Fixed link loss when editing inline images - Fixed link loss when changing Block Style from block to inline for images with links
Fixed multiple issues when editing images with links in inline/block …
…tributes fix: annotate generated form fields
🤖 Augment PR SummarySummary: This PR bumps SunEditor to 3.1.3 and updates UI layering to support the Popover API, improving compatibility with browser top-layer contexts (e.g., Angular CDK Overlay). Changes:
Technical Notes: Includes unit test updates for generated-field annotations and Figure behavior; release-note content is updated for 3.1.3 and introduces a breaking-change note for Firefox support. 🤖 Was this summary useful? React with 👍 or 👎 |
| /** @type {HTMLElement} */ ((rootKey ? this.#frameRoots.get(rootKey).get('container') : this.#carrierWrapper).querySelector('.se-loading-box')).style.display = 'block'; | ||
| const el = /** @type {HTMLElement} */ ((rootKey ? this.#frameRoots.get(rootKey).get('container') : this.#carrierWrapper).querySelector('.se-loading-box')); | ||
| el.style.display = 'block'; | ||
| el.showPopover?.(); |
There was a problem hiding this comment.
src/core/logic/shell/ui.js:402 showPopover() / hidePopover() can throw InvalidStateError (e.g., if already open/closed) on browsers that support the Popover API, and optional chaining won’t prevent that. This can surface as runtime crashes if these UI toggles are called redundantly (same pattern appears in other newly-added popover calls).
Severity: medium
Other Locations
src/core/logic/shell/ui.js:411src/core/logic/shell/ui.js:431src/core/logic/shell/ui.js:441src/core/logic/shell/ui.js:462src/core/logic/shell/ui.js:479src/core/logic/panel/menu.js:125src/core/logic/panel/menu.js:166src/modules/contract/Browser.js:201src/modules/contract/Browser.js:222src/modules/contract/Controller.js:398src/modules/contract/Controller.js:469src/modules/contract/Modal.js:165src/modules/contract/Modal.js:201
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| "node": ">=14.0.0" | ||
| }, | ||
| "overrides": { | ||
| "uuid": ">=14.0.0" |
There was a problem hiding this comment.
package.json:53 Overriding uuid to >=14.0.0 likely pulls in uuid v14, which upstream notes as requiring Node 20+ (e.g., relies on global crypto), but this repo’s engines.node still allows Node >=14. This mismatch can break installs/tests on older Node versions even if SunEditor itself still supports them.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| @@ -0,0 +1 @@ | |||
|
|
|||
There was a problem hiding this comment.
changes.md is currently empty even though this PR introduces user-facing enhancements/bugfixes and a breaking browser-support change. (Rule: GUIDE.md) says to always update changes.md, so leaving it blank may break the changelog/release-note workflow.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| * a: 'href|target', | ||
| * img: 'src|alt', | ||
| * '*': 'id|data-*' | ||
| * '*': 'id|data-[^\s]+' |
There was a problem hiding this comment.
src/core/schema/options.js:366 In the JSDoc example, data-[^\s]+ looks intended, but the literal shown is data-[^\s]+ written as data-[^\s]+ without escaping, so copy/pasting into JS would typically drop the backslash and change the regex meaning. This same doc example is duplicated in the generated typings and could propagate incorrect configuration examples.
Severity: low
Other Locations
types/core/schema/options.d.ts:312types/core/schema/options.d.ts:1058
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
No description provided.