Skip to content

cc-copilot v0.2.0

Choose a tag to compare

@Audiofool934 Audiofool934 released this 07 Jun 04:33
· 191 commits to main since this release
2824420

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|all in the REPL and cc-copilot history [--all] on the CLI.
  • Append-only turns.jsonl + a rebuildable meta.json, under the state home ($CC_COPILOT_STATE_DIR > $XDG_STATE_HOME/cc-copilot > ~/.local/state/cc-copilot); dirs 0700 / files 0600.
  • 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, or CC_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+J insert 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 C locales; 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