Index: src/views/pages/authorize-interaction.ejs
===================================================================
--- src/views/pages/authorize-interaction.ejs	(revision 33e1dbd11a4cb4638e01c26e3f3c98e352e8892e)
+++ src/views/pages/authorize-interaction.ejs	(revision 5190152c90d2d397b7f87f9c900eae8d8c1e2856)
@@ -41,8 +41,16 @@
               </form>
             </div>
-            <form method="post" action="/fediverse/<%= m.id %>/edit" class="fedi-edit-form">
-              <textarea name="text" rows="3" maxlength="2000" class="fedi-edit-ta"><%= m.editable %></textarea>
-              <div class="fedi-edit-actions"><button type="submit" class="fedi-edit-save"><%= t('fedi.save_edit') %></button></div>
-            </form>
+            <div class="fedi-edit-form">
+              <%- include('../partials/reply-editor', {
+                action: '/fediverse/' + m.id + '/edit',
+                placeholder: t('fedi.reply_ph'),
+                submitLabel: t('fedi.save_edit'),
+                rows: 3,
+                initialHtml: m.content,
+                initialText: m.editable,
+                defaultLang: m.language,
+                noAttach: true,
+              }) %>
+            </div>
           </li>
         <% }); %>
@@ -59,5 +67,5 @@
           b.classList.toggle('is-open', open);
           b.setAttribute('aria-expanded', open ? 'true' : 'false');
-          if (open) { var ta = form.querySelector('textarea'); if (ta) ta.focus(); }
+          if (open) { var ed = form.querySelector('.re-editor') || form.querySelector('textarea'); if (ed) ed.focus(); }
         });
       })();
Index: src/views/pages/messages.ejs
===================================================================
--- src/views/pages/messages.ejs	(revision 33e1dbd11a4cb4638e01c26e3f3c98e352e8892e)
+++ src/views/pages/messages.ejs	(revision 5190152c90d2d397b7f87f9c900eae8d8c1e2856)
@@ -78,8 +78,16 @@
                 <details class="msg-edit">
                   <summary><%= t('fedi.edit') %></summary>
-                  <form method="post" action="/fediverse/<%= n.outboxId %>/edit" class="msg-edit-form">
-                    <textarea name="text" rows="2" required><%= n.editable %></textarea>
-                    <button type="submit" class="btn"><%= t('fedi.save_edit') %></button>
-                  </form>
+                  <div class="msg-edit-form">
+                    <%- include('../partials/reply-editor', {
+                      action: '/fediverse/' + n.outboxId + '/edit',
+                      placeholder: t('fedi.reply_ph'),
+                      submitLabel: t('fedi.save_edit'),
+                      rows: 2,
+                      initialHtml: n.content,
+                      initialText: n.editable,
+                      defaultLang: n.language,
+                      noAttach: true,
+                    }) %>
+                  </div>
                 </details>
                 <form method="post" action="/fediverse/<%= n.outboxId %>/delete" data-confirm="<%= t('fedi.delete_confirm') %>">
