Repository navigation
Conversation
* feat(support): add GitHub Sponsors and Donate links to menu, About, website and README * docs(website): note the Chromium install for the social card renderer
…d release checks (#65) * build(release): stop bundling the helper executable and keep only its migration plist build-app.sh no longer copies or signs dilated-helper. package-release now requires the helper LaunchDaemon plist (so SMAppService can unregister the job older installs still have) and rejects a bundled executable. smoke-test --expect-no-helper checks lid-permission status and the deprecated helper status alias instead of the old helper setup path. * feat(closed-lid)!: drop the privileged helper and make the sudo rule the only path ClosedLidController always uses LocalClosedLidTransport and the DilatedLocalClosedLidTransport flag is gone. Settings always shows the PERMISSION group. dilated-helper, its XPC transport, SMAppService registration and code identity check are deleted; dilated helper status|setup|remove stay one release as deprecated lid-permission aliases. At launch HelperMigration unregisters a leftover helper through SMAppService, confirms launchd dropped the job, and reverts sleep through the sudo path when the old helper left it off with no Dilated session marker. It never blocks launch, and its result is saved for Settings (with a Restore normal sleep action when the revert fails). prepare-update and prepare-uninstall confirm sleep is back on before quitting. prepare-uninstall removes the sudoers rule only with --remove-lid-permission. Old helperWasApproved handoffs still decode and are ignored. * fix(closed-lid): retry helper migration at package prepare and surface leftovers on every launch * docs(closed-lid): describe the sudo rule, add zap stanza and update acceptance checks * test(closed-lid): use fixed safety readings in the package preparation test
…en it exits (#66) The app now rewrites a small heartbeat file on the service tick while a closed-lid session is active. The watchdog reverts through the existing path when the file stops changing for the lease plus 30s on its own monotonic clock. A resumed app sees its marker gone and ends the session instead of re-enabling.
Prerelease acceptance now needs a passed closed-lid check on macOS 26 or macOS 27, not both. GA still requires every check.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 35 minutes. View limit details
Walkthrough
Merge Risk:
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
…ate (#70) NSWindow.endSheet leaves the SwiftUI presentation state set, so the shortcut recorder sheet came straight back and prepare-update never finished quitting. Rebuild the settings page to clear sheet state, end any nested sheets, abort app-modal alerts, and exit the process if terminate hasn't completed within 5s of a successful prepare.
…k and arm forced exit before terminate (#71) The heartbeat tests relied on real wall-clock lease and poll intervals and flaked on a loaded runner. The watchdog now takes a monotonic clock and a poll ticker (defaults unchanged), so tests advance time and heartbeats in lockstep. PackageQuit schedules its forced exit before calling terminate(), which may not return under terminateLater.
Promotes beta.9, build 14. This is the first build where closed-lid mode uses a narrow sudoers rule for
pmset -a disablesleep 0|1instead of a root helper.dilated lid-permission install. A session marker and relaunch revert, plus a detached watchdog, restore sleep if Dilated exits or stops responding. The old helper is unregistered on first launch, and Amphetamine-style rules are recognized. Hardware runs on macOS 27.2 covered install, remove, and kill -9 recovery in about 1s (feat(closed-lid): install, detect and remove the pmset sudo rule #58, feat(closed-lid): crash revert, permission settings and CLI for the sudo rule #60, feat(closed-lid): replace the root helper with the sudo rule, docs and release checks #65, fix(closed-lid): restore sleep when Dilated stops responding #66).Every PR passed CI on macOS 26. Packaging, notarization and the attended acceptance run on the signed build follow the tag.
Summary by CodeRabbit