# Composer Button Bonanza

**URL:** https://meta.discourse.org/t/composer-button-bonanza/352525
**Category:** Theme component
**Tags:** composer
**Created:** [February 16, 2025, 5:07am UTC](https://meta.discourse.org/t/composer-button-bonanza/352525 "2025-02-16T05:07:12Z")
**Posts on this page:** 1
**Showing post:** 31

<div class="post-metadata">

### Author: ![mdoggydog](https://avatars.discourse-cdn.com/v4/letter/m/82dd89/32.png) [@mdoggydog](https://meta.discourse.org/u/mdoggydog)
#### Post date: [March 21, 2026, 9:05am UTC](https://meta.discourse.org/t/composer-button-bonanza/352525/31 "2026-03-21T09:05:47Z")

</div>

I just released version 2.0.0 of Composer Button Bonanza. The only change is to fix the deprecated use of `site.desktopView`. See [the source commit](https://codeberg.org/centertap/DiscourseComposerButtonBonanza/commit/e916b5eb952886cce3fa6d7885afaccb2df89fb9) for details.

> [@tobiaseigen](#):
>
> I added a warning to the first post that it’s not compatible with the richtext editor.

I updated that warning. Having investigated the issues now, I think it’s actually the other way around: the richtext editor is not compatible with this theme component, because its `ProsemirrorTextManipulation` implementation of the `TextManipulation` interface is incomplete and/or incorrect.

In particular:

- The `ProsemirrorTextManipulation.applyList()` implementation doesn’t quite use the `head` parameter supplied by the caller. Instead, it looks at the key for _the example text_ supplied by the caller to guess at what the caller is trying to do, and it is hard-coded to only understand the built-in buttons for bullet lists, ordered lists, and blockquotes.
- The `ProsemirrorTextManipulation.applySurround()` implementation does not match the behavior of the original `TextareaTextManipulation.applySurround()` implementation, and is responsible for indiscriminately using `<div>` even when it should be using `<span>`. The Prosemirror implementation also ignores the `opts` argument to `applySurround()`. (And, using the same trick as `applyList()`, it hard-codes example-text keys to detect the buttons for italics, bold, and preformatted text.)

@renato, are these issues on anyone’s radar? Is there a timeline for fixing them?

---

_[View the full topic](https://meta.discourse.org/t/composer-button-bonanza/352525)._
