mirror of
https://github.com/discourse/discourse.git
synced 2025-02-12 22:34:57 +00:00
This commit removes many uses of `this._$textarea`, and also switches us to use `document.execCommand("insertText")` for the majority of manipulations. This means that the browser undo history will be preserved when doing things like pasting rich html, using bold/italic shortcuts, etc. These manipulations are already extensively tested. This commit extends a few of the tests to verify the undo behavior. There are still a few cases (e.g. replacing upload placeholders with true URLs) where we don't necessarily want to bring the composer into focus. In those cases, the old history-breaking behavior remains for now.