release: v1.47.0 (build 100) - #427
Merged
Merged
Conversation
Ships the helper-agent self-heal (#425), which missed the 1.46.0 cut by three commits. That is the most user-visible fix of the day and 1.46.0 does not have it: HelperAgentHealth.swift is on main but absent from the published 1.46.0 DMG. WHY IT MATTERS MORE THAN THE TELEMETRY FIXES IT TRAVELS WITH `yyh.CLI-Pulse.helper.agent` can be registered and still have never executed. Measured on a real machine: 22,138 consecutive failed spawns over ~11 days, while every signal the app used said healthy — SMAppService `.status` returned `.enabled`, `register()` returned without throwing, and `launchctl kickstart` exited 0 on a job that failed to exec milliseconds later. A dead helper means no provider data, which means CLI Pulse shows nothing at all. That is the first-value failure the v1.45 telemetry was built to measure, happening silently, to users who then have no reason to come back. ALSO IN THIS RELEASE (both already shipped in 1.46.0, restated for users who skip it): the disclosure card no longer claims statistics are being sent while local-only mode suppresses them (#419), and activation is no longer lost on the launch that shows the disclosure card (#418). DEVID + Homebrew only. iOS 1.45.0 is still WAITING_FOR_REVIEW and a second version cannot sit in review beside it; App Store submission stays the owner's call. swift test: 2678 passed, 0 failures, 4 skipped — including 27 helper-agent tests. Version drift gate passes (Apple 1.47.0 == Android 1.47.0, code 66). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ships the helper-agent self-heal (#425), which missed the 1.46.0 cut by three commits.
HelperAgentHealth.swiftis onmainbut absent from the published 1.46.0 DMG.Why this couldn't wait for the next feature release
yyh.CLI-Pulse.helper.agentcan be registered and still have never executed. Measured on a real machine: 22,138 consecutive failed spawns over ~11 days, while every signal the app used reported healthy —SMAppService.agent(...).status.enabledSMAppService.agent(...).register()launchctl kickstart -kA dead helper means no provider data, which means CLI Pulse shows nothing at all. That is precisely the first-value failure the v1.45 telemetry was built to measure — happening silently, to users who then have no reason to come back.
The fix reads launchd's own job record (
state,parent bundle version,last exit code), which is the only signal that distinguishes "registered" from "running", and re-registers viaunregister()+register()when it finds the former without the latter.Also in this release
Both already shipped in 1.46.0, restated here for anyone who skips it:
Scope
DEVID + Homebrew only. iOS 1.45.0 is still
WAITING_FOR_REVIEWand a second version cannot sit in review beside it, so App Store submission remains the owner's call. Android version bumped in step to satisfy the v1.21 G6 drift gate; no Android release implied.Verification
swift test— 2678 passed, 0 failures, 4 skipped, including 27 helper-agent testscheck_no_internal_docs.shrun locally before pushNotarized DMG, real-machine smoke and the three publish surfaces follow in this PR's comments.
🤖 Generated with Claude Code