v0.10.1
Fixes
- Input cursor overshoot on wrapped lines — option-b / word-backward on a line long enough to wrap no longer scrolls the prompt up one row per keypress (#73)
- CJK and emoji character width — corrected width calculations for CJK, fullwidth, emoji, combining marks, regional indicators, and variation selectors; fixes box-frame overflow and truncation edge cases (#69, thanks @firslov)
- TUI border margin —
cappedW()now accounts for the 2-char left marginMarkdownRendererprepends, so the response border no longer overflows the terminal width by exactly 2 characters - Compaction force mode — manual
/compacton short conversations no longer returns "nothing to evict"; auto-compact logs when it fires but can't evict instead of failing silently - Extension reload — tsx ESM loader is re-registered on
/reload, fixing TS extensions that failed to load after the first reload
Refactors
- Bridges become pure protocol translators —
pi-bridgeandclaude-code-bridgeno longer bundleuser_shell/terminal_read/terminal_keys; those are core-extension concerns, not bridge concerns (#70) - Shell output spill — long outputs spill to tempfiles surfaced via the tool result; the
shell_recalltool is dropped in favor ofread_file - Shift+Tab model cycling removed —
/model <name>covers the use case; the key binding conflicted with line-editor expectations
Docs
Audit and refresh of agent.md, architecture.md, context-management.md, extensions.md, usage.md, and both READMEs — fix stale user_shell references, drop mentions of Shift+Tab, correct slash-command tables, and reorder guides into natural reading order.