Repository navigation
cc-copilot v0.2.0
Persistent copilot history, multilingual cockpit input, and locale-independent UTF-8 — building on v0.1.0.
Persistent copilot history
Your Q&A with the copilot now survives. Each conversation is keyed to the observed Claude Code session and stored locally — never under ~/.claude.
- Switching sessions (
/use, the cockpit picker) and relaunching now RESTORE that session's prior dialogue instead of wiping it. /history(Ctrl+H) browses & restores past conversations — even when the transcript is gone (read-only view). Also/history this|allin the REPL andcc-copilot history [--all]on the CLI.- Append-only
turns.jsonl+ a rebuildablemeta.json, under the state home ($CC_COPILOT_STATE_DIR>$XDG_STATE_HOME/cc-copilot>~/.local/state/cc-copilot); dirs0700/ files0600. - Concurrency-safe via a single
fcntl.flock(LOCK_EX)over the whole write (count re-derived under the lock); no silent unsafe fallback; all writes best-effort so a storage error never breaks an answer or the read-only contract. - Opt out:
--no-persist,[history] enabled = false, orCC_COPILOT_HISTORY=0(honored on both write and read).
Cockpit input
- Click anywhere focuses the composer (the timeline/chat panes no longer steal focus and strand IME input).
- Full CJK / emoji input;
Shift+Enter/Ctrl+Jinsert a newline (previously advertised but inert).
UTF-8 everywhere
CLI-backend subprocess output decodes as UTF-8 regardless of the host locale (a C/POSIX locale no longer mangles a Chinese/emoji answer); non-ASCII renders natively in briefs.
Quality
- Reviewed by an adversarial multi-agent workflow (6 bugs found+fixed, incl. a critical torn-final-line data loss) and a Codex cross-model pass (2 bugs: opt-out read path, in-flight-answer cross-contamination) — all resolved.
- 87 tests, green under both UTF-8 and
Clocales; CI runs the full suite with textual + a C-locale pass. - Core stays zero-dependency (the history store is stdlib-only).
Full diff: v0.1.0...v0.2.0