Between January and September 2026, I led the upgrade of an editorial application’s rich-text editor from CKEditor 5 v26 to v47.3: about 55 in-house plugins, 53 sub-PRs and 683 files. Here is what we learned, from the bare-editor strategy to the bugs only real typing revealed, the AI tooling that made it repeatable, and the two CKEditor issues it led to.
Dragging a block object into CKEditor 5 from outside the editor shows an inline caret and splits the paragraph. Here is the root cause (a private _blockMode flag), a working workaround, a live StackBlitz demo, and the fix I proposed upstream in issue #20247.
I needed to see the simple spaces in CKEditor 5, and the only thing out there was a 2019 proof of concept. So I packaged ckeditor5-simple-space: a tiny, dependency-free plugin that shows simple spaces with a toggle button — without ever touching your saved data.
One of the best practices in javascript unit testing is to decouple the tests. This is to minimize the dependencies…



