Halo v3.0.2 — fixes a frozen pill on Bluetooth connect
Fixes a frozen pill when a Bluetooth device connects. The battery ring's radius is derived from the pill's height, and once the pill tucks itself into its slim tab that radius reached zero, which GDI+ rejects. The drawing call then failed on every single frame, and because render errors are caught and logged rather than shown, the only symptom was a pill that quietly stopped updating. Found in frame-errors.txt, timestamped to the same second a phone connected.
The rest of this release is maintenance — nothing else changes on screen.
Single-sourced the duplicated interface strings. Several pieces of text were written out twice in places far apart, so a wording or translation change could land on one copy and silently miss the other:
- the RAM and CPU banners were two copies of one banner, plus two more copies in the demo path — now a single builder
netandapihad four different spellings per agent widget, eight literals for two words — now one constant each, shared by both widgets- the screenshot wording existed both in the real clipboard path and in the
--render-notifdev hook, so the preview image could drift away from what users actually see
Also in this build: removed a stray file-header comment that had leaked into Interop/Clipboard.cs, and repaired two stale tests that still asserted the old waiting_input behaviour — the suite had been failing 2 of 81 because of them.
Verified: Release build with 0 warnings and 0 errors, 81/81 tests green, the Bluetooth draw path exercised across every height from 40px down to 2px, and the rendered widget output unchanged from v3.0.1.
| Download | What it is |
|---|---|
| DynamicWinSetup.exe | installer — per-user, no admin prompt |
| DynamicWinPortable.zip | portable — unzip and run Halo\Halo.App.exe |
Windows 11 · x64. Both are signed with the same self-signed certificate as previous releases.