vietc/engine
Devin AI bbd273bdd6 Fix spacing bug: stop retyping finished word on flush char
The flush-char handling backspaced and re-typed the already-on-screen
word before/around the forwarded space. In the grabbed-device injection
path this raced against the separately-forwarded space, eating spaces
and merging finished words (e.g. "mất sự" -> "mấtsự",
"đầu ngã xuống" -> "đầungãxuống").

The composed word is already correct on screen, so a non-macro flush
now finalizes state without backspace+retype:
- engine: process_key returns None on flush (macros still Replace)
- daemon replay_and_inject: just types the flush char
- daemon did_flush branch: clears state without retyping

Add regression tests for flush behavior and multi-word spacing.

Co-Authored-By: vndangkhoa <vonguyendangkhoa@gmail.com>
2026-06-26 10:38:54 +00:00
..
examples Optimize typing performance and preserve casing on replaced syllables 2026-06-25 19:59:46 +07:00
src Fix spacing bug: stop retyping finished word on flush char 2026-06-26 10:38:54 +00:00
tests fix: correct tone placement for qu/gi onset glides and uê/uơ clusters 2026-06-26 10:10:42 +00:00
Cargo.toml Optimize typing performance and preserve casing on replaced syllables 2026-06-25 19:59:46 +07:00
gen_tests_output.json Fix typing race conditions with unified channel injection, add persistent logging, and align config schemas 2026-06-24 20:30:14 +07:00