Skip to content

fix: resolve 6 Chinese/CJK IME editor issues#2116

Merged
ra3orblade merged 3 commits into
developfrom
fix/chinese-ime-issues
Apr 29, 2026
Merged

fix: resolve 6 Chinese/CJK IME editor issues#2116
ra3orblade merged 3 commits into
developfrom
fix/chinese-ime-issues

Conversation

@ra3orblade

Copy link
Copy Markdown
Contributor

Summary

  • JS-6963: Inline code/markdown not triggered after CJK characters — extended markdown regex to accept non-ASCII chars as word boundaries
  • JS-7213: Chinese search requires space to trigger — added compositionEnd handler to Filter so search updates immediately when IME commits text
  • JS-7333 / JS-7558 / JS-8492: Mark position shift / flashing mention icon during IME — use Mark.adjust in onCompositionEnd instead of re-reading marks from DOM HTML, preventing incorrect mark expansion when browsers insert composition text inside mark elements
  • JS-9306: Code block scroll jump during Chinese IME — save/restore scroll container position around code block setValue to prevent page jumping during syntax highlight re-render

Not fixed: JS-7120 (WeType extra space) — third-party IME behavior, cannot be resolved in app

Test plan

  • Type 你好hello`` in a text block → inline code should render on "hello"
  • Open global search, type Chinese characters → results should appear without needing a trailing space
  • Create a link in a text block, place cursor before it, type Chinese characters → link underline should stay correctly positioned
  • Create inline code, place cursor before it, type Chinese characters → grey background should not shift
  • Add a @ mention, type Korean/Chinese after it → mention icon should not flash
  • Edit a long code block with Chinese IME, press Enter to commit a character → page should not scroll to top of code block
  • Verify bold (**text**), italic (*text*), strikethrough (~~text~~) also work after CJK characters

🤖 Generated with Claude Code

- JS-6963: extend markdown regex to accept non-ASCII chars as word
  boundaries so inline code/bold/italic triggers after CJK characters
- JS-7213: add compositionEnd handler to Filter so search updates
  immediately when IME commits text without requiring a trailing space
- JS-7333/JS-7558/JS-8492: use Mark.adjust in onCompositionEnd instead
  of re-reading marks from DOM HTML, preventing incorrect mark expansion
  when browsers insert composition text inside mark elements
- JS-9306: save/restore scroll container position around code block
  setValue to prevent page jumping during syntax highlight re-render
- Update CLAUDE.md Linear workflow to include "In development" state

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ra3orblade ra3orblade self-assigned this Apr 4, 2026
@ra3orblade ra3orblade merged commit 5606177 into develop Apr 29, 2026
3 checks passed
@ra3orblade ra3orblade deleted the fix/chinese-ime-issues branch April 29, 2026 16:11
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant