Skip to content

Backchannel v0.5.4

Choose a tag to compare

@talberthoule talberthoule released this 02 Sep 05:09
· 28 commits to master since this release

Backchannel v0.5.4

This release reworks the post-call review and the session sidebar, and closes
two audits: one on token spend, one on how provider keys are kept.

Highlights

  • A completed session opens on an Overview. It leads with the briefing's
    top outcome, then a row of counts - commitments, open loops, opportunities,
    risks and estimated spend - a two-column digest of those lists with owners
    and status, who spoke how much, and when in the call the insights arrived
    (a resumed call is drawn as call time, with a seam at each resume). Every
    count links to the tab that holds the rows behind it; when a briefing
    exists the counts follow it, and the live insight totals are stated
    alongside. The Insights tab is unchanged and remains the raw record.
  • The twin "Action Cue" groups are gone. Every strategic signal carries
    its section badge (Signal, Risk, Next Question, Opportunity, Action Cue),
    and the Insights group headings were borrowing the most common badge, so
    both the current and the retired signals read "Action Cue". They now read
    "Strategic Signals" and "Signal History"; the badges on the cards and the
    live-call chips are unchanged.
  • The session sidebar was rebuilt. Sessions come first, the tools moved to
    a compact footer, the whole list scrolls as one, and with six or more
    sessions a find box filters by session or group name. Each row shows its
    state as a small dot, the active session is marked, and a quiet menu on
    each row covers Rename, Move to a group and Delete. Collapsing to the icon
    rail is smooth and remembers the choice, and the sidebar opens expanded by
    default. Everything works by keyboard and on touch screens.
  • The Briefing tab reads like a one-page brief. Numbered top outcomes,
    plain section headings with counts, the action plan beside the risks, and
    each item's reasoning behind a single "Why this matters" toggle. Empty
    sections are left out and named once at the foot of the page.
  • Live-gateway token totals were far too low. Each usage report from the
    live model was treated as a running total and only the increase was kept,
    which on a talking call dropped most of what was billed. Usage is now
    recorded once per turn. Audio tokens and cached prompt tokens are priced at
    their own published rates rather than the text rate, and the Tokens tab
    shows cached and audio columns when a session has them. New sessions show
    higher, truer live totals; sessions recorded before this release keep the
    figures they had.
  • Provider keys are harder to reach. The local API refuses requests from
    other websites and from hostnames it does not recognize, so a page open in
    the browser cannot read transcripts or spend provider budget through it.
    Provider error messages and logs are scrubbed of anything key-shaped, and a
    saved key is shown as its last four characters only. On Windows the desktop
    app protects its key file with the user's Windows account, so a copied data
    folder cannot be read elsewhere.

Also included

  • The post-call Export menu and tab strip work by keyboard; the completion
    banners and the logo read correctly in dark mode; small teal text meets the
    contrast bar in both themes.
  • The Docker stack binds the database and API ports to the local machine
    only; the frontend on port 3000 remains the only address on the network.

Upgrading

Installs on v0.5.3 update in place from inside the app. Installs on v0.5.2 or
earlier cannot see this release from inside the app; download the bundle for
your platform from the portal once, quit the old version from the tray, and
run the new one. Session data is stored per-user and carries forward.

The database gains three token-accounting columns, added automatically at
startup; no action is needed. On Windows, the desktop app wraps its existing
key file with your Windows account on first launch after upgrading; an
administrator-forced password reset (not a password change you make yourself)
means re-entering provider keys once in Admin -> Connections.

If you run the Docker stack and reach it by a DNS hostname rather than an IP
address or localhost, set BACKCHANNEL_ALLOWED_HOSTS to that name in .env
before starting the new version; without it the API answers 400 Host header is not allowed.