# Test our new composer!

**URL:** https://meta.discourse.org/t/test-our-new-composer/352347
**Category:** Announcements
**Tags:** composer
**Created:** [March 12, 2025, 11:48am UTC](https://meta.discourse.org/t/test-our-new-composer/352347 "2025-03-12T11:48:22Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [March 12, 2025, 11:48am UTC](https://meta.discourse.org/t/test-our-new-composer/352347/1 "2025-03-12T11:48:22Z")

</div>

We have been working on a new rich text editor mode for our composer so that it’s easier to write on Discourse. We’re now ready to start testing it out to get more feedback from our community on this feature!

Our implementation builds upon the excellent [ProseMirror](https://prosemirror.net/) and its non-core [Markdown module](https://github.com/ProseMirror/prosemirror-markdown), using the module’s schema, parsing, and serialization definitions as the base for further Discourse-specific features.

This topic will serve as both a guide to testing the new composer and a hub for tracking feedback. Thanks in advance for all your help! 💖

## ⚙ Using the new composer in your community

**We still consider the composer experimental** , but you may start using it in your community by enabling the `rich editor` setting:

 ![CleanShot 2025-04-25 at 15.33.26](https://global.discourse-cdn.com/meta/original/4X/2/0/4/204475261240b9e1f3a21fc35d9c79b8d2e410bc.png)

## ✍ Getting to know the new composer

The new composer is a rich text editor that simplifies the writing experience, particularly for non-technical users who are not comfortable with Markdown. This editor still supports Markdown, but formatting is rendered immediately for a WYSIWYG (“what you see is what you get”) experience that feels similar to other modern web composition tools (like Notion or Google Docs).

To access the new composer, click the toggle in the toolbar. This will let you switch from the current Markdown-only mode to the new rich text editor. You can click the toggle again to switch back, if needed.

![toggle](https://global.discourse-cdn.com/meta/original/4X/a/c/2/ac26383ad9e87b8e3808d09d0c0d0af52834bec5.png)

**What you’re testing today is the first version of the new composer. It is not yet intended to be a complete replacement for the current Markdown-only composer.** We have focused on the basics first, which should cover most users’ needs.

Please review the sections below to understand what is currently possible and what’s not yet ready in the new composer. We will update these areas over time as support expands!

### 🟢 Supported features

The following features are supported in the new composer:

- Ability to add title and set categories and tags
- Single-pane editor when in rich text editor mode (i.e. no preview pane)
- Toggle to switch between Markdown-only and rich text editor modes
- Basic formatting \[1\] supported in Markdown, keyboard shortcuts, and toolbar icons
- Emoji support
- Auto-converting Markdown to rich text when pasting plain text (e.g., ` **bold** ` → **bold** )
- Auto-convert emoticons (e.g., `:)` → 🙂 )
- Image UI to resize, caption, or grid added images
- Link UI to visit, edit, copy, or remove added links and change their titles
- Table builder UI
- Poll builder UI
- Footnotes
- Support for mentions and hashtags
- Inline HTML `<tags>` \[2\]
- Typographer replacements (e.g., ™ , → , ± )
- Image uploads
- File attachments
- Topic and chat quotes
- Hide Details
- Blur Spoiler (with limitations, see Missing Features section)
- Oneboxes
- Horizontal rule autoconversion (i.e. typing `---` converts to horizontal rule)

### 🔴 Missing features

The following features that we know are currently missing or not yet fully supported in the new composer:

- Table UI to add or remove columns and rows after creating the table
- Poll UI to edit previously created polls
- Toolbar support to add headings
- Improved Blur Spoiler support to add blur to existing text, support inline blur, and make it easier to remove blur.
- Anything else not explicitly noted in the supported features section (e.g., Mermaid diagram support)

## 📣 Testing and sharing your feedback

As you test, you may run into issues where the composer does not behave as you expect. When that happens, **please let us know!** Your feedback is an invaluable asset to help us improve the new composer so that it’s ready to make available in your community.

**Please provide specific reproduction steps, information about your browser / device, and any relevant screenshots or recordings!** You can also review our known issue tracker below to see if someone has already reported what you’re seeing. We will keep these sections up to date as we identify and fix issues.

_Remember, you can always switch back to Markdown-only mode using the toggle if you’re running into an issue using the new composer._

### 🐛 Bugs

- On Firefox, it looks like you can’t position cursor ahead of mention when it starts the post (it is actually possible but visually unclear)

### 🎨 UX issues

- Prevent certain partial formatting on links to avoid unexpected styling
- Apply expected visual rendering / validation to category, tag, and chat channel hashtags
- Apply expected visual rendering / validation to user and group mentions
- Cursor is focused inside the quote (instead of the line below) when beginning a post with a quote or when copying / pasting quotes

### 🔧 Dev improvements

- Improve inline HTML parsing (e.g. for `<a>`)

* * *

1. Bold, italic, underline (no toolbar support), strikethrough (Markdown-only via ~~ ), links, blockquotes, code, checkbox (Markdown-only via ; toolbar support coming soon), bullet lists, number lists 

2. Some convert to closest Markdown (e.g., s, strike, strong, b, em, i, code; u is specifically unsupported because it does not cook to an actual underline); others will be allowed as “html\_inline” nodes (e.g., kbd, sup, sub, small, big, del, ins, mark)

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [March 12, 2025, 11:50am UTC](https://meta.discourse.org/t/test-our-new-composer/352347/2 "2025-03-12T11:50:20Z")

</div>



---

<div class="post-metadata">

### Author: ![Shauny](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/shauny/32/362012_2.png) [@Shauny](https://meta.discourse.org/u/Shauny)
#### Post date: [March 12, 2025, 11:56am UTC](https://meta.discourse.org/t/test-our-new-composer/352347/3 "2025-03-12T11:56:59Z")

</div>

Looking good!

There are some issues with spoiler tags:

1. If you highlight some text and choose “Blur Spoiler”, it replaces the text with “This text will be blurred”, losing what you highlighted

2. Inline spoilers aren’t working, it puts them on a new line

3. No way to toggle a spoiler off again

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [March 12, 2025, 12:05pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/4 "2025-03-12T12:05:35Z")

</div>

Thanks Shaun, noted that in the OP that we have more work to do on spoilers.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [March 12, 2025, 12:20pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/5 "2025-03-12T12:20:28Z")

</div>

I was waiting for this feature and it’s awesome Discourse finally made this step 👏

Only 1 thing for now: it looks bizarre to have such a narrow textarea to write our post.

 ![This image shows a GitHub repository page with a chart showing the rate of documentation spams by file type over time. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/5/0/f/50fe90a879603410065380cfac9d50cebf23d2f2.png)

Obviously I was very much used to the side-to-side view of the composer and preview, but this now looks… Weird. Maybe I just need time tho. Yeah, probably. 😄

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [March 12, 2025, 12:33pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/6 "2025-03-12T12:33:01Z")

</div>

_Fantastic_ **progress!** ❤

The _second_ thing I noticed is that the current style doesn’t visually **toggle** on (and off) in the **tool bar** even though it remains in effect. It would be _ **really** _ nice if the current style was **highlighted** until toggled _ **off.** _

That is all for **now**!

(Basing my feedback from grey amber theme)

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [March 12, 2025, 12:37pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/7 "2025-03-12T12:37:23Z")

</div>

> [@Canapin](#):
>
> Only 1 thing for now: it looks bizarre to have such a narrow textarea to write our post.

> [@merefield](#):
>
> The _second_ thing I noticed is that the current style doesn’t visually **toggle** on (and off) in the **tool bar** even though it remains in effect.

These are good call outs — right now, we’ve been focused primarily on the editor itself (where you actually type), but we do have planned improvements to the composer container and toolbar which should address these issues.

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [March 12, 2025, 12:44pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/8 "2025-03-12T12:44:53Z")

</div>

A bit of a strange defect but when the composer is open this happens to the reply indicator.

 ![IMG_5839](https://global.discourse-cdn.com/meta/original/4X/5/4/6/5461fe67a4fb44c112a73cbd495ba2e60f48a5bf.jpeg)

Illl fully test when I’m on desktop later but it looks promising.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [March 12, 2025, 12:56pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/9 "2025-03-12T12:56:59Z")

</div>

Finally here! 😍 That’s a lot of work unfolded; fantastic job! That will be a significant pro for users who are uncomfortable with Markdown.

_Edgy_ upload issue:

If you’re uploading an image and switch to markdown, the upload markdown is not here and throws an error:  
 ![image](https://global.discourse-cdn.com/meta/original/4X/b/f/1/bf1207e2a8880f11a4d17b3eb9f99f90ab5f474b.png)

Reversely, uploading from markdown, then switching to the new editor doesn’t error, but the image doesn’t appear.

---

<div class="post-metadata">

### Author: ![renato](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renato/32/383632_2.png) [@renato](https://meta.discourse.org/u/renato)
#### Post date: [March 12, 2025, 12:59pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/10 "2025-03-12T12:59:25Z")

</div>

> [@Arkshine](#):
>
> If you’re uploading an image

I wonder if we should just block switching until the upload is done… we can potentially convert placeholders between editors, but it doesn’t seem _that_ useful.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [March 12, 2025, 1:03pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/11 "2025-03-12T13:03:38Z")

</div>

Yes, my thoughts are the same. Blocking sounds like a good idea!  
When uploading a big image with a slow connection, I could not help but test the switch until it’s done. 😄

---

<div class="post-metadata">

### Author: ![ChrisBeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrisbeach/32/214628_2.png) [@ChrisBeach](https://meta.discourse.org/u/ChrisBeach)
#### Post date: [March 12, 2025, 1:44pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/12 "2025-03-12T13:44:47Z")

</div>

New design looks great. I love how Discourse iterates over time, tries new ideas and involves the community.

Some subjective observations, if you’re looking for feedback:

- The alignment button (left/right) is an unconventional icon, and a feature that seems very niche. Since the icons wrap onto two lines on mobile, I would simply remove this feature. Likewise, the “insert date” feature is advanced/niche and could be hidden within the ⚙ menu. That way the remaining icons would all fit on a single line
- The video upload feature was confusing for me, even as a technical user. What would I supply in the “video source” box? Also, the buttons get a bit jumbled visually (see below)
- The “M” button (switching between raw text and preview) doesn’t reveal its purpose until you click it. There’s some spare space on the bottom of the composer between the 🗑 and GIF buttons and I think a preview button would make more sense down here. And you’d have room for the word “preview”

 ![The image shows a mobile app interface for adding a video with fields to input video sources, optional poster images, and subtitles. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/3/d/c/3dc8803fc8879714e3d2ecb2bc2f7d7ffeb98680.jpeg)

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [March 12, 2025, 2:06pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/13 "2025-03-12T14:06:59Z")

</div>

> [@ChrisBeach](#):
>
> alignment button (left/right)

> [@ChrisBeach](#):
>
> video upload

These are features we’ve enabled on meta at some point, probably for an experiment. They are not available by default and we could turn them off or stick them behind the ⚙

> [@ChrisBeach](#):
>
> “insert date” feature is advanced/niche and could be hidden within the ⚙ menu.

I agree with this. Not sure why we always include this so prominently in the menu. I use it all the time myself but I also frequently use alot of features behind the ⚙ menu too!

> [@ChrisBeach](#):
>
> “M” button (switching between raw text and preview) doesn’t reveal its purpose until you click it.

Agree that at least mouseover helper text would help with discoverability here.

Down the road I suspect we’ll want to default to the new composer and make switching to markdown the power move, which power users will then know or be able to discover.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [March 12, 2025, 2:54pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/14 "2025-03-12T14:54:57Z")

</div>

> 📣 These menu items are not really related to the new composer so we don’t need to focus on them here. If folks have more feedback about the menu items, please start new #Contribute > Feature topics or do a search.

That said:

- I removed the “Insert video” button here on meta, which is provided through the [Insert Video](https://meta.discourse.org/t/insert-video/147651) theme component.

- The “Toggle direction” button depends on the `support mixed text direction` site setting which we will keep enabled on meta because we are actively testing multilingual functionality currently.

- On meta we also have GIF and Ask AI which we want to allow prominent access to.

---

<div class="post-metadata">

### Author: ![dsims](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dsims/32/485916_2.png) [@dsims](https://meta.discourse.org/u/dsims)
#### Post date: [March 12, 2025, 3:03pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/15 "2025-03-12T15:03:06Z")

</div>

Congrats team! I did notice a discrepancy around oneboxing. Pasting a url from the browser generates a onebox, but typing it out does not. Until you swap back to see the markdown preview which triggers it to generate.

test: Pasting from browser bar here: [https://google.com/](https://google.com/) Typing here: [https://google.com](https://google.com)

---

<div class="post-metadata">

### Author: ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)
#### Post date: [March 12, 2025, 4:53pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/16 "2025-03-12T16:53:31Z")

</div>

Pressing Return in the new WYSIWYG composer creates a double-line break (a paragraph break). I don’t like it (though I guess this is subjective), but I especially don’t like it for bulleted/numbered lists, where there’s a ton of space between list items.

- this

- is

- too

- much

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [March 12, 2025, 4:59pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/17 "2025-03-12T16:59:30Z")

</div>

You can do shift + enter to avoid the double-line break, though it doesn’t work for lists.  
I agree this behavior change should not be the default.

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [March 12, 2025, 5:04pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/18 "2025-03-12T17:04:23Z")

</div>

Great work, this is a step in the right direction! However, I still have some basic UX issues which I wish were solved, but I’ll get into that later.

The good:  
I love the new single-editor mode, it’s really cool and inline images in the composer work great.  
Even though this is a preview it still works as I would expect, I haven’t noticed anything missing personally (besides `---` which i use a lot)

The bad:  
Buttons being all over the place here is confusing, there should be one place for all of them. Replace the double down arrow icon with an X. Also, instead of \<\< possibly it could just be Y axis draggable so we can control its size isnstsd if just one or closed?

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/4/0/2403b1977d0416a6c4b0942ba7dcd4c689e4f55b.png)

I still really dislike the row of icons at the top and the “more” gear menu, it’s cluttered and confusing to use. I remember there being a topic on it to some degree but I cannot find it.

On my work computer (windows firefox) the markdown button is offset.

![image](https://global.discourse-cdn.com/meta/original/4X/8/4/0/840b483ac8d6f9f22fd3218616c52a473c54b035.png)

Still great I just wish these were fixed 👍

---

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [March 12, 2025, 5:13pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/19 "2025-03-12T17:13:30Z")

</div>

> [@dsims](#):
>
> Pasting a url from the browser generates a onebox, but typing it out does not. Until you swap back to see the markdown preview which triggers it to generate.

> [@darkpixlz](#):
>
> I haven’t noticed anything missing personally (besides `---` which i use a lot)

Added to our **🎨 UX issues** secton in OP to fix.

> [@dfabulich](#):
>
> I don’t like it (though I guess this is subjective), but I especially don’t like it for bulleted/numbered lists, where there’s a ton of space between list items.

This is a known missing feature and something we intend to add support for:

> [@lindsey](#):
>
> Tight list support (all lists are currently “loose”, meaning there’s extra padding between list items)

> [@darkpixlz](#):
>
> The bad:  
> Buttons being all over the place here is confusing, there should be one place for all of them. Also, replace the double down arrow icon with an X. Also, instead of \<\< possibly it could just be Y axis draggable so we can control its size isnstsd if just one or closed?

> [@darkpixlz](#):
>
> I still really dislike the row of icons at the top and the “more” gear menu, it’s cluttered and confusing to use. I remember there being a topic on it to some degree but I cannot find it.

We are planning improvements to the composer container and toolbar, but right now the changes are limited to the editor itself. We can keep this in mind for those future changes though.

> [@darkpixlz](#):
>
> On my work computer (windows firefox) the markdown button is offset.
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/8/4/0/840b483ac8d6f9f22fd3218616c52a473c54b035.png)

I can’t tell from this description or screenshot what’s gone wrong here exactly — could you share a few more details so I can take a look?

---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [March 12, 2025, 5:14pm UTC](https://meta.discourse.org/t/test-our-new-composer/352347/20 "2025-03-12T17:14:51Z")

</div>

> [@lindsey](#):
>
> I can’t tell from this description or screenshot what’s gone wrong here exactly — could you share a few more details so I can take a look?

Could just be visual but at least to me it looks like it is too far up by a little bit.

 ![IMG_5846](https://global.discourse-cdn.com/meta/original/4X/8/b/a/8ba5dec0aeb8c6ea5c8df87c7a5ef5480dac88ee.jpeg)

[Next page](https://meta.discourse.org/t/test-our-new-composer/352347.md?page=2)
