Skip to content

v0.19.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jun 23:49
· 36 commits to main since this release
bc3cab8

Added

  • opencode provider (read-only SQLite). opencode keeps all sessions in
    a single SQLite database rather than per-session files, so the provider
    opens it read-only via Node's built-in node:sqlite and surfaces
    sessions, sub-agents (via parent_id), model, context gauge, liveness,
    and the activity timeline. Loaded through a guarded require so agenthud
    still runs on Node < 22 (the provider is simply unavailable there — no
    new dependency, no engine bump). Schema: docs/schemas/opencode-session.md.
  • Sticky live projects. In a short Projects panel, projects that are
    running right now stay anchored as a sticky block at the top — header
    plus their sessions/sub-agents, hierarchy intact — so the live monitor
    never scrolls active work out of view; only the cold tail scrolls. A
    project is "live" when it has a working/waiting session or a working
    sub-agent (keyed on liveState, not the 30-min hot window, so a project
    whose sub-agents just finished doesn't stay pinned). Live projects sort
    first; the prefix is capped so it can't swallow the whole panel.

Fixed

  • Row border alignment. The ... N more (Projects) and No activity yet (viewer) lines were one cell narrower than every other row — their
    right border sat one column to the left. Dropped a stray -1 in the
    padding.
  • Bound widthCache to stop unbounded memory growth. getDisplayWidth
    memoized string-width results in a never-evicted map; per-render
    dynamic strings (elapsed time, context %, timestamps) accumulated
    forever. Capped with FIFO eviction (~0.5 MB ceiling), preserving the
    CPU win for the genuinely-recurring strings.

Changed

  • Session ID display. Sub-agents truncate their (no-longer-short)
    agentId to 6 chars instead of printing it verbatim; parent sessions
    keep their 4-char short ID. opencode's time-ordered ses_… ids show
    their distinguishing random tail rather than the shared timestamp prefix.