mirror of
https://github.com/penpot/penpot.git
synced 2026-09-24 21:06:14 +00:00
* 🐛 Fix Japanese IME Enter duplication in comment input Comment keydown handler treated every Enter as a Penpot line-break action, so confirming an IME composition duplicated the text with an extra newline and a zero-width space. Guard the whole custom keydown processing while the event belongs to an active IME composition, mirroring the v3 text-editor precedent. Closes #11757 Signed-off-by: Junsoo Choi <junsoo1172@gmail.com> AI-assisted-by: muse-spark-1.3-contributor * 🐛 Keep composing Escape from closing comment thread The parent floating-thread keydown handler closed the thread on every Escape, including one that cancels an active IME composition. Apply the same composition guard so composing Escape stays owned by the IME while plain Escape still closes the thread. Closes #11757 Signed-off-by: Junsoo Choi <junsoo1172@gmail.com> AI-assisted-by: muse-spark-1.3-contributor * 🐛 Test comment IME guard through key-action resolver The composition predicate test only verified the predicate itself, so a guard moved to the wrong place or a handler bypassing it would stay green. Resolve comment and thread keydowns through a pure resolve-comment-key-action seam and verify the observable behavior: composing keys yield :ime-owned with zero Penpot side effects while the same plain keys keep their existing commands. Closes #11757 Signed-off-by: Junsoo Choi <junsoo1172@gmail.com> AI-assisted-by: muse-spark-1.3-contributor * 🐛 Test comment IME handlers through direct calls The key-action resolver only verified a return value, so handler wiring regressions would stay green, and it read the mention snapshot before handle-select ran, changing the existing ordering. Remove the resolver, extract the two handler bodies as directly callable fns with the original select-first ordering, and assert the fired side effects instead. Closes #11757 Signed-off-by: Junsoo Choi <junsoo1172@gmail.com> AI-assisted-by: muse-spark-1.3-contributor * 📚 Remove text-editor v3 references from comment IME docs The comment IME guard is specific to the comment editor, so the docstrings no longer present it as following a v3 text-editor or render-engine precedent. Reviewers read that wording as tying this comment bug fix to unrelated subsystems. Only docstring text changes; handler logic and test assertions are untouched. Closes #11757 AI-assisted-by: deepseek-v4.1-flash Signed-off-by: makesomethingshit <junsoo1172@gmail.com> * 🐛 Review comments, and fix edge case --------- Signed-off-by: Junsoo Choi <junsoo1172@gmail.com> Signed-off-by: makesomethingshit <junsoo1172@gmail.com> Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>