feat(richtext-attachment): Add-menu actions target the document end when unfocused
When the article editor has no caret (not first responder), the Add-menu and table actions previously applied at offset 0 — a structural slot that touches no paragraph, so paragraph commands silently no-op'd (Heading did nothing) and inserts landed at the start. Now, when there is no cursor, these actions target the END of the document: capture focus state at menu-open time, and before applying, focus the editor and drop the caret at the end (`focusEditorAtDocumentEndIfNeeded`). Wired into Text / Quote / Pull-quote / Code / Formula and table insertion. Heading gets a dedicated path: with a caret it converts the current paragraph as before; with no caret it appends a NEW empty paragraph in that heading style and focuses it. Adds `RichTextEditorView.moveCaretToDocumentEnd()`, which collapses the selection to a caret at `endOfDocument` (past the closing structural token). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
I
isaac committed
4cfe577dcab3d786d7372d2ce4a8a63626d100d7
Parent: 21ed574