AcadeDoc/apps/client/src/features/editor
Olivier Lambert f5d794220e
fix: resolve keystroke input being swallowed after link in Firefox (#1922)
* fix: resolve keystroke input being swallowed after link in Firefox

In Firefox, when the cursor is at the right boundary of a link mark,
contenteditable inserts new text inside the <a> element. ProseMirror
then rejects the DOM mutation because the link mark has inclusive: false,
causing keystrokes to be silently swallowed. Unlike Chrome, Firefox also
does not fire ProseMirror's handleTextInput callback in this state.

This adds a ProseMirror plugin that intercepts printable character
keydowns at link mark boundaries and programmatically inserts the text
without the link mark, bypassing Firefox's native contenteditable
behavior entirely.

Fixes #1773

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: resolve keystroke input being swallowed before a link in Firefox

Extend the linkBoundaryInput plugin to also handle the left boundary
of links, where the cursor is just before a link (e.g. at the start
of a line). Firefox inserts text inside the <a> element in this case
too, causing ProseMirror to reject the mutation.

Fixes #1748
2026-03-03 17:19:03 +00:00
..
atoms feat(ee): AI menu (#1912) 2026-02-14 20:58:08 -08:00
components fix: resolve keystroke input being swallowed after link in Firefox (#1922) 2026-03-03 17:19:03 +00:00
extensions fix(editor): disable slash and emoji menus inside code blocks (#1897) 2026-03-03 16:51:00 +00:00
hooks feat: anchor links (#1765) 2025-12-06 14:46:54 +00:00
styles fix headings 2026-03-03 14:17:51 +00:00
utils implement new invitation system 2024-05-14 22:55:11 +01:00
full-editor.tsx feat: edit mode preference (#666) 2025-06-18 00:11:47 +01:00
page-editor.tsx feat: editor UI refresh and enhancements (#1968) 2026-02-24 15:22:37 +00:00
readonly-page-editor.tsx fix headings 2026-03-03 14:17:51 +00:00
title-editor.tsx fix headings 2026-03-03 14:17:51 +00:00