Repository navigation
feat: install ControlFS from the session menu when it is missing - #136
Conversation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Important
The installer timeout can leave a setup process running after the UI reports failure, allowing a later attempt to launch another installer.
Reviewed changes This review covers the ControlFS installation flow, release selection and verification, session-menu progress behavior, and associated tests and documentation.
- On-demand installation — The session-menu row downloads and verifies the latest eligible ControlFS setup, runs it silently, and opens ControlFS after installation when the menu is still open.
- Release selection and feedback — The release picker rejects untrusted URLs or missing/invalid digests; localized strings, progress display, failure fallback, and manual checks were added.
- Coverage and metadata — Added picker tests and updated changelogs and version metadata.
gpt-6-luna | 𝕏
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Important
The timeout fix still does not guarantee that the installer process tree has exited before another attempt is allowed.
Reviewed changes This review covers the timeout handling added since the prior Pullfrog review.
- Terminated timed-out setup — The installer now attempts to kill its process tree on cancellation, waits for the setup process, and reports a timeout.
gpt-6-luna | 𝕏
…running Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes This review covers the retry guard added since the previous Pullfrog review.
- Blocked overlapping installs — Added a process-name check before starting another install so an active ControlFS setup, including Inno's extracted child, prevents a retry.
gpt-6-luna | 𝕏

What
When ControlFS isn't installed, pressing A on the "File explorer (ControlFS)" row of the session menu now downloads and installs it right there, instead of opening the releases page in the browser.
nextestudios/ControlFS(GitHub API), assetControlFS-Setup-x64.exe. New pureControlFsRelease.Pickdecides: drafts skipped, the setup must carry GitHub's SHA-256 digest and its URL must be underhttps://github.com/nextestudios/ControlFS/releases/download/. If the newest setup fails those checks nothing is installed (no fallback to an older one).ControlFsInstallerreuses the updater's download (stall timeout, progress) andUpdateIntegrity.VerifyFileAsync, then runs the Inno setup with/VERYSILENT /SUPPRESSMSGBOXES /NORESTART. ControlFS's installer is per user (PrivilegesRequired=lowest), so no UAC prompt, and it skips its own launch when silent. The downloaded file is deleted afterwards; 5 min timeout on the setup.Strings in the three catalogs, changelogs, manual checks in
docs/TESTING.md.Verification
ControlFsReleaseTests: newest release, drafts, missing/invalid digest, foreign URLs, odd JSON).docs/TESTING.md(1d).🤖 Generated with Claude Code