Backchannel v0.6.2
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.