Skip to content

Conversation

@mattConnHarbour
Copy link
Contributor

No description provided.

luccas-harbour and others added 5 commits January 22, 2026 13:48
…587) (#1806)

* fix: remove dead code

* refactor: table and paragraph converters to avoid redirection

* test: adjust existing tests

* fix: remove unused imports and dead code

* fix: pass theme colors to node handlers

* refactor: simplify type definitions for converters

---------

Co-authored-by: Luccas Correa <luccas@superdoc.dev>
@linear
Copy link

linear bot commented Jan 28, 2026

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: 213ec6def1

ℹ️ 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".

Comment on lines +2298 to +2302
// Apply decoration classes and attributes to painted elements
for (const entry of paintedEntries) {
for (const cls of decorationClasses) {
entry.el.classList.add(cls);
}

Choose a reason for hiding this comment

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

P2 Badge Remove stale decoration attributes on repaint

This sync only ever adds classes/data-* attributes to painted entries and never removes ones that were previously applied. Because the DOM painter reuses fragment elements across incremental paints (e.g., patchLayout updates existing elements without clearing classes), a decoration that is later removed or moved in the hidden ProseMirror view will leave stale highlight classes/data attributes in the visible editor. This shows up whenever a plugin toggles a decoration off or shifts it to a different range. Consider clearing previously synced decoration classes/attrs (or tracking the set per paint and removing those no longer present) before reapplying.

Useful? React with 👍 / 👎.

@mattConnHarbour
Copy link
Contributor Author

Hi @harbournick @artem-harbour @afn, when you have a chance I'd appreciate your eyes on this! This allows ProseMirror plugin decorations (like highlights) to appear in the presentationEditor by syncing decoration attributes from the hidden host to the painter host.

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.

3 participants