Skip to content

Editor Stage 3: WYSIWYG#2780

Draft
Soxasora wants to merge 2 commits intostackernews:masterfrom
Soxasora:editor_stage_three
Draft

Editor Stage 3: WYSIWYG#2780
Soxasora wants to merge 2 commits intostackernews:masterfrom
Soxasora:editor_stage_three

Conversation

@Soxasora
Copy link
Member

@Soxasora Soxasora commented Feb 6, 2026

Description

Implements a conditional WYSIWYG mode that aims at providing lossless transformations between Markdown and WYSIWYG through our MDAST pipeline.

Introduces the support for NodeSelection which can be seen as collapsed selections relative to the nearest node or literal selected blocks (like MediaNode), and a reactive (only WYSIWYG) toolbar that shows what block or format you're currently on.

Screenshots

image

Additional Context

Linebreaks are available in WYSIWYG mode and this can break Android's experience. Perhaps we should replace linebreaks with a character that some Android IMEs don’t recognize, thereby circumventing the limitations of their buggy implementations.


Going forward, we'll need to provide a markdown equivalent for special Lexical stuff like text alignment. To speed up development, that should be postponed to Stage 4.

Plugins Parity

Some plugins or extensions are made for Markdown mode and should also support WYSIWYG:

  • FileUploadPlugin
  • MentionsPlugin
  • AppendValuePlugin
    • It works already for WYSIWYG for simple text, but quote replies can't yet carry full Lexical copy/paste.

Checklist

Are your changes backward compatible? Please answer below:

For example, a change is not backward compatible if you removed a GraphQL field or dropped a database column.

tbd
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:

3, iterative QA

For frontend changes: Tested on mobile, light and dark mode? Please answer below:

tbd

Did you introduce any new environment variables? If so, call them out explicitly here:
n/a

Did you use AI for this? If so, how much did it assist you?

tbd

… active format/block recognition, formik and local draft mdast transformations; node selections
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.

1 participant