Skip to content

Backchannel v0.6.2

Choose a tag to compare

@talberthoule talberthoule released this 03 Sep 18:47
· 12 commits to master since this release

Backchannel v0.6.2

A fix release. On v0.6.1 desktop, creating a session could stick on
"Creating..." and never finish, and local transcription did not work at all.

Highlights

  • Starting a session no longer hangs. Creating a new session could stick
    on "Creating..." forever. Nothing was wrong with the session: the app was
    downloading a model in the background, that download jammed, and everything
    that stores text queued behind it and never came back. Restarting cleared it
    until the next time. Saving text no longer waits on a download at all. If
    the PII Shield's model is missing, still arriving, or failed, the shield
    protects text with the layers it already has and the model joins in when it
    is ready.
  • Downloads are visible. Backchannel fetches model weights the first time
    something needs them, and it used to do that with no sign anywhere, so a
    slow download looked exactly like a hang and a failed one looked like a
    feature that simply did not work. A notice now shows what is downloading,
    how far along it is, and what it is for, wherever you are in the app.
    Failures say what went wrong and offer Retry. Nothing large is fetched
    silently.
  • Local transcription works in the desktop app. A packaging mistake left
    out a file one of the speech libraries reads at startup, so every local
    Whisper and Parakeet transcription failed in shipped desktop builds. Both
    work in this build.
  • The Privacy tab's download button behaves. Download now for the
    name-recognition model starts the download and returns, showing progress
    inline, instead of sitting there looking stuck until the transfer finished.

Notes for operators

The download that jammed could not have recovered on its own. In a windowed
desktop build there is no console, so sys.stderr is None; tqdm's progress
bar takes its process-global write lock, writes to that stream, and releases
the lock only on the following line, so the resulting AttributeError escaped
with the lock still held. Every later progress bar in the process then blocked
on it forever, and no network timeout could fire because no read was in
flight. Three earlier attempts leaked the lock and the fourth deadlocked.

Two independent changes prevent it: hub downloads now report progress through
a shim that holds no locks and writes to no stream, and the frozen build is
given real stdout and stderr before anything can write to them.

A new endpoint, GET /api/model-downloads, reports every set of model weights
this process has fetched, with queued, downloading (bytes and percent),
installed and error states, plus retry and dismiss. The PII Shield's model
reports exact byte progress; local ASR models report bytes fetched without a
total, because onnx-asr does not expose one.

Upgrading

An install on v0.5.3 or later updates itself in place and verifies the new
build's signature before applying it. An install on v0.5.2 or earlier will
not see this release from inside the app: download the bundle from the
release page, quit the old version from the tray, and run the new one.

If a v0.6.1 install is currently stuck on "Creating...", quit it from the tray
and start it again; updating to v0.6.2 stops it recurring.