Repository navigation
v0.21.8
This patch improves TUI text rendering and responsiveness, web review recovery, and CLI startup and discovery.
Improvements
- TUI: Correct Unicode grapheme rendering and highlighting, including Arabic marks, combining accents, joined emoji, and wide characters. Clipboard helpers run outside the input loop. LSP headers and retained responses are bounded; delayed language results cannot steal focus.
- Web: Lazy-load review surfaces, support editing and searching newly added files, and show recoverable full-context errors. Failed refreshes preserve the loaded review and editor. Viewed-state writes recover safely, reconnects refresh missed state, and plan shortcuts respect dialogs and IME composition. Mobile controls and file headers fit narrow screens.
- CLI: Lightweight startup, compact terminal branding, and shared Bash/Zsh/Fish completion metadata. Add
diffing commands [--json] [command]with 26 catalog commands. Credential-bearing local requests reject redirects, and large exports drain before exit.
Before and after observations
| Metric | Before | After | Difference |
|---|---|---|---|
| Web entry JavaScript | ~2,248 KB | 453.59 KB | 79.8% smaller |
| CLI entry JavaScript | ~32 KB | 0.94 KB | 97.1% smaller |
CLI --version |
97 ms | 48 ms | 50.5% lower elapsed time |
CLI --help |
95 ms | 83 ms | 12.6% lower elapsed time |
| CLI completion | 96 ms | 59 ms | 38.5% lower elapsed time |
| Document width at a 390 px viewport | 522 px | 390 px | 132 px overflow removed |
CLI timings are informal seven-run medians under varying load, measured on macOS ARM64. The web entry reduction defers code loading; it does not represent total download savings. Bundle sizes are before gzip and approximate where marked.
Final TUI benchmark
100,000 lines and a 3.4 MiB patch on macOS ARM64. These are final measurements; no before/after speedup is claimed for the TUI.
| Measurement | Result |
|---|---|
| Cold render | 9.384 ms |
| Warm frame, p95 | 0.231 ms |
| Cursor movement, p95 | 0.184 ms |
| Adjacent scroll, p95 | 0.115 ms |
| Random jump, p95 | 2.746 ms |
| Warm-frame allocations | 0 |
| Frame-time budget | 16.667 ms — passed |
Validation
| Check | Result |
|---|---|
| TypeScript tests | 3,246 passed |
| Rust tests | 281 passed |
| Total tests | 3,527 passed |
| Uncaught browser errors during smoke checks | 0 |
| Commands exposed through JSON discovery | 26 |
Typechecking and production builds passed. Chromium smoke checks covered new-file editing, request failure/retry, viewed-save rollback, preserving an editor during refresh failure, light/dark desktop views, mobile controls, and route loading. Plan, mockup, and PR route smoke checks covered empty/no-session states.
Functional coverage was macOS ARM64 and Chromium. Other operating systems, Safari, Firefox, real mobile devices, and Fish runtime completion were not functionally tested in this audit. Cross-platform binary builds in release CI do not establish that coverage.
Full Changelog: v0.21.7...v0.21.8