- Every platform (windows/macos/ios/android/linux, firefox/safari/chrome. There are all sorts of platform specific details - like windows using \r\n instead of \n. Your rich text editing component needs to feel native everywhere - even though that means something different on every platform.
- Undo / redo support
- Support for international inputs - to support Korean, Japanese and Chinese characters.
- Detailed canonicalized editing events for integration with collaborative editing libraries
Years ago I played around with the rich text editing components in Cocoa (MacOS) and coming from the web, its an utter delight. That code is all there on your machine - its just not exposed through the web browser. So we're stuck with janky half working "rich text" editors in reddit, slack and everywhere else online.
Decades of halfbaked attempts has shown that custom javascript isn't good enough to solve this.
Its is a web standards problem. Rich text editing should be built in to the web browser.