Skip to content

Comments

bug: superdoc webpage misrendered text (SD-1819)#1988

Merged
caio-pizzol merged 5 commits intomainfrom
luccas/sd-1819-superdoc-webpage-misrendered-text
Feb 11, 2026
Merged

bug: superdoc webpage misrendered text (SD-1819)#1988
caio-pizzol merged 5 commits intomainfrom
luccas/sd-1819-superdoc-webpage-misrendered-text

Conversation

@luccas-harbour
Copy link
Contributor

  • There was an issue that happened during export if a linked style contained an ampersand. The issue was that if that character was represented as &, the ampersand would be double-escaped, turning into &
  • The sdpr.docx test document had been exported from SD and because of that had the incorrect & entity. This had to be fixed manually.

@linear
Copy link

linear bot commented Feb 10, 2026

@luccas-harbour luccas-harbour marked this pull request as ready for review February 10, 2026 18:00
Copy link

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

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: f9deb7955a

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Copy link
Contributor

@caio-pizzol caio-pizzol left a comment

Choose a reason for hiding this comment

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

Looks good! Just 2 comments

@caio-pizzol caio-pizzol enabled auto-merge (squash) February 11, 2026 13:50
Copy link
Contributor

@caio-pizzol caio-pizzol left a comment

Choose a reason for hiding this comment

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

LGTM!

@luccas-harbour luccas-harbour force-pushed the luccas/sd-1819-superdoc-webpage-misrendered-text branch from 6135a23 to e70be3b Compare February 11, 2026 13:54
@VladaHarbour
Copy link
Contributor

lgtm

@caio-pizzol caio-pizzol merged commit aecc70d into main Feb 11, 2026
2 checks passed
@caio-pizzol caio-pizzol deleted the luccas/sd-1819-superdoc-webpage-misrendered-text branch February 11, 2026 14:03
@superdoc-bot
Copy link
Contributor

superdoc-bot bot commented Feb 11, 2026

🎉 This PR is included in superdoc v1.12.0-next.12

The release is available on GitHub release

@harbournick
Copy link
Collaborator

🎉 This PR is included in superdoc v1.12.0

The release is available on GitHub release

caio-pizzol added a commit that referenced this pull request Feb 18, 2026
…d delInstrText

Two sources of Word "unreadable content" error on exported files:

1. Revert #replaceSpecialCharacters regex to simple .replace(/&/g, '&').
   The negative lookahead from PR #1988 incorrectly treated decoded entity-like
   text (e.g. literal ") as already-encoded, collapsing distinct style names
   into duplicates in styles.xml.

2. Normalize w:delInstrText → w:instrText in the exporter. During round-trip,
   w:del wrappers around field char runs lose their trackDelete marks (only text
   content gets marked), leaving w:delInstrText orphaned outside w:del — which
   violates ECMA-376 §17.16.13.

SD-1943
harbournick pushed a commit that referenced this pull request Feb 18, 2026
…d delInstrText (SD-1943) (#2102)

* fix(export): prevent DOCX corruption from entity encoding and orphaned delInstrText

Two sources of Word "unreadable content" error on exported files:

1. Revert #replaceSpecialCharacters regex to simple .replace(/&/g, '&').
   The negative lookahead from PR #1988 incorrectly treated decoded entity-like
   text (e.g. literal ") as already-encoded, collapsing distinct style names
   into duplicates in styles.xml.

2. Normalize w:delInstrText → w:instrText in the exporter. During round-trip,
   w:del wrappers around field char runs lose their trackDelete marks (only text
   content gets marked), leaving w:delInstrText orphaned outside w:del — which
   violates ECMA-376 §17.16.13.

SD-1943

* fix(export): remove double entity encoding of .rels relationship targets
harbournick pushed a commit that referenced this pull request Feb 20, 2026
# [1.15.0](v1.14.0...v1.15.0) (2026-02-20)

### Bug Fixes

* **ai-actions:** preserve html/markdown insertion and prevent repeated formatted replacement ([#2117](#2117)) ([9f685e9](9f685e9))
* **ai:** support headless mode in EditorAdapter.applyPatch ([#1859](#1859)) ([cf9275d](cf9275d))
* **collaboration:** memory leaks, Vue stack overflow, and Liveblocks stability (SD-1924) ([#2030](#2030)) ([a6827fd](a6827fd)), closes [#prepareDocumentForExport](https://github.com/superdoc-dev/superdoc/issues/prepareDocumentForExport)
* **collab:** prevent stale view when remote Y.js changes bypass sdBlockRev increment ([#2099](#2099)) ([0895a93](0895a93))
* **converter:** handle null list lvlText and always clear numbering cache ([#2113](#2113)) ([336958c](336958c))
* **document-api:** remove search match cap and validate moveComment bounds ([6d3de67](6d3de67))
* export docx blobs with docx mime type ([#1849](#1849)) ([1bc466d](1bc466d))
* **export:** prevent DOCX corruption from entity encoding and orphaned delInstrText (SD-1943) ([#2102](#2102)) ([56e917f](56e917f)), closes [#replaceSpecialCharacters](https://github.com/superdoc-dev/superdoc/issues/replaceSpecialCharacters) [#1988](#1988)
* **layout-bridge:** correct cell selection for tables with rowspan ([#1839](#1839)) ([0b782be](0b782be))
* **layout,converter:** text box rendering and page-relative anchor positioning (SD-1331, SD-1838) ([#2034](#2034)) ([3947f39](3947f39))
* **layout:** route list text-start calculations through resolveListTextStartPx ([02b14b8](02b14b8))
* **painter-dom:** use absolute page Y for page-relative anchors in header/footer decorations ([0b9bc72](0b9bc72))
* preserve selection highlight when opening toolbar dropdowns ([#2097](#2097)) ([a33568e](a33568e))
* structured content renders correct on hover and select ([#1843](#1843)) ([dab3f04](dab3f04))
* **super-editor:** add unsupported-content reporting across HTML/Markdown import paths ([#2115](#2115)) ([84880b7](84880b7))
* **super-editor:** handle partial comment file-sets and clean up stale parts on export ([#2123](#2123)) ([f63ae0a](f63ae0a))
* **super-editor:** restore <hr> contentBlock parsing and harden VML HR export fallback ([#2118](#2118)) ([da51b1f](da51b1f))
* table headers are incorrectly imported from html ([#2112](#2112)) ([e8d1480](e8d1480))
* table resizing regression ([#2091](#2091)) ([20ed24e](20ed24e))
* table resizing regression ([#2091](#2091)) ([9a07f1c](9a07f1c))
* **tables:** align tableHeader attrs with tableCell to fix oversized DOCX export widths ([#2114](#2114)) ([38f0430](38f0430))
* **tables:** fix autofit column scaling, cell width overflow, and page break splitting ([#1987](#1987)) ([61a3f6f](61a3f6f))
* **tables:** prevent tblInd double-shrink when using tblGrid widths (SD-1494) ([8750ece](8750ece))
* track changes comment text for formatting changes ([#2013](#2013)) ([b2a43ff](b2a43ff))
* wire DocumentApi to Editor.doc with lifecycle-safe caching ([57326ea](57326ea))

### Features

* cropped images ([#1940](#1940)) ([3767a49](3767a49))
* extend document-api with format, examples, create.heading ([#2092](#2092)) ([fdf8c7c](fdf8c7c))
* **lists:** support hidden list indicators via w:vanish ([#2069](#2069)) ([#2080](#2080)) ([0bed0fd](0bed0fd))
* the document API limited alpha ([#2087](#2087)) ([091c24c](091c24c))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants