etherpad-lite/src
John McLear f6a56ec2cb
test(playwright): use insertText so Firefox stops dropping keystrokes (#7625)
writeToPad has been calling page.keyboard.type, which fires one
keydown/keyup per character against the contenteditable. Under
WITH_PLUGINS load Firefox's input pipeline can't keep up with the
per-event firing while plugin hooks are still warming, and randomly
swallows characters from the tail of the string — pad ends up with
e.g. "aligned tex" instead of "aligned text". The dropped character
is irrecoverable: there is no event to retry against.

Switch to page.keyboard.insertText, which dispatches a single input
event per call. Etherpad's incorporateUserChanges loop reads the
resulting DOM atomically, so the result is identical to what real
typing produces — minus the per-key race.

insertText does not translate \n into Enter (it concatenates
"One\nTwo" into "OneTwo"), so split on newlines and press Enter
between segments to preserve multi-line input that the existing
callers (timeslider_line_numbers, page_up_down, etc.) rely on.

Verified locally on Firefox + WITH_PLUGINS:
  - ep_align Alignment: 4/4 pass (previously 0/4 even after retries)
  - italic.spec: 2/2 pass
  - timeslider_line_numbers (multi-line): pass
Chromium remains green.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 18:56:47 +01:00
..
locales Localisation updates from https://translatewiki.net. 2026-04-27 14:04:13 +02:00
node feat(packaging): add Debian (.deb) build via nfpm with systemd unit (v2) (#7583) 2026-04-27 10:33:30 +01:00
static feat(packaging): add Debian (.deb) build via nfpm with systemd unit (v2) (#7583) 2026-04-27 10:33:30 +01:00
templates fix(chat): icon click, disabled toggles, username layout (#7590, #7592, #7593) (#7597) 2026-04-26 09:56:38 +01:00
tests test(playwright): use insertText so Firefox stops dropping keystrokes (#7625) 2026-04-28 18:56:47 +01:00
.eslintrc.cjs Feat/admin react (#6211) 2024-03-09 23:07:09 +01:00
ep.json 7139 let user maintain a single session across multiple browsers (#7228) 2025-11-18 12:23:55 +01:00
etherpad_icon.svg Change favicon to be closer to new style 2020-04-19 18:20:21 +02:00
package.json ci(playwright): discover plugin frontend specs (closes #7622) (#7623) 2026-04-28 06:33:43 +01:00
playwright.config.ts ci: run frontend tests with /ether plugin set (closes #7608) (#7609) 2026-04-28 06:45:35 +01:00
README.md remove one less warning during install by having a readme placeholder 2013-02-10 03:04:08 +00:00
tsconfig.json 🩹 — Avoid duplicate key "types" in tsconfig (#7610) 2026-04-28 13:06:43 +08:00
vitest.config.ts Feat/changeset ts (#6594) 2024-08-18 12:14:24 +02:00
web.config Added typescript to etherpad 2024-02-05 21:13:02 +01:00

Ignore this file and see the file in the base installation folder