Skip to content

After v0.8.0: fix a macOS-only test race, fill the checksum - #17

Merged
samartomar merged 2 commits into
mainfrom
post-release-0.8.0
Oct 5, 2026
Merged

samartomar merged 2 commits into
mainfrom
post-release-0.8.0

Conversation

@samartomar

Copy link
Copy Markdown
Owner

Summary

Two follow-ups to v0.8.0 (#16).

 finish engine switch
+  record status "done"
   swap the transcriber
   unload the old one
   save the profile
-  record status "done"

And the v0.8.0 checksum, now that the release exists: Scoop hash, winget InstallerSha256, and PUBLISHED_SHA256 in tests/test_packaging.py.

Evidence

  • Before: CI on main at 6ec6c2b, suite (macos-latest, py3.12): test_home_engine.TestTheStatusStrip.test_it_applies_when_idle_and_then_says_done_briefly → TypeError: 'NoneType' object is not subscriptable. The same commit passed on the PR run, so it is a race, not a logic error.
    After: "done" is recorded before the engine changes, so a reader that sees the new engine always sees its status. test_home_engine, test_engine_switch and test_first_run_gpu pass three runs in a row locally.
  • Checksum: 325957561fc0b8e6ea6036b98a5cd9c40e76cf7790d8ebd5dd5aecd415ab1e49, read from the release's own flow-windows-x64.zip.sha256. test_packaging passes with it.

Merge Danger

Door: two-way

Blast Radius: tiny

The ordering change touches the engine-switch bookkeeping only; the manifests change only their hash fields.

🤖 Generated with Claude Code

samartomar and others added 2 commits October 5, 2026 07:13
CI on main failed once on macOS, on the same commit that passed on the
PR: TestTheStatusStrip.test_it_applies_when_idle_and_then_says_done_briefly
saw the new engine and then a switch status of None.

The swap set the engine, saved the profile, and only then recorded
"done". The demo session the test drives applies a queued switch on its
pump thread while the page reads from another, so a slow runner could
read inside the profile save. Both the demo and Session now record "done"
first; anything that sees the new engine sees its status too. In Session
the page's reads run on the session thread, so this is ordering hygiene
there rather than a live bug.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
325957561fc0b8e6ea6036b98a5cd9c40e76cf7790d8ebd5dd5aecd415ab1e49, from
the flow-windows-x64.zip.sha256 the release workflow published beside
the zip (PUBLISHING.md step 1). It goes in the Scoop hash, the winget
InstallerSha256, and PUBLISHED_SHA256 in test_packaging.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@samartomar
samartomar merged commit 71f1a4d into main Oct 5, 2026
4 checks passed
samartomar added a commit that referenced this pull request Oct 5, 2026
`macos-latest` resolves to the image macos-26-arm64 today (macOS 26.6.2,
Tahoe, Apple silicon: the PR #16 and #17 runs). It moves to the next
macOS on GitHub's schedule, with no change in this repository to show
it. The Mac leg exists to say Flow works on the Mac the owner is buying,
which runs 26, so the suite and the Swift helper build now name it.

test_packaging's platform check named the runner string, so it follows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@samartomar
samartomar deleted the post-release-0.8.0 branch October 5, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant