Repository navigation
v0.2.47
v0.2.47 — Critical fix: window focus flicker storm on new terminal form
Release date: 2026-08-05
Previous version: v0.2.46
TL;DR
Fixes a critical regression introduced in v0.2.46: opening the new terminal
form could throw the desktop app into a runaway window blur→focus loop — the
window flickered between active/inactive endlessly and could freeze the
desktop. If you are on v0.2.46, update immediately.
Highlights
Fixed: self-sustaining focus flicker loop (Windows)
v0.2.46 replaced the IME recovery with an OS-level window blur→focus cycle,
but released its re-entry guard on a fixed two-frame delay. That delay could
beat the actual OS focus round-trip: the focus event Chromium re-fires on the
focused input when the window reactivates then landed after the guard was
released, while page focus still read dead — which is exactly the trigger
condition of the app-level focus rescue. The rescue started another window
cycle, each cycle re-armed the next, and the window blurred/refocused in an
infinite loop.
The guard now holds until window focus has actually returned to the renderer
(with a 1-second watchdog fallback), so everything the cycle emits is
swallowed while the guard is still in flight. A regression test locks this
in: it fails if the guard is ever released before focus returns.
Install / Update
npm i -g clitrigger@0.2.47Desktop app — pick the right asset:
- Windows (recommended):
CLITrigger-Setup-0.2.47.exe— installer with Start Menu shortcut, uninstaller, and auto-update. - Windows (portable):
CLITrigger-0.2.47.exe— run directly, no install; no shortcuts and no auto-update (grab new versions manually). - macOS:
.dmg/ Linux:.AppImage
Full commit list
- 3a0aec3 fix(ime): 핸드오프 가드를 창 포커스 복귀까지 유지 — 창 blur→focus 폭주 루프 해소
Related docs
- Detailed changelog — per-date technical decision records
Full Changelog: v0.2.46...v0.2.47