Skip to content

v0.15.9

Choose a tag to compare

@LIUTod LIUTod released this 11 Sep 13:33
· 104 commits to main since this release

Highlights

  • Session activation hardening (web): resume failures are now classified — a session missing from the global index is re-indexed from its persisted metadata and retried once, only a genuinely absent session directory is terminal, and transient failures stay retryable with the reconnect storm capped and a manual retry path. Session state.json writes are atomic (temp file + rename) and truncated or missing metadata falls back to safe defaults instead of failing the resume chain.
  • Message list performance (web): the conversation renders through a precomputed row model with memoized history and an 80-row tail window with anchored paging — a 300-message session drops from 7,352 to 2,294 DOM nodes (-69%) with zero long tasks and zero scroll jumps across a full traversal.
  • Web client architecture: the 1,925-line god composable was split into domain modules behind an unchanged façade — all 95 exported keys and every consumer call site stay untouched.
  • Visual pass (web): quieter empty state (suggestion cards and shortcut hint row removed), neutral-gray user bubbles with a 240px cap and internal scrolling for very long messages, hidden chat scrollbar, hover micro-transitions across the file browser, git panel and mention links, and Firefox-scoped scrollbar theming that no longer overrides the custom rail in modern engines.
  • Cross-platform key hints: modifier-key labels render as Command on Apple hardware and Ctrl elsewhere (sidebar search placeholder, composer queue hint); all keyboard handling continues to accept either modifier.
  • Footer status badges (TUI): the three running-status counters were unified to one pattern — background task / background agent / foreground agent, each as [label xN].
  • MCP capability semantics: mcp.json entries can declare capabilities (explicit declaration wins over built-in fingerprints; an empty array opts out), surfaced in the /mcp panel and used to inject capability-specific guidance.
  • Test coverage: roughly 300 new tests across config i18n, TUI controllers and managers, the web client split, knowledge commands, embeddings, message-list rows/windowing and streaming render pins, with two-sided mutation checks on new regression guards.

Validation

  • Typecheck, lint and build green; full repository suite: 509 files, 6,521 tests passed.
  • CI and Release pre-checks green on the release commit (Linux and Windows).