Skip to content

[bug]: Code block syntax highlighting breaks completely upon pasting code (only works when manually typed) #9638

Description

@jensgruenewald-commits

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

The rich-text editor actually contains functional syntax highlighting token rules for PowerShell (as verified when writing single commands line-by-line). However, the editor completely fails to parse and tokenize text content when it is introduced via a Copy-Paste action.

  • When a script is pasted into an existing ````powershell` block, the text remains entirely plain white text.
  • When the exact same syntax components (variables, string literals, arguments) are typed in manually, the editor instantly maps the CSS highlighting rules correctly.
Image

This indicates a severe bug in the editor's Paste-Handler extension, which suppresses tokenization/re-rendering of the code block nodes upon clipboard input injection.

Steps to reproduce

  1. Create a PowerShell code block inside an issue description or page using ```powershell
  2. Scenario A (Manual Input): Type a basic snippet by hand (e.g., $ApiKey = $env:OPENAI_API_KEY).
    -> Result: Variables and values get highlighted instantly.
  3. Scenario B (Paste Input): Copy a multi-line script from an external editor (VS Code, Notepad, etc.) and press Ctrl+V to paste it into the same block.
    -> Result: The pasted content drops all syntax formatting and renders completely plain/white.

Expected Behavior

Injecting clipboard data into a language-specific Fenced Code Block node must trigger the underlying lowlight/Prism lexer to parse the block immediately, ensuring that pasted documentation remains fully highlighted and readable.

Environment

  • Component: packages/editor or apps/web (Tiptap Paste Handler/Lowlight Node extension)
  • Impacted Scope: Multi-line technical documentation snippets.

Environment

Production

Browser

Mozilla Firefox

Variant

Self-hosted

Version

v1.4.1

Metadata

Metadata

Assignees

Labels

planesync issues to Plane🐛bugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions