I investigated this further with LLM assistance.
I know you guys will not review LLM code, but hopefully the investigation's results themselves will be helpful.
The attached ZIP contains a proposed patch (feel free to ignore this), explanations with source files/line numbers, and before/after code snippets.
I can reproduce both problems in the desktop client:
Home/End near custom emoji: the caret disappears and typing stops. After Home, copying the draft confirms the typed letters aren’t there.
Left after a line-start emoji: type hello, Shift+Enter, insert a custom emoji, then press Left and type X. X appears on the previous line instead of before the emoji.
Right arrow works normally in my tests, with or without the trailing space.
The proposed patch passes isolated Lexical tests, but hasn’t been tested in a complete Fluxer build. The included HTML is only a browser experiment, not an exact Fluxer reproduction.
Could someone review the patch and test it in the full client?
Thread
Comment by mangafan
Update: source of the bugs has been found.
I investigated this further with LLM assistance. I know you guys will not review LLM code, but hopefully the investigation's results themselves will be helpful. The attached ZIP contains a proposed patch (feel free to ignore this), explanations with source files/line numbers, and before/after code snippets. I can reproduce both problems in the desktop client:- Home/End near custom emoji: the caret disappears and typing stops. After Home, copying the draft confirms the typed letters aren’t there.
- Left after a line-start emoji: type hello, Shift+Enter, insert a custom emoji, then press Left and type X. X appears on the previous line instead of before the emoji.
Right arrow works normally in my tests, with or without the trailing space. The proposed patch passes isolated Lexical tests, but hasn’t been tested in a complete Fluxer build. The included HTML is only a browser experiment, not an exact Fluxer reproduction. Could someone review the patch and test it in the full client?