From f8c10bd88fb4e2df5d532734da0b2e7fe9bd6fb8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jun 2026 20:49:25 +0300 Subject: [PATCH] chore(skills): flag dead clipboard-pipeline emitter bindings in ckeditor5-reviewing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a defect-pattern: a handler bound to editor.plugins.get(Clipboard) for inputTransformation/contentInsertion is silently dead — those events fire on ClipboardPipeline, which Clipboard only requires. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../ckeditor5-reviewing/references/defect-patterns.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.claude/skills/ckeditor5-reviewing/references/defect-patterns.md b/.claude/skills/ckeditor5-reviewing/references/defect-patterns.md index d69b9e5b63..f21f5dabac 100644 --- a/.claude/skills/ckeditor5-reviewing/references/defect-patterns.md +++ b/.claude/skills/ckeditor5-reviewing/references/defect-patterns.md @@ -47,6 +47,13 @@ group covers the monorepo wiring/convention defects. For the idiomatic "how it s - Fix: declare the attribute to trigger reconversion, or use a separate `attributeToAttribute`/ `attributeToElement` converter, or `editor.editing.reconvertItem(item)`. +**Clipboard-pipeline handler bound to the wrong emitter (silently dead).** +- Spot: `listenTo(editor.plugins.get(Clipboard), 'inputTransformation'|'contentInsertion', …)` — the + handler is attached to the `Clipboard` *umbrella* glue plugin (a real one in `ckeditor5-math/src/automath.ts:28`). +- Why: those events fire on **`ClipboardPipeline`**, not `Clipboard` (which only `requires` it), so the + handler never runs — no error, no test failure (a Trilium handler sat dead ~1 year this way). +- Fix: `listenTo(editor.plugins.get(ClipboardPipeline), 'inputTransformation', …)`. + ## Schema **Object/limit flags wrong.**