- README: fix injection diagram (no X11 dependency for Ctrl+V), rename Focus Reset -> Window-Switch Reset with accurate blurb, mention warning-free Flatpak build - CHANGELOG: replace old Event Sourcing entries with actual v0.1.5 changes: window-switch fix, xprop fallback, dead code cleanup, flatpak mkdir fix
3.1 KiB
3.1 KiB
Changelog
v0.1.5 (2026-06-29)
Window-Switch Engine Reset
- Engine state now clears on window switch — when Alt+Tab'ing between apps, the composition buffer is properly reset before the next keystroke. Previously, keystrokes could still apply Vietnamese tone/mark rules across app boundaries, producing corrupted text.
last_key_timeonly on character key presses — modifier-only events (Alt, Ctrl, Shift) no longer update the gap timer, so the 100 ms inline xprop poll fires reliably after every window switch, regardless of held modifiers.
Active Window Detection
- xprop fallback —
get_active_window_id()triesxdotoolfirst, falls back toxprop -root _NET_ACTIVE_WINDOW(preinstalledx11-utils). Works under sudo even when xdotool is absent.
Code Cleanup
- Removed ~400 lines of dead unsafe code — entire X11 clipboard shared-state block (unsafe statics, manual Xlib dlopen, SelectionRequest handling) was unused and has been deleted. All related
#[warn(dead_code)]and#[warn(static_mut_refs)]warnings eliminated. - Engine dead code removed — unused methods
is_empty,is_tone_or_mark_key,process_string,last_base_char,apply_cluster_mark,apply_markinBambooEngine;RuleEffectenum andspecial_rulesfield inInputMethodRules. - Production logging — per-key
eprintln!removed from evdev loop and uinput paste path. Only startup/error/window-change messages remain (log_infoto both stderr and file).
Flatpak Build
- Fixed
mkdir -p—build-flatpak.shnow creates/app/share/applicationsbefore installing the desktop file. - Bundle:
VietPlus-0.1.5.flatpak(47 MB, runtimeorg.gnome.Platform//50). Warning-free build with default Rust profile (no#![allow()]needed).
v0.1.4 (2026-06-28)
Flatpak Packaging
- Flatpak bundle with all components: daemon, CLI, system tray, uinputd, XRecord, wrapper script
- System tray icon via D-Bus StatusNotifierItem (ksni)
- Build script
packaging/flatpak/build-flatpak.sh— automated build from source - Permissions: X11, Wayland, D-Bus session bus, input devices, IPC
Documentation
- README updated with Flatpak-only install/build instructions
Clipboard & Injection
- Fix clipboard-into-text race — Eliminated race condition where clipboard content leaked into typed text during Unicode injection.
- CI/CD pipeline — GitHub Actions workflow for automatic .deb and AppImage builds on push.
Tests
- 106 tests passing (72 engine + 16 CLI + 12 protocol + 5 auto-restore + 1 tone placement).
Releases
vietc_0.1.4-1_amd64.deb,Viet+-0.1.4-x86_64.AppImageon GitHub + Forgejo.
v0.1.3 (2026-06-26)
- ua-horn cluster fix, clipboard_context save/restore, control-key consumption
- 106 tests, DEB + AppImage
v0.1.2 (2026-06-26)
- Flush char forwarded as raw key, auto-restore English words
- Tone placement qu/gi/uê/uơ, skip auto-repeat, Enter key
v0.1.1 (2026-06-26)
- Fix Telex tone key consumption, persistent X11 connection
v0.1.0 (2026-06-26)
Initial release — bamboo engine port, evdev capture, uinput injection.