Skip to content

0.9.6 — two silent data-loss bugs, a fire that looks like fire, and the quiet states

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Sep 06:11
· 2 commits to main since this release
v0.9.6
214dd99

The relaunch that came back dead is fixed. Resuming a session reuses the
same status key as the one it replaces, and the relaunch fires the kill without
waiting for it — so the old claude's exit handler could land after the
replacement had written its settings file, delete it, and leave the new CLI to
exit with "Settings file not found". Whether it happened at all depended on how
long the old process took to die, which is why it looked random for months. The
files have an owner now, and a dying predecessor cannot clean up its successor.

npm run check was deleting the live files of every Stoke session on the
machine
— dev and installed alike — on every run, for five weeks. The
statusLine test swept the real shared directory with a clock set seven years
ahead, so every real file looked stale by definition. Its comment claimed
"entirely hermetic" because the clock was fake; the directory was real,
which is what made the fake clock dangerous. It sweeps its own fixtures now and
asserts that a bystander survives.

Those two together explain a note that had sat in the project's own docs for
months saying this was harmless and telling people not to investigate.

The installer no longer promises root an install that cannot start. Electron
refuses to run as root on Linux and aborts inside Chromium's startup, before any
of Stoke's code exists — so nothing in the app can catch it or explain it. The
installer warns before the download instead, while interrupting is still free,
and says both ways out. A new --preflight prints what the script makes of a
machine without resolving or downloading anything, which is also what lets the
Linux branches be tested from a Mac.

The campfire was redrawn. The old one built its flames out of ( ) and read
as loose punctuation; the new one is a white-hot bed that never moves with
interleaved tongues leaning in a draught above it. Picked from four independent
designs, judged rendered.

"Up to date" is a badge with a timestamp, in both update panels. A version
line with no timestamp is indistinguishable from one written at boot and never
refreshed — which is exactly what a stale checker looks like. It refuses to
appear over an error, a download in flight, a version that could not be read, or
a pinned channel sitting behind latest.

Keystrokes nobody claimed now go to the terminal. Click the usage chip, type,
and the characters used to be delivered correctly to a button, which did nothing
with them. Chords, text fields and overlays are all still theirs.

Providers stops storing keys that did nothing. The OpenAI and xAI keys were
injected into every session and could not affect it — Claude Code speaks neither
wire format. Codex CLI, Grok CLI and OpenCode are detected instead, so you can
see what the machine has.

Also: the Stoke mark in the title bar can be turned off, and two "Why?"
disclosures are gone — one hid the machine's own LAN addresses behind a summary
click, which is the one moment a collapsed hint costs more than it saves.
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgRMU791FgMe8r+DfqyzVBFQ6kaz
8vnoPpPI8Ui7gGH3MAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQDRXuWK1f6pxh/dWs/FnnhsYQdH/zjVtq6/3HET7HZXTg80Oflc7rGQSw6h4aN/0Gb
lUeNC9qoxp5WFhRi3BqA4=
-----END SSH SIGNATURE-----