Index: src/views/pages/post-edit.ejs
===================================================================
--- src/views/pages/post-edit.ejs	(revision f8e8f9eeb25436aaac24d6f2d13a506336339356)
+++ src/views/pages/post-edit.ejs	(revision 2d596cf40af3237279b9abfe6cfc0c0cfa221621)
@@ -1098,6 +1098,10 @@
     fn();
     restore();
-    requestAnimationFrame(restore);
-    requestAnimationFrame(function () { requestAnimationFrame(restore); });
+    // Mobiel Chrome scrollt de caret ASYNCHROON in beeld (ná meerdere frames), ook
+    // bij een lege caret. Vang élke scroll de eerstvolgende ~350 ms af en zet 'm
+    // terug; daarna mag de gebruiker weer vrij scrollen.
+    const onScroll = function () { restore(); };
+    window.addEventListener('scroll', onScroll, true);
+    setTimeout(function () { window.removeEventListener('scroll', onScroll, true); }, 350);
   }
   function execCmd(cmd, arg) {
