SteamPack 1.4.0 Preview 3
Pre-release
Pre-release
Control Center now follows the real state
This preview fixes the delay and mismatched Closed Lid indicators found during real use.
- Keep Awake and Closed Lid now retry their Control Center refresh independently. A rapid Closed Lid ON → OFF no longer cancels the Keep Awake refresh that is still needed.
- Startup refreshes both controls, so a cached pre-crash ON state cannot remain visible.
- State publication no longer removes files synchronously on the main thread. An expired OFF/OFF tombstone fails closed without the
unlinkfreeze observed in production. - Closed Lid permission now uses a numeric-UID v2 rule. It permits only the two exact
pmset disablesleepcommands, each with a one-second timeout, and preserves modified legacy rules for manual review. - Closed Lid verifies the live macOS
SleepDisabledstate after both enabling and disabling before it reports success or clears recovery ownership.
Verified
- Live Control Center transitions on macOS: normal changes converged in about 0.7 seconds; manual rapid-toggle behavior was responsive.
- Closed Lid OFF preserved Keep Awake ON; Keep Awake OFF restored normal sleep.
- Final safety check: Closed Lid OFF and
SleepDisabled=0. - 102 Swift tests, 10 sudoers installer tests, and 57 release-preflight tests passed.
- App and Control extension: version 1.4.0, build 9.
Control Center가 실제 상태를 바로 따라갑니다
실사용 중 발견된 Closed Lid 반응 지연과 표시 불일치를 수정했습니다.
- Keep Awake와 Closed Lid가 서로 독립적으로 Control Center 갱신을 재시도합니다. Closed Lid를 빠르게 켰다 꺼도 필요한 Keep Awake 갱신이 취소되지 않습니다.
- 시작할 때 두 컨트롤을 모두 갱신하므로, 비정상 종료 전에 남은 ON 표시가 계속 보이지 않습니다.
- 메인 스레드에서 상태 파일을 삭제하지 않고 만료된 OFF/OFF tombstone을 기록해, 실제 운영에서 관찰된
unlink멈춤을 피합니다. - Closed Lid 권한은 숫자 UID별 v2 규칙을 사용합니다. 정확한 두
pmset disablesleep명령만 각각 1초 timeout으로 허용하며, 수정된 구형 규칙은 수동 검토를 위해 보존합니다. - 켤 때와 끌 때 모두 macOS의 실제
SleepDisabled상태를 다시 확인한 뒤 성공으로 표시합니다.
검증
- macOS Control Center 일반 전환은 약 0.7초에 수렴했고, 빠른 수동 전환도 즉시 반응했습니다.
- Closed Lid를 꺼도 Keep Awake는 유지됐고, Keep Awake를 끄면 정상 잠자기로 돌아갔습니다.
- 최종 안전 상태: Closed Lid OFF,
SleepDisabled=0. - Swift 102개, sudoers installer 10개, release preflight 57개 테스트 통과.
- 앱과 Control extension: 1.4.0, build 9.
Distribution / 배포 형식
This is a source-only preview. No DMG is attached until Developer ID signing and Apple notarization are available. Follow the README to build locally.
Developer ID 서명과 Apple 공증 전에는 DMG를 배포하지 않습니다. README 안내에 따라 소스에서 로컬 빌드할 수 있습니다.